home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power Pack
/
Power_Pack_3_1992_Alfons_Mittelmeyer_de.d64
/
dubbledate
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
9KB
|
319 lines
10 rem dubbledate
20 rem (c) butcher
25 poke650,128
30 poke53280,15:poke53281,15:printchr$(147)chr$(14)chr$(8):gosub5300:gosub490
100 rn$=chr$(018):rf$=chr$(146)
101 cl$=chr$(147):s1$=chr$(032)
102 sl$=chr$(014):dc$=chr$(008)
103 he$=chr$(019):c4$=chr$(017)
104 d2$=c4$+c4$:d3$=d2$+c4$
105 d4$=d3$+c4$:d5$=d4$+c4$
106 a2$=s1$+s1$:a3$=a2$+s1$
107 a4$=a3$+s1$:a5$=a4$+s1$
108 c3$=chr$(029):w2$=c3$+c3$
109 w3$=w2$+c3$:w4$=w3$+c3$
110 w5$=w4$+c3$:c2$=chr$(145)
111 c1$=chr$(157):v2$=c1$+c1$
112 v3$=v2$+c1$:v4$=v3$+c1$
120 ec$=chr$(009):su$=chr$(142)
410 goto680
490 poke646,0
500 lz$=" "
510 ln$="[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
520 n=300:dima$(n),sb$(n),z(n):return
630 poke198,0:wait198,1
650 rem===================
660 rem= eingabe/ausgabe =
670 rem===================
680 printcl$
690 gosub2220:gosub1020:gosub1470
700 geteg$
710 ifeg$="n"then810
711 ifeg$="x"then4000
720 ifeg$="p"then1580
730 ifeg$="b"then1250
740 ifeg$="d"then1310
750 ifeg$="a"then1880
760 ifeg$="e"thenend
770 ifeg$="l"then2090
780 ifeg$="s"then1140
790 ifeg$="u"then2280
791 ifeg$="c"thenprintchr$(147):sys828:poke198,0:wait198,1:goto680
800 goto700
810 printcl$;:gosub1000
820 printtab(15)rn$"[206]eueingabe"rf$:gosub1000:gosub1010
830 printtab(1);:printc4$s1$;:input"[196]ateiname ";cm$
840 gosub1000:gosub850:goto1050
850 print:ze=1
860 printtab(2);:poke631,34:poke198,1:poke19,64
870 inputa$(ze):poke19,0:printchr$(13);
880 tl=ze/15:fori=1to40
890 iftl=ithengosub970
900 next
910 ifa$(ze)=chr$(42)thenreturn
920 ze=ze+1:poke198,0
930 goto860
940 rem====================
950 rem= unterprogramme =
960 rem====================
970 poke211,0:poke214,8:sys58640
980 fori=0to15:printlz$:next:poke211,0:poke214,8:sys58640:return
990 printtab(5)c4$rn$str$(a)b$str$(c)str$(d)rf$:return
1000 printtab(1);:fori=0to35:printchr$(96);:next:printchr$(96):return
1010 printtab(2)c4$rn$a5$a3$"[197]ingabe beenden mit *"a5$rf$:return
1020 printhe$c4$tab(2)rn$a5$a5$a3$"[205][160][197][160][206][160][213] [197]"a5$a5$a3$rf$:gosub1000:return
1030 fori=1toze:ifze<1then2050:next
1040 return
1050 print:printtab(2)c4$rn$s1$"[196]aten speichern (j/n)"a5$a4$rf$
1060 printtab(2)c4$"[198]alls noetig, [196]aten-[196]isk einlegen!"
1070 geteg$
1080 ifeg$="j"then1140
1090 ifeg$="n"then680
1100 goto1070
1110 rem============================
1120 rem= daten speichern =
1130 rem============================
1140 printcl$c4$rn$s1$"[196]aten speichern:"a5$a5$a5$a4$rf$:print
1150 print"[198]ile-[206]ame: ";cm$
1160 print:printcm$" wird jetzt abgespeichert.":print"[194]itte warten.":print
1170 open2,8,2,"@0:"+cm$+",s,w"
1180 print#2,ze
1190 fori=1toze:print#2,chr$(34)+a$(i)+chr$(34):next:close2
1200 gosub1980
1210 goto1380
1220 rem============================
1230 rem= daten laden =
1240 rem============================
1250 printcl$d2$rn$a2$"[196]aten laden"a5$a5$a5$a5$a5$rf$:print
1260 input"[196]ateiname: ";cm$
1270 open2,8,2,"@0:"+cm$+",s,r":printcm$
1280 input#2,ze
1290 fori=1toze:input#2,a$(i):next:close2
1300 gosub1980:goto680
1310 printcl$w2$rn$s1$"[193]usgabe auf [194]ildschirm"a5$a5$a2$rf$
1320 print""tab(2)rn$s1$"[197]"s1$rf$"inzel-[211]chritt per [212]astendruck"
1330 printtab(2)c4$rn$s1$"[199]"s1$rf$"esamte [196]atei anzeigen":gosub1000
1340 geteg$
1350 ifeg$="e"then1710
1360 ifeg$="g"then1780
1370 goto1340
1380 printtab(2)c4$rn$s1$"[196] = drucken [205] = [205]enue "rf$
1390 geteg$
1400 ifeg$="d"thengosub1580:goto680
1410 ifeg$="m"then680
1420 ifeg$="s"then1140
1430 goto1390
1440 rem======================
1450 rem= ein/ausgabe-menue =
1460 rem======================
1470 printtab(2)rn$s1$"[206]"s1$rf$"eue [196]atei eingeben":print
1480 printtab(2)rn$s1$"[211]"s1$rf$"peichern einer [196]atei":print
1490 printtab(2)rn$s1$"[194]"s1$rf$"estehende [196]atei laden":print
1500 printtab(2)rn$s1$"[193]"s1$rf$"nfuegen an bestehende [196]atei":print
1510 printtab(2)rn$s1$"[196]"s1$rf$"aten auf [194]ildschirm ":print
1520 printtab(2)rn$s1$"[208]"s1$rf$"rint ([196]aten auf [196]rucker )":print
1530 printtab(2)rn$s1$"[204]"s1$rf$"oeschen der [196]aten":print
1531 printtab(2)rn$s1$"[216]"s1$rf$"[196]aten aendern/editieren":print
1540 printtab(2)rn$s1$"[213]"s1$rf$"mschalten zur [218]ahlen/[212]extdatei"
1550 poke211,0:poke214,20:sys58640:gosub1000
1551 printtab(2)" [195] [146]atalog/[196]irectory [197] [146]nde"
1560 return
1570 rem=======================
1580 rem= daten ausdrucken =
1590 rem=======================
1600 printcl$c4$rn$s1$"[196]rucker-[210]outine"a5$a5$rf$
1610 printc4$s1$"[193]enderung der"
1620 print" [211]ekundaeradresse"
1630 printtab(19)c2$"7";:printv3$;:inputsa
1640 printc4$rn$"[215]enn [196]rucker bereit ist, [212]aste druecken "rf$
1650 poke198,0:wait198,1
1660 open4,4,sa:cmd4
1670 print#4,cm$:print#4:fori=1toze:print#4,a$(i):next:print#4:close4:goto680
1680 rem=======================
1690 rem= bildschirm-ausgabe =
1700 rem=======================
1710 gosub1030
1720 printcm$:print:ze=1
1730 printze;:printtab(5)a$(ze):tl=ze/15:poke198,0:wait198,1
1740 fori=1to40
1750 iftl=ithengosub970
1770 next
1771 ifa$(ze)=chr$(42)then1380
1772 ze=ze+1
1775 goto1730
1780 gosub1030
1790 printcm$:print:ze=1
1791 printze;:printtab(5)a$(ze):tl=ze/15:fori=1to40
1792 iftl=ithenprintrn$"[212]aste"rf$:poke198,0:wait198,1:gosub970
1793 next
1794 ifa$(ze)=chr$(42)then1380
1795 ze=ze+1
1796 goto1791
1840 rem======================
1850 rem= append (daten an- =
1860 rem= haengen) =
1870 rem======================
1880 printchr$(147):gosub1030:gosub1950:ze=ze-1
1890 gosub1010:gosub1000:printtab(2)cm$:printc4$tab(2)a$(ze)
1900 ze=ze+1:printtab(2);:poke198,0:poke631,34:poke198,1:poke19,64
1910 inputa$(ze):poke19,0:printchr$(13);
1920 ifa$(ze)=chr$(42)then1940
1930 goto1900
1940 print:goto1050
1950 ifze=300then2050
1960 printtab(2)rn$s1$"[196]atensaetze bisher:"str$(ze-1)a5$a5$a2$rf$
1970 printtab(2)" [204]etzter [196]atensatz wird angezeigt":return
1980 rem=======================
1990 rem= disk-fehler =
2000 rem=======================
2010 open1,8,15:input#1,a,b$,c,d
2020 ifa<>0thengosub990:fori=1to5000:next:close2:close1:cm$="":goto680
2030 close1
2040 return
2050 gosub2220:printhe$c4$c3$rn$s1$"[203]eine [196]aten im [211]peicher ! "rf$:goto630
2060 rem====================
2070 rem= daten loeschen =
2080 rem====================
2090 gosub2220:print:printhe$tab(2)c4$rn$" [196]aten loeschen"a5$a5$a5$a5$rf$
2100 print:printtab(2)"[211]ind [211]ie sicher (j/n) ?":gosub1000
2110 getl$
2120 ifl$="j"then2150
2130 ifl$="n"then680
2140 goto2110
2150 fori=1toze:a$(i)="":next:cm$=""
2160 print:printtab(2)rn$" [193]rbeitsspeicher ist jetzt leer.": fort=1to2000:next
2170 goto680
2180 lz$=" ":rem 40 spaces
2190 poke211,0:poke214,10:sys58640
2200 fori=1to10:printlz$;:next
2210 return
2220 printcl$chr$(176);:fori=0to36:printchr$(96);:next:printchr$(174)
2230 fori=0to20
2240 printchr$(125)tab(38)chr$(125)
2250 next
2260 printchr$(173);:fori=0to36:printchr$(96);:next:printchr$(189)
2270 return
2280 gosub2220:gosub1020:gosub1010
2290 print:printtab(10)rn$"[212]ext/[218]ahlendatei"rf$:print
2300 printtab(9)" 1 = [206]eueingabe"
2310 printtab(9)" 2 = [198]ile laden"
2320 printtab(9)" 3 = [198]ile speichern"
2330 printtab(9)" 4 = [198]ile anzeigen"
2340 printtab(9)" 5 = [198]ile addieren"
2350 printtab(9)" 6 = [198]ile erweitern"
2360 printtab(9)" 7 = [196]rucker-[210]ouine"
2370 printtab(9)" 8 = [197]nde"
2380 printtab(9)" 9 = [213]mschalten auf "
2390 printtab(14)"[212]extdatei"
2391 printtab(9)" [216] = [196]aten aendern"
2392 print:printtab(9)" [196] = [196]irectory"
2400 geta$
2401 ifa$="d"thenprintchr$(147):sys828:poke198,0:wait198,1:goto2280
2402 ifa$="x"then4110
2410 onval(a$)goto2430,2530,2590,2640,2720,2850,2950,3050,680
2420 goto2400
2430 rem neueingabe
2440 printcl$tab(2)c4$rn$" [206]eueingabe eines [198]iles "rf$:gosub1000
2450 gosub1010:gosub1000
2460 input"[198]ile-[206]ame: ";fl$:ifn=300thenn=0
2461 print"[194]egriff....................[194]etrag......":println$
2470 poke19,64:inputsb$(n):poke19,0
2480 ifsb$(n)=chr$(42)then2280
2490 printtab(27);:poke19,64:inputz(n):poke19,0:print
2500 n=n+1
2510 goto2470
2520 rem file laden
2530 printcl$d2$rn$" [198]ile laden "rf$
2540 printc4$;:input"[198]ile-[206]ame ";fl$
2550 open2,8,2,fl$+",s,r"
2560 input#2,n
2570 fori=0ton:input#2,sb$(i):input#2,z(i):next:close2
2580 goto2280
2590 rem file speichern
2600 open2,8,2,"@0:"+fl$+",s,w"
2610 print#2,n
2620 fori=0ton:print#2,sb$(i):print#2,z(i):next:close2
2630 goto2280
2640 rem file anzeigen
2650 printcl$d2$rn$" [198]ile anzeigen "rf$
2660 print"[198]ile-[206]ame "fl$:println$
2670 iffl$=""then2940
2680 fori=0ton-1:q$=str$(z(i)):gosub 3120
2690 printi;tab(5)sb$(i)tab(39-len(q$))q$:next
2700 gosub3060
2710 goto2280
2720 rem addition
2730 printcl$d2$rn$"[215]erte addieren"
2740 print"[198]ile-[206]ame: "fl$:println$
2750 iffl$=""then2940
2760 s=0:fori=0ton-1:q$=str$(z(i)):gosub3120
2770 printi;tab(5)sb$(i)tab(39-len(q$))q$:s=s+z(i):q$=str$(s):next:gosub3120
2780 printtab(31)"--------":printtab(39-len(q$))q$
2790 printd3$tab(10)rn$" [193]usdrucken j/n ?[160]"rf$
2800 geta$:ifa$="n"then2280
2810 ifa$="j"then2950
2820 goto2800
2830 gosub3060
2840 goto2280
2850 rem append
2860 printcl$d2$rn$"[198]ile erweitern/[196]aten anhaengen"
2870 print"[198]ile-[206]ame "fl$:println$
2880 iffl$=""then2940
2881 print"[194]egriff....................[194]etrag......":println$
2890 printsb$(n-1)tab(26)z(n-1)
2900 poke19,64:inputsb$(n):poke19,0
2901 ifsb$(n)=chr$(42)then2280
2910 printtab(27);:poke19,64:inputz(n):poke19,0:print
2920 n=n+1
2930 goto2900
2940 printhe$d5$c4$"[203]ein [196]aten im [211]peicher!":fort=1to2000:next:goto2280
2950 printclc4$rn$" [196]rucker-[210]outine"a5$a5$rf$
2960 printc4$" [193]enderung der"
2970 print" [211]ekundaeradresse"
2980 printtab(19)c2$"7";:printv3$;:inputsa
2990 printc4$rn$"[215]enn [196]rucker bereit ist, [212]aste druecken "rf$
3000 poke198,0:wait198,1
3010 open4,4,sa:cmd4
3020 print#4,fl$:print#4:fori=0ton-1:q$=str$(z(i)):gosub3120
3021 printtab(5);:print#4,sb$(i)tab(40-len(sb$(i))-len(q$))q$:next
3022 q$=str$(s):gosub3120
3030 print#4,tab(32)"--------":print#4,tab(40-len(q$))q$
3040 print#4:close4:goto2280
3050 poke53280,14:poke53281,6:poke646,14:printcl$ec$su$;:end
3060 printd2$rn$" [212]aste fuer '[205][197][206][213][197]' "rf$
3070 poke198,0:wait198,1
3080 return
3090 rem ========================
3100 rem = zahlen rechtsbuendig =
3110 rem ========================
3120 ez=len(q$)
3130 lz=len(q$)-3:iflz<1thenlz=1
3140 forx=eztolzstep-1
3150 ifmid$(q$,x,1)="."then3180
3160 next
3170 dp=dp-ez-1
3180 ifx>lzthendp=dp-x
3190 ifx=ez-1thenq$=q$+"0"
3200 ifx=lz-1thenq$=q$+".00"
3210 return
4000 rem ===== text-datei aendern ===
4010 printchr$(147):printchr$(18)"[212][197][216][212]-[196]aten aendern/editieren."chr$(146)
4020 print:print"welche [196]atensatz-[206]r. aendern";:inputxe
4030 print:printtab(3)a$(xe):poke211,0:poke214,5:sys58640
4040 printtab(2);:poke631,34:poke198,1
4050 poke19,64:inputa$(xe):poke19,0:printchr$(13);:goto680
4100 rem ==== text/zahl aendern ======
4110 printchr$(147):printchr$(18)"[212][197][216][212]/[218][193][200][204]-[196]aten aendern."chr$(146)
4120 print:print"welche [196]atensatz-[206]r. aendern";:inputxt
4125 print"[194]egriff"tab(30)"[218]ahl":gosub1000
4130 printsb$(xt):poke211,0:poke214,6:sys58640
4135 poke19,64:inputsb$(xt):poke19,0
4140 printtab(30)z(xt);
4150 printv4$+v2$;:poke19,64:inputz(xt):poke19,0:print:goto2280
5300 fori=828to923:readd:pokei,d:next:return
5310 data 162,155,160,3,169,1,32,189,255,169,3,162,8,160,0,32,186,255,32,192,255
5320 data 162,3,32,198,255,32,207,255,32,207,255,32,207,255,32,207,255,240,46,32
5330 data 207,255,168,32,207,255,132,99,133,98,162,144,56,32,73,188,32,221,189
5340 data 32,135,180,32,33,171,32,207,255,133,2,32,210,255,165,2,208,244,169,13
5350 data 32,210,255,76,92,3,32,204,255,169,3,32,195,255,96,36