69 lines
1.9 KiB
QBasic
69 lines
1.9 KiB
QBasic
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
|
|
31 REM i ist aktuelle Folie
|
|
32 REM max ist die letzte Folie (max. Folienzahl)
|
|
40 I=0
|
|
41 C=0
|
|
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
|
|
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
|
|
1000 REM Fehlerbehandlung hier: Wenn Datei nicht gefunden
|
|
1001 REM ----------
|
|
1010 IF ERR=53 THEN GOTO 1100
|
|
1020 IF ERR=53 THEN RESUME 500
|
|
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
|