From 7ed358d781fa3dec77ead0dfef8e0621e8254937 Mon Sep 17 00:00:00 2001 From: acn Date: Mon, 22 Apr 2019 16:18:49 +0200 Subject: [PATCH] =?UTF-8?q?CBASIC-Version=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 21 +++++++++++---- cbasic/czpoint.bas | 66 +++++++++++++++++++++++++++++++++++++++++++++ cbasic/czpoint.com | Bin 0 -> 10813 bytes mbasic/zpointa.bas | 3 --- 4 files changed, 82 insertions(+), 8 deletions(-) create mode 100644 cbasic/czpoint.bas create mode 100644 cbasic/czpoint.com 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 0000000000000000000000000000000000000000..5b2b3150b3b24a9cc8b96251f17956a4cf672a0a GIT binary patch literal 10813 zcmeHteRvzymG{Wjhb>DZ%kq~b$JS_KTfUPIqs9qQY~{di?3u#MVJ~o>|vuxRYS>El^T}*&Pd7zs{GjXb!W!OlI1CPs6gpo@+K;pb>6Vjl( zzdLe5!n56dp8ezfYyH@F?wot>Ip>~p?m73KvGkDP0%N+Rc}4RzOyMoT>zKmL8=4v8 zqD?n%VhT2InCtzAK+7$`mKDod=)C588N*`6ATWl7jG>t^Y-bGDGX>opjHPqSx9{1q z!^c>CcirdPyydQYw)hyk?;GE_bL*A|c5HcI%YBQS#{=ruja;F@f3C@&YoeX=O&r7c zj|XU*4sc#Zy}QBrRzO|YK;8;yoY9~T*K6p~2UkMhoG0|rbiiq4cJ3M8cV^bWO$5}0 zS?z0dmg@Lig^u_RMdYlEYAB)@<(3Jq;7e3*9<}Z=)K3f52_tzYkcBi^&Y=H=88tW$ zef4>sws}(PEtJl`m?hOfAkHggb6h^4T++J>ICSy?)#tg8%edqP(orW~z6`ZFkGkYC zR4PKYKwVt>$AoID<$fPfzsnJ{M_tnKg1n@IIdLWkGu!}nh{{MzNi*XzSSE`(C4`o5gE zNgsF?O6S$LjXJ3w9rW@X=*t<i;(RuQeu8eY_{?vWveq%0%BpvV@&uB(k3&GAY1c z5xJ*)oC4xKO#zQ?35n6etsJyG5TRb}!|Ue5CT{rrxM8%p41Zj-TvSH?_+?k>q<5;}$T zbc$}G1?IdoG5*eNuPV2ihxQIWlU`sR*NW+IMiXx}$I5sY{=6~%!S2`(BGR9lcb2(^ z%e)|w9p`xnnTvKF8hl>mwigdM|Dv}D= zRr&3|;mF)m%lH=%4e_2VAX!QUJNVO)sGLa+P3`I(KbcBoGMRDs{6IV@oaNzsF2Y)} zW6r%nvY4nh*`0Q;dw6QsR{vt6aR|vjv4?+p%+R>-%s&<-GEv?xK2{W76)Yj6K`T+O zu^GH%Ont+ak-%}Iv7Vf55UZtOS+yrpj}okpw7<~+*JRS8s)(GtY$0QC}xkaP} zFkW0|O;Dri>fk(7+R>=6wA5@Cq9*YrD@@o5+n+XccOp_jo7Sn37o%8(@@Ppf59~e1 zR-b#aBpNQo3JMX;7r;+=V!i;4g1#}lFRx1Wr!J`OhxwQPZWjc!M;fCOr>r2Y!JvHX zP1uCvNo*tv_i9rHN~j`>7`502T|#lvC%UPBYrC{a*xb;*8H+iw`pjYLC>AI8>n2oQ zD0%A1?x&xOggXJmbf<;c0hJ#px$6$Lv`OQth`BKKIDEh)9xKu8;;%~J8nCeSU=msp z4vXhYpcww}N^!P?voOW*t0Xj5_hQvVfo-%+4nMeCHUQqY={B$D#i`RTQVT`Bf?Z^7 zvEBHI(!B|PW-XCR<7L#L7uh^hr(dGzWpc<(a;3-P%AeZcaC1v7AuXr3%bc4ytBKj- zi3(nm_-D30$kx(w<{Dd{Y;Y6n;UhxHf6~a-W2Q#wMVs~5hQ=^caJWg~a9liLE07NqK;%MzVg-ERfA&Y0miNH_y48bWY-(3-b$W#zdt~vk z?&Fa<_*|DA3A|10wD&uXhfnkWCn^uWHgT(6Lo#BR{`k?Y_JO9V^u2aB+WYl(KyP>H z?ZbNesNOzF+v9E-r;tZWhF_R@;rzH=8;+w@-nE-c2jk*F`zvQYviBPpW~OPNs=L1` zGO(wA-^81CJiGbnHt{w4^y#PeZhL0$R@q#%W!uYi#<_#`r<$r>pP07qftQ@LcT4|j zPo%~WQ}4J-hK$%w@#KlsXIs0?H#*&9eA8`BP41?COC;qZQWV7%`Qe+=|^k>1K{*=Y25C-$EEp$B;!9D$oS6%G@Omexj>ej4P>QP z*}2h6i8O(NR9m0nfi8*#O*hyG}^ixM}p}08@ zS2j9wi^2;rh$Gqx1ei|J4Fvr~0;^l!_@q33bagq{fkUv3um#e9BkZF+#zuwUm3~KV zf%upsd?DCDq<#n2Nw((}v5fcv1+@?z2`@J3XAW)|+0HV#+r@vP?AZ&_OAc;1&=-nt zQsh>O9A;^t*+?@OY}y?ct);=MNiam54h9jL#*I%Lp-!mk5018An1oi4c-RLSrH@K! zU#Tipx0h3`EGKa;M3yq*&eDMst0Kx(rRi0ri(8|kpcm08tSvQ4Ybp6q2PWQ9+7IE3 z6E~NhD6~mkr2``r>k05U^YhYhJxGpXiBJ;+r2-zZN&QY>P;y}KL=@~bu9Y0r!i@Ml zl_Jb2&zCOYt|l$5RMM*n6!1ud3ML*d4TVT||C5pa9Gm{A)ZigKE9+WI+Qfe@9dx|= zH?~2?TR*qyX+!y_RDI4Wz3B*rF|X1YY9-tXa!|a^2@cA2PLPd@TS_5Fu3%zIX?P(7 zm9BF}LT#kGCr1?GgvSskJHOI*aq0?v>I!GKN$GSBQv4Op0je^p)>F=$LHsu-)g^sk zn~0~J5_;HSV!t!&17f&YLSv(rLNfTd4FYmYNG!M%>Ymen2|2L}R)c-bOwK;>va?m$ z?~H~G(jljDDFegwL2rwXIYzn>zeer$gS>LoX+v5~J8c8OWu(pW>|(kTu)1*b8xZl7 zQ+4ZhMLMD?J$U9MUAwweHw)K7Vvg{lcd>{i1TTvZDmRtsnqFQ8O-Dk@$f5LAWsy-S zSoQ?S_hTLsTU^;t2BWl`yQwTsT>|H>Y@SSxYR=`p)#1EpBBO zMySgA*~PXK)-xkz$E^AH*=DN9R!sievb-ur;VQZmSu(yBx9E2lE+Nvh<4YdC~*U# zgnu>B{3{6!7K@b@SB_KKUAYFO%XP(Gu5zjM71(TXg>mH;i!F1n(y21lQ=vp$s41XxHyhYHamba-s((jk}n8<#Yyw~xEHtH|Nx46xdcKJJ?Lc30OF*Z#CUKEUXN12YT93o&PpIB1^9yuyCOlE)l+oX6ZS*!E206?rA$gCBO?ysRC?7$>~t77>NPpXLCc+FJ(ZDT z*)c51%oIlx8C$uGp}Xl&YDY%C>)yT{+xk%Ez3aZd?>yjJ=-aVn%Y6@Q*R1DE|&VLaM6uouH<7EF>4xd1p)CrbkDWob`Zo;ib>NO3tf}t*SLWn>bRd%|J9)9nGVYn$ zhOhbm%6rEcbDBH{6g?yG7$Ve8D)#;-F#!Uz_QwC@Ovcq2vK*tVf}Ab=LBW2 z8os}?Iy^E5ZUzJyZjty8)uHc^x{08BG3E^9Sn*Ufoz^TqR2_PRv;ke(SDounW~y^r z(5QRdX{j1`Nh#=#jP6%5)%MWC!~!YO|5n{kw?~(|WH*V*qro5Q ztIlfhK1xtf?sj8^_qpNHKP1xKZVi@cYAWuA+h}=$>0Wo}huAC+xd#{b3@z?;>DCW@ zAMvvd3XJhG!f7tF@|`J%jG7s$r?m2=O?b?>6(D!f4!4=Cw{15waL(e}D;c<@TZ1ujT_mU&LH0fqtTzf}WO}P`TN3gXgET-W&5`&@RX1EGl%B}5? zK6SH|Qp(M8z>?l|v;MiKhi0hP&F@fpLDV!P-a{#@@gSJ)@UU*Mn?XD$BdY-)2}k{)oO1SnM2*m^*L(@Nh!6Ulh=_9%Z-^zyYL(D~1jurqj`#0TqohU$8` z^Q1*N?jdJUaq$%A?+-vB=g3_D9Fd;$;8g=kdzZfY6^vU}Cp`Z55kz^9bA%!96ZhPk zVa<93LyIXqvNy~;1ASz}mZmn5^%_<%#aUWe#&TCMW~Pt#4!$DtUbVxUD1p4i{w(qT zj%0QQHKK0zN*{O(9}udW`HZ_3H%?k9x!x-q<}(x-W3@JGlmhSc%1DJB-i-QpUgwX9 zJH{V0w0F|%2Sja$aDT@C0SRfOP2B8-Xq&yPj}SNSQsu@>f_tQ-+MFtr~=t*T%KIW zE81&JCeKt|&YAwOChBtWY|&`2PEa4OF)87iiG~{7_4KYMx5y>>YuLiehVA0lYBG6$ z^j{#HLGXV;`g67E$r@VjGKrgN`q-zPUl14@ell4@*T_{f2xVM|ac66baPN=K6NhRt zCw$7IHQ|w{6s`%?366<_HQ*;cSA#(EOwBSG>GPL0p;>}^S^AeX*jaVL(v`e1F6Zu; zNY> z)Cy107z@A9$nVI`J>A3mB86I|XNR5?tLMppY9vc|TJe4dmY0J*K|SZmq!N=^b(op-e&!P$hkRv^qhne#*HQ-?#*kP^8UsE{UsdL-l zJz`kI6eB4}mU&tAvzi2@`^vojIJObIMHl>4;=Y}~bNCfQcL#jIBHQMsjSt7gBfCR#Zil5u`VSfQdv){nCF@?bal`fR|E>&?BTqIR|yqQrrjSQ z1o1ZwzGCRS5rSygG*mu{0kGyjP2lk41LFU8LaV_3GlcG!4^goD!|X_b#WJy{79MZd zxTa0qUT@fVqqMyqXTobYD%u!%L&1COrrX2eg(T%7+}0-3`F z2cytHkP}pwCoVo)$8kc7vcFFK*dsk!7y6LQmIgm0pd!#ES?1-}rZ4tXR93lp=~NvQ zL8DxjsNbeD9FDiXT?e0ydp6*26r_Lh1)GF?e>B)2 zgqnaazUI@{BFaALb2=5X4l5s0hSNUMC`5V81d&*4v{n2&pUQF4U+Em^IO;4JI!%`a zqF|Kx^K_3OvEIbrj_+slxU4&t$=StuocDfV2M}arc08cEW)3)fmNW>c>yP8Z8BG!M zh13rI{zOXZ<~)4m*$k8Ce+IKZK(*S~LnLQ%P~%y<@vmM|)lO4F3Y z;RU}Sqqh2RI;1Tj-O;Isas`GSy8mXV&t`QG9@^VG z_)O1`Ww5GsM)kr?ulK`0QEj}+52R^J+A@#2@)sz5Qm;8fJ}0N?-LAa{bWTQa|8?|F z^!anXFR5B%icDME+7(GeV|BR}PbgTd4DJ_tcZ!~=e~G&T<1GWd#D(kE<(NYhcu z&2TU(r?koO%Xalnwa<^WP<|7W{;)rb_l&d8uO6g#V@KHk7RHUd^ILxPC3dd!=k$8+ z2ro$Y`DJ}#4gW_bwq2Z<@8}aj-0|+$D)iMT-{1v7x|Pr3ZVtY%xVVX@H+etI3n9K% z0oksI0{O3>SdoA=>wEf(=oJd==tNLGi8!03fi|BX5Np@osPxySek)a0;QPH*DN*2C`$?hOg(JIMhxZ5##l9v87o^soMjIlsb@aGU~4b^p7+P zGX2u~x#5OC0hR1Hid@bHL?~|qrIRN&u&1|wU(YLIV?zp8%Gr9&b6A|Mcj>2^ll7_0 z%=jF&X{DrL!rm}DB9H2yf#jsUGiad@Y{7xo#pMnCuO)@-xOymndYZDn zA!d2&?M56!qk3Gzg%vcu)qu<~Ntwuo)obZ;vs@wlzY8aP2g}+n2r{|WC?~Yc*r3I5 z!wvKVj*0YhMtWbvhOcMG@h<{2#s+mgtXW4Dp|3wE(5nz|#{@xVfK$npBoH(s6MtwZ zzC>fmS7|H}nVRs7fq+TrLoZK zPU&*4X{2)EUoNPeOTWrvsUTxrSUL5~r9wvPX_WO!@72O+G>DSL-!>u);oC+7lQ(%H z+mFK{Y6H&C19Y*Ws|8x{MA$?oT!NdP8=scwB@pV?l|0^9>8brjY|m@yH=+ODsBYe) zjTsrzqFjL@0tBO81np%hMJPQn>0coX$Ilc7#`4k~(CbXgh0Iu1xg~&^XtQH?+=b6M zbDp?dUs)nW>lGcSsc2+{pyjVcp@4Ktpm2N)#3>Xp57f0pO6<(rYB{x4dlywGt?KQU z2k8p$=jHym@}s~QyGng7U=nu)5(E2_Q-#Vifw8%-<$C~{I-jho)8FZp;^LoOd@k@u Tug3X*Klq>ae>Cv_K?DB} literal 0 HcmV?d00001 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