1
0
zpoint/zpointa.bas

69 lines
1.9 KiB
QBasic
Raw Normal View History

2019-01-30 16:04:53 +01:00
10 REM ZPoint
11 REM ----------- (c) 2019 Anna Christina Nass <acn@acn.wtf>
12 REM Zeigt Dateien mit dem Namensschema ZPxx.TXT an
13 REM Navigation mit + und -, mit 1 zurueck zum Anfang
14 REM -----------
30 DEFINT I,C
2019-01-30 16:04:53 +01:00
31 REM i ist aktuelle Folie
32 REM max ist die letzte Folie (max. Folienzahl)
2019-01-30 16:04:53 +01:00
40 I=0
41 C=0
2019-01-30 16:04:53 +01:00
50 BELL$=CHR$(7)
51 ESC$=CHR$(27)
52 CLS$=ESC$+"[2J"+ESC$+"[0;0H"
60 REM Pruefe, wie viele Dateien es gibt
70 GOTO 2000
2019-01-30 16:04:53 +01:00
100 REM ---START Schleife
101 PRINT CLS$
110 IF I<10 THEN F$="ZP0"+MID$(STR$(I),2,1)+".TXT"
120 IF I>=10 THEN F$="ZP"+MID$(STR$(I),2,2)+".TXT"
130 ON ERROR GOTO 1000
140 OPEN "i",1,F$
150 ON ERROR GOTO 0
160 WHILE NOT EOF(1)
170 LINE INPUT #1,L$
180 PRINT L$
190 WEND
200 CLOSE 1
300 REM ----Foliennummer anzeigen
310 PRINT ESC$+"[24;0H"+ESC$+"0m"+STR$(I)+"/"+STR$(MAX)+" +-0q >";
500 REM ----Tastendruecke verarbeiten
510 K$=INPUT$(1)
520 IF K$="+" THEN I=I+1
530 IF K$="-" THEN I=I-1
540 IF K$="0" THEN I=0
550 IF K$="q" THEN SYSTEM
551 IF K$="Q" THEN SYSTEM
560 IF I<0 THEN I=MAX
570 GOTO 100
580 REM ---ENDE Schleife
2019-01-30 16:04:53 +01:00
1000 REM Fehlerbehandlung hier: Wenn Datei nicht gefunden
1001 REM ----------
2019-01-30 16:04:53 +01:00
1010 IF ERR=53 THEN GOTO 1100
1020 IF ERR=53 THEN RESUME 500
2019-01-30 16:04:53 +01:00
1030 PRINT "Error"+STR$(ERR)+" in Zeile "+STR$(ERL)
1040 END
1100 PRINT BELL$
1110 I=0
1120 RESUME 100
2000 REM Durchzaehlen, welche Dateien vorhanden sind
2001 REM um Wraparound moeglich zu machen
2010 REM ---- Schleifenbeginn
2019 PRINT C
2020 IF C<10 THEN F$="ZP0"+MID$(STR$(C),2,1)+".TXT"
2030 IF C>=10 THEN F$="ZP"+MID$(STR$(C),2,2)+".TXT"
2040 ON ERROR GOTO 2500
2050 OPEN "i",1,F$
2060 CLOSE 1
2070 ON ERROR GOTO 0
2080 C=C+1
2090 GOTO 2010
2110 REM ----ENDE Schleife
2500 REM Fehlerbehandlung zur Bestimmung der
2501 REM max. Dateizahl
2502 REM ----------
2510 IF ERR<>53 GOTO 1030
2511 REM - bei anderem Fehler diesen anzeigen und dann beenden
2520 MAX=C-1
2530 RESUME 100