66 lines
1.4 KiB
QBasic
66 lines
1.4 KiB
QBasic
REM CZPoint - CBasic ZPoint
|
|
REM ----------- (c) 2019 Anna Christina Nass <acn@acn.wtf>
|
|
REM Zeigt Dateien mit dem Namensschema ZPxx.TXT an
|
|
REM Navigation mit + und -, mit 1 zurueck zum Anfang
|
|
|
|
REM i% ist aktuelle Folie
|
|
REM c% ist die letzte Folie (max. Folienzahl)
|
|
LET I%=0
|
|
LET C%=0
|
|
REM ANSI-Escape-Sequenzen zur spaeteren Benutzung:
|
|
LET ESC$=CHR$(27)
|
|
LET CLS$=ESC$+"[0;0H"+ESC$+"[2J"
|
|
|
|
REM Durchzaehlen, welche Dateien vorhanden sind
|
|
REM um Wraparound moeglich zu machen
|
|
ZAEHL:
|
|
IF C%<10 THEN F$="ZP0"+STR$(C)+".TXT"
|
|
IF C>=10 THEN F$="ZP"+STR$(C)+".TXT"
|
|
ON ERROR GOTO ZERR
|
|
OPEN F$ AS 1
|
|
CLOSE 1
|
|
LET C=C+1
|
|
GOTO ZAEHL
|
|
|
|
REM ---- Folie laden und anzeigen
|
|
WEITER:
|
|
PRINT CLS$;
|
|
IF I<10 THEN F$="ZP0"+STR$(I)+".TXT"
|
|
IF I>=10 THEN F$="ZP"+STR$(I)+".TXT"
|
|
IF END #1 THEN DEND
|
|
OPEN F$ AS 1
|
|
LESEN:
|
|
READ #1; LINE L$
|
|
PRINT L$
|
|
GOTO LESEN
|
|
|
|
DEND:
|
|
CLOSE 1
|
|
|
|
REM ----Foliennummer anzeigen
|
|
PRINT ESC$+"[25;75H"+ESC$+"[0m"+STR$(I)+"/"+STR$(C);
|
|
|
|
REM ----Tastendruecke verarbeiten
|
|
LET K$=CHR$(INKEY)
|
|
IF K$="+" THEN I=I+1
|
|
IF K$="-" THEN I=I-1
|
|
IF K$="0" THEN I=0
|
|
IF K$="q" THEN STOP
|
|
IF K$="Q" THEN STOP
|
|
IF I<0 THEN I=C
|
|
IF I=C+1 THEN I=0
|
|
GOTO WEITER
|
|
|
|
REM ---ENDE Schleife
|
|
|
|
REM Fehlerbehandlung zur Bestimmung der max. Dateizahl
|
|
REM ----------
|
|
ZERR:
|
|
IF ERR<>"OE" THEN GOTO OERR
|
|
LET C=C-1
|
|
REM die Datei C-1 existierte noch, das ist die hoechste
|
|
GOTO WEITER
|
|
|
|
OERR:
|
|
PRINT "Fehler "+ERR+" in Zeile "+STR$(ERL)+" aufgetreten."
|
|
STOP |