home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Disc 52
/
Commodore_Disc_52_19xx_-_de.d64
/
letter-maker
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
6KB
|
200 lines
10 rem ********************************
20 rem * *
30 rem * letter-maker *
40 rem * -------------- *
50 rem * *
60 rem * (c) 91 by reinhard holler *
70 rem * *
80 rem * muenchen *
90 rem ********************************
95 ifpeek(772)=124then97
96 ca=2599:bp=2598:bz=2600:nx=208:goto100
97 ca=204:bp=207:bz=205:nx=198
100 poke53281,6:poke53280,6:printchr$(14)"[147]":a=1:da=100:n$="lm-letter"
110 print"[147]****************************************";:poke53280,6
120 print"* *";
130 print"* [176][177][177][177][177][177][177][177][177][177][177][177][177][177][177][174] *";
140 print"* [179] letter-maker [171] *";
150 print"* [173][178][178][178][178][178][178][178][178][178][178][178][178][178][178][189] *";
160 print"* *";
170 print"* (c) 1991 by reinhard holler *";
180 print"* *";
190 print"* muenchen *";
200 print"* *";
210 print"****************************************";
220 goto 530
230 print""spc(12)"[153]brief erstellen"
240 print""spc(14)"[154]brief lesen"
250 print""spc(15)"[154]parameter"
260 print""spc(15)"[154]anleitung"
270 print""spc(17)"[154]ende!"
280 return
290 print""spc(12)"[154]brief erstellen"
300 print""spc(14)"[153]brief lesen"
310 print""spc(15)"[154]parameter"
320 print""spc(15)"[154]anleitung"
330 print""spc(17)"[154]ende!"
340 return
350 print""spc(12)"[154]brief erstellen"
360 print""spc(14)"[154]brief lesen"
370 print""spc(15)"[153]parameter"
380 print""spc(15)"[154]anleitung"
390 print""spc(17)"[154]ende!"
400 return
410 print""spc(12)"[154]brief erstellen"
420 print""spc(14)"[154]brief lesen"
430 print""spc(15)"[154]parameter"
440 print""spc(15)"[153]anleitung"
450 print""spc(17)"[154]ende!"
460 return
470 print""spc(12)"[154]brief erstellen"
480 print""spc(14)"[154]brief lesen"
490 print""spc(15)"[154]parameter"
500 print""spc(15)"[154]anleitung"
510 print""spc(17)"[153]ende!"
520 return
530 iffs=0thenfs=1:gosub 230
540 iffs=1andft=1 thenft=0:gosub 350
550 geta$:ifa$<>""anda$<>"[145]"anda$<>chr$(13)then550
560 if a$=""thena=a+1:goto590
570 if a$="[145]"thena=a-1:goto590
580 if a$=chr$(13)then670
590 if a=1 then gosub 230
600 if a=2 then gosub 290
610 if a=3 then gosub 350
620 if a=4 then gosub 410
630 if a=5 then gosub 470
640 if a>5 then a=1:gosub 230
650 if a<1 then a=5:gosub 470
660 goto 550
670 if a=1 then 750
680 if a=2 then 850
690 if a=3 then gosub 910
700 if a=4 then gosub 1270
710 input"[147]sicher beenden (j/n)";a$
720 if a$="j"then end
730 if a$="n"then a=1:fs=0:goto110
740 goto710
750 ti$="000000":open15,8,15,"s:"+n$:close15
760 open8,8,8,n$+",s,w":print"[147]"chr$(14);:poke53280,11
770 pokeca,0
780 geta$:ifa$=""then780
790 pokeca,1:ifpeek(bp)=0then820
800 pokebz,1:pokeca,0
810 ifpeek(bp)then810
815 pokeca,1
820 ifasc(a$)=15thena$=chr$(142)
821 printa$;:print#8,a$;
830 ifa$="_"thenclose8:fs=0:goto110
840 goto770
850 open8,8,8,n$:print"[147]"chr$(14);
860 get#8,a$:ifa$="_"thengoto 880
861 ifa$=chr$(16)thenpokenx,0:goto873
870 printa$;:fori=0toda:next
871 geta$:ifa$=""then860
872 ifa$="_"then880
873 geta$:ifa$=""then873
874 ifa$="_"then880
875 goto860
880 close8
890 geta$:ifa$=""then890
900 fs=0:a=1:goto110
910 print"[147]****************************************";
920 print"* *";
930 print"* parametermenue *";
940 print"* *";
950 print"****************************************";
960 pm=1:ft=1:gosub1110
970 geta$:ifa$<>""anda$<>"[145]"anda$<>chr$(13)then970
980 ifa$=""thenpm=pm+1:goto 1010
990 ifa$="[145]"thenpm=pm-1:goto 1010
1000 ifa$=chr$(13)then 1070
1010 ifpm=1thengosub 1110
1020 ifpm=2thengosub 1150
1030 ifpm=3thengosub 1190
1040 ifpm>3thenpm=1:gosub1110
1050 ifpm<1thenpm=3:gosub1190
1060 goto970
1070 ifpm=1thengoto 1230
1080 ifpm=2then1250
1090 ifpm=3then110
1100 goto970
1110 print""spc(15)"[153]briefname"
1120 print""spc(10)"[154]lesegeschwindigkeit"
1130 print""spc(15)"[154]hauptmenue"
1140 return
1150 print""spc(15)"[154]briefname"
1160 print""spc(10)"[153]lesegeschwindigkeit"
1170 print""spc(15)"[154]hauptmenue"
1180 return
1190 print""spc(15)"[154]briefname"
1200 print""spc(10)"[154]lesegeschwindigkeit"
1210 print""spc(15)"[153]hauptmenue"
1220 return
1230 print"":input"briefname";n$
1240 print"[154]":goto 910
1250 print"":input"lesegeschwindigkeit (1=sehr schnell, 200=langsam)";da
1260 goto 910
1270 print"[147][145]****************************************";
1280 print"* *";
1290 print"* anleitung *";
1300 print"* *";
1310 print"****************************************";
1320 print"[153]1. brief erstellen[154]"
1330 print"hier kann ein neuer brief geschrieben"
1340 print"werden. der name des briefes muess je-"
1350 print"doch vor starten dieses menuepunktes im"
1360 print"parametermenue festgelegt werden. es ist"
1370 print"zu beachten, dass 1. keine anfuehhrungs-"
1380 print"zeichen eingegeben werden koennen, und"
1390 print"2. das cursorblinken aus programmtech-"
1400 gosub 1860
1410 print"[147]nischen gruenden einige negative merkma-"
1420 print"le aufweist, die aber im fertigen brief"
1430 print"nicht mehr zu sehen sind. wenn man "
1440 print"naemlich den cursor mit den cursortasten"
1450 print"bewegt, so nehmen die zeichen unter dem"
1460 print"blinkcursor diesen auf dem bildschirm"
1470 print"auf. das heisst, das der zu schreibende"
1480 print"brief durch cursor-bewegungen etwas ver-"
1490 print"unstaltet wird. wie gesagt, das sieht"
1500 print"nur auf dem bildschirm so aus. aber es"
1510 print"ist doch bestimmt besser, man hat beim"
1520 gosub 1860
1530 print"[147]schreiben einen optisch nicht perfekten"
1540 print"bildschirm, als keinen cursor, der einem"
1550 print"die aktuelle position verraet."
1560 print"[153]2. brief lesen[154]"
1570 print"durch anwaehlen dieses menuepunktes wird"
1580 print"ein fertiger brief, dessen name im para-"
1590 print"metermenue festgelegt wird, gelesen."
1600 print"ist der text zu ende, so kommt man mit"
1610 print"einer beliebigen taste wieder ins haupt-"
1620 print"menue zurueck."
1630 gosub 1860
1640 print"[147][153]3. parameter[154]"
1650 print"in diesem menue werden der name des zu"
1660 print"schreibenden [150]und[154] zu lesenden briefes"
1670 print"festgelegt. ausserdem kann man hier die"
1680 print"geschwindigkeit, mit der der brief gele-"
1690 print"sen wird, veraendern."
1700 print"was es mit der [153]anleitung[154] auf sich hat,"
1710 print"duerfte klar sein."
1720 print"ein demotext, der alle moeglichkeiten"
1730 print"zeigt, ist unter dem namen [150]lmd[154] auf der"
1740 print"diskette enthalten."
1750 gosub 1860
1760 print"[147][153]uebrigens:[154] wenn man einen neuen brief"
1770 print"schreibt, darf auf der disk kein eintrag"
1780 print"mit dem im parametermenue gewaehlten na-"
1790 print"men enthalten sein. sonst wird dieser"
1800 print"geloescht!!! ausserdem sollte man nach"
1810 print"der eingabe des ersten buchstabens im"
1820 print"brief ein bisschen warten."
1830 print"und nun viel spass mit dem letter-maker."
1840 gosub 1860
1850 fs=0:a=1:goto110
1860 print" >space< druecken![145]"
1870 gett$:ift$<>chr$(32)then1870
1880 return