diff --git a/README.md b/README.md index 4ff96e7..1569945 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,26 @@ # ZPoint -ZPoint ist ein sehr(!) simples "Präsentationsprogramm" für Microsoft BASIC. +ZPoint ist ein simples "Präsentationsprogramm" für CP/M. Ich habe es entwickelt, um eine Reihe von Textdateien als eine Art Präsentation darzustellen. Die Dateien müssen mit den Dateinamen ``ZPxx.TXT`` im gleichen Verzeichnis -wie ``zpoint.bas`` vorliegen, wobei ``xx`` eine fortlaufende Numerierung ist, +wie ZPoint vorliegen, wobei ``xx`` eine fortlaufende Numerierung ist, die bei 00 beginnt. +Es gibt zwei Versionen, einmal für Microsoft BASIC und einmal für CBASIC. +Die CBASIC-Version läßt sich mit CB80 compilieren und liegt anschließend als .com-Datei vor. + ## Programmstart und Bedienung -``mbasic zpoint`` +``mbasic zpoint`` bzw. ``czpoint`` Nachdem ZPoint gestartet wurde, zeigt es sofort die erste Datei (``ZP00.TXT``) an. -In Zeile 24 wird die aktuelle Foliennummer in der Form "1/10" angezeigt sowie -ein "Prompt", der kurz die möglichen Tasten angibt: +In Zeile 24 wird die aktuelle Foliennummer in der Form "1/10" angezeigt. + +Folgende Eingaben sind möglich: * ``+`` lädt die nächste Datei * ``-`` lädt die vorige Datei @@ -35,3 +39,10 @@ eine "Lücke" in der Numerierung ist, wird die letzte existierende Datei als hö ``zpoint.bas`` ist die per SAVE abgespeicherte (tokenized) Datei des Programms ``zpointa.bas`` ist identisch, aber als ASCII-Datei abgespeichert (SAVE"ZPOINT",A) +``czpoint.bas`` CBASIC-Quellcode +``czpoint.com`` compilierte CBASIC-Version + +## CBASIC-Version compilieren + +--TODO-- + diff --git a/cbasic/czpoint.bas b/cbasic/czpoint.bas new file mode 100644 index 0000000..189bb8a --- /dev/null +++ b/cbasic/czpoint.bas @@ -0,0 +1,66 @@ +REM CZPoint - CBasic ZPoint +REM ----------- (c) 2019 Anna Christina Nass +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 \ No newline at end of file diff --git a/cbasic/czpoint.com b/cbasic/czpoint.com new file mode 100644 index 0000000..5b2b315 Binary files /dev/null and b/cbasic/czpoint.com differ diff --git a/mbasic/zpointa.bas b/mbasic/zpointa.bas index 884bb09..7499bef 100644 --- a/mbasic/zpointa.bas +++ b/mbasic/zpointa.bas @@ -55,6 +55,3 @@ 1030 RESUME 200 1100 PRINT "Fehler"+STR$(ERR)+" in Zeile"+STR$(ERL) 1110 END -tei C-1 existierte noch, das ist die hoechste -1030 RESUME 200 -1100 PRINT "Fehler"+STR$(ERR) \ No newline at end of file