start tok64 d64-6jt5XB 0 REM"@0:databudget 2.4",8 1 DEFFNf(x)=x-65536*(x<.):mm=FNf(FRE(.)) 2 REM"{141}{up}{-*39} 3 REM detta program [r (c)1992 peter karlsson 4 REM v[rnsta ullers[ter 710 40 fr{pound}vi 5 REM detta program distrubieras som pd genom sys pd biblioteket 6 REM programmet f]r kopieras fritt, s] l[nge det inte s[ljs f{pound}r mer [n 7 REM en sk[lig diskkopieringsavgift. programmet f]r inte modifieras p] 8 REM n]got s[tt. om du har f{pound}rslag p] [ndringar, skicka dem till 9 REM f{pound}rfattaren p] adressen ovan. --------------------------------------- 10 DIMs(500),t(500),t$(500),y(500),d(500),m(500) 11 PRINT"{clear}{white}{142}laddar svenska tecken{.*3}" 12 OPEN1,8,1,"databudget.ml,p,r":POKE780,.:SYS65493:CLOSE1:SYS49152 13 POKE650,128 14 PRINT"{clear}{white}{142}laddar setup-fil{.*3} 15 CLOSE15:CLOSE2:OPEN15,8,15:OPEN2,8,2,"0:databudget.fil,s,r":GOSUB9999 20 IFq>1THENGOSUB3300:END 30 INPUT#2,dd$:GOSUB9999:IFq>1THENGOSUB3300:END 31 INPUT#2,pd:GOSUB9999:IFq>1THENGOSUB3300:END 32 INPUT#2,ps:GOSUB9999:IFq>1THENGOSUB3300:END 33 INPUT#2,pf:GOSUB9999:IFq>1THENGOSUB3300:END 34 FORi=.TOpf:INPUT#2,pf(i):GOSUB9999:IFq>1THENGOSUB3300:END 35 NEXT:INPUT#2,pn:GOSUB9999:IFq>1THENGOSUB3300:END 36 FORi=.TOpn:INPUT#2,pn(i):GOSUB9999:IFq>1THENGOSUB3300:END 37 NEXT:INPUT#2,pr:GOSUB9999:IFq>1THENGOSUB3300:END 38 INPUT#2,ff:GOSUB9999:IFq>1THENGOSUB3300:END 40 CLOSE2:CLOSE15 50 PRINT"{clear}datum: "dd$ 60 PRINT"mata in nytt. f{pound}r gamla-tryck return. 70 INPUT"nytt";dd$ 80 IFLEN(dd$)<>10ORMID$(dd$,5,1)<>"-"ORMID$(dd$,8,1)<>"-"THENPRINT"fel.":GOTO70 100 POKE53280,.:POKE53281,12:PRINT"{gray}";:POKE53281,. 120 GOSUB1000:REMmeny 130 ONaGOSUB3000,4000,5000,6000,7000,2000,8000,9000:REMval 140 GOTO120 1000 PRINT"{green}{clear}{reverse on}databudget v2.4(c)1989-92 peter karlsson 1010 PRINT"{down}{brown}***{orange}***{yellow}*** huvudmeny ***{orange}***{brown}*** 1020 PRINT"{down}{yellow}(1) h[mta in ett konto fr]n disk/band 1030 PRINT"(2) spara undan konto p] disk/band 1040 PRINT"(3) mata in nya transaktioner 1050 PRINT"(4) starta upp ett nytt konto 1051 PRINT"(5) visa transaktioner 1052 PRINT"(6) utskrift 1053 PRINT"(7) f{pound}rkorta kontot 1060 PRINT"(8) avsluta programmet 1070 IFkn$=""GOTO1160 1090 PRINT"{down}{green}kontonummer:{space*2}{light green}"kn$ 1100 PRINT"{green}innehavare:{space*3}{light green}"ki$ 1110 PRINT"{green}kontoform:{space*4}{light green}"kf$ 1120 PRINT"{green}bank:{space*9}{light green}"ba$ 1130 PRINT"{green}kontor:{space*7}{light green}"ko$","kt$ 1140 s$=MID$(STR$(s(z)),2) 1145 IFLEN(s$)<3THENs$="0"+s$:GOTO1145 1150 PRINT"{green}saldo:{space*8}{light green}"LEFT$(s$,LEN(s$)-2)","RIGHT$(s$,2) 1155 q=INT(FNf(FRE(.))/mm*100) 1156 PRINT"{down}{yellow}fyllt minne:"MID$("{orange}{white}",1-(q>89),1)q"{left}% 1160 PRINT"{home}{down*24}{light blue}aktuellt datum: {cyan}"dd$"{home} 1170 POKE198,.:WAIT198,1:GETa$ 1180 IFa$<"1"ORa$>"8"THEN1170 1190 a=VAL(a$) 1220 RETURN 2000 PRINT"{green}{clear}{reverse on}databudget v2.4{space*15}6.utskrift 2005 IFz=.THENPRINT"{white}{down}inga transaktioner lagrade!":POKE198,.:WAIT198,1:RETURN 2010 PRINT"{yellow}{down}nuvarande printerparametrar: 2020 PRINT"printerenhet{space*5}{light green}"pd 2030 PRINT"{yellow}sekund[radress{space*3}{light green}"ps 2040 PRINT"{yellow}koder f{pound}r fetstil{light green}";:FORi=0TOpf:PRINTpf(i)"{left}";:NEXT 2050 PRINT:PRINT"{yellow}]terg]ng normal{space*2}{light green}";:FORi=0TOpn:PRINTpn(i)"{left}";:NEXT 2055 PRINT:PRINT"rader per sida{space*3}{light green}"pr 2060 PRINT:PRINT"{down}{green}tryck {light green}mellanslag {green}f{pound}r utskrift 2070 PRINT"tryck {light green}return {green}f{pound}r [ndring av parametrar 2080 PRINT"tryck n]gon annan f{pound}r meny 2090 POKE198,.:WAIT198,1:GETa$ 2100 IFa$=" "THEN2300 2110 IFa$<>CHR$(13)THENRETURN 2120 INPUT"{down}{cyan}printerenhet{space*6}{green}";pd 2130 INPUT"{cyan}sekund[radress{space*4}{green}";ps 2140 PRINT"{cyan}fetstil: 2150 INPUT"{cyan}antal koder (1-11){green}";pf:pf=pf-1:IFpf<.ORpf>10THEN2140 2160 FORi=.TOpf:PRINT"{cyan}kod nr."i+1"{left}: 2170 INPUT"{up}{right*18}{green}";pf(i) 2180 NEXT 2190 PRINT"{cyan}normal: 2200 INPUT"{cyan}antal koder (1-11){green}";pn:pn=pn-1:IFpn<.ORpn>10THEN2190 2210 FORi=.TOpn:PRINT"{cyan}kod nr."i+1"{left}: 2220 INPUT"{up}{right*18}{green}";pn(i) 2230 NEXT 2240 INPUT"{cyan}rader per sida{space*4}{green}";ps 2250 INPUT"{cyan}kod f{pound}r ny sida{space*3}{green}";ff 2260 GOTO2000 2300 INPUT"{green}start f{pound}r vilket ]r";yr 2310 s=0:i=0 2320 OPEN4,pd,ps,CHR$(ff) 2330 s=s+1 2340 GOSUB2900:PRINT#4,kn$" "ki$TAB(65)dd$ 2350 PRINT#4,kf$", "ba$" "ko$ 2360 a$="{=*40}":PRINT#4,a$a$ 2370 GOSUB2950 2380 PRINT#4,"datum"TAB(10)"text"TAB(40)"transaktion"TAB(60)"saldo":r=4 2390 i=i+1:IFi>zTHEN2700 2400 IFy(i).THEN2500 2420 PRINT#4,TAB(10)"ing]ende saldo"TAB(60);:t=s(i-1):GOSUB2800:r=r+1:PRINT#4 2430 f=-1 2450 PRINT#4,MID$(STR$(10000+y(i)),3)"-"MID$(STR$(100+m(i)),3)"-"; 2460 PRINT#4,MID$(STR$(100+d(i)),3)TAB(10)t$(i)TAB(40);:t=t(i):GOSUB2800 2470 t=s(i):GOSUB2800:PRINT#4:r=r+1 2480 IFr"b"ANDq$<>"d"THEN3035 3036 IFq$="d"THEN3140 3040 OPEN1,1,0,a$ 3070 PRINT"{down}{yellow}var god v[nta, l[ser data{.*3} 3080 INPUT#1,kn$,ki$,kf$,ba$,ko$,kt$ 3090 INPUT#1,z 3100 FORi=1TOz 3110 : INPUT#1,s(i),t$(i),t(i),y(i),m(i),d(i) 3120 NEXT 3130 CLOSE1:ch=.:RETURN 3140 PRINT"{yellow}s[tt i korrekt diskett. {white}{reverse on} space {reverse off}":POKE198,.:WAIT198,1:POKE198,. 3170 PRINT"{down}{yellow}var god v[nta, l[ser data{.*3}{down} 3200 IFRIGHT$(a$,1)=" "THENa$=LEFT$(a$,LEN(a$)-1):GOTO3200 3210 OPEN15,8,15:OPEN1,8,2,a$+",s,r":GOSUB9999:IFq>.THENCLOSE1:GOTO3300 3220 INPUT#1,kn$,ki$,kf$,ba$,ko$,kt$ 3230 INPUT#1,z 3240 FORi=1TOz 3250 : INPUT#1,s(i),t$(i),t(i),y(i),m(i),d(i) 3255 : PRINT"{up}"INT(i/z*100+.5)"{left}% 3260 NEXT 3270 CLOSE1:GOSUB9999:IFa<20THENCLOSE15:ch=.:RETURN 3300 PRINT"{down}{cyan}diskfel #"MID$(STR$(q),2) 3340 PRINT"{white}"CHR$(34)q$CHR$(34) 3360 CLOSE15:POKE198,.:WAIT198,1:POKE198,.:RETURN 4000 PRINT"{green}{clear}{reverse on}databudget v2.4{space*5}2.spara undan kontot 4005 IFkn$=""THENPRINT"{white}{down}ingen fil i minnet!":POKE198,.:WAIT198,1:RETURN 4010 a$=kn$ 4030 PRINT"{down}{green}spara p] {white}b{green}and eller {white}d{green}isk? 4035 POKE198,.:WAIT198,1:GETq$:IFq$<>"b"ANDq$<>"d"THEN4035 4036 IFq$="d"THEN4140 4040 OPEN1,1,0,a$ 4070 PRINT"{down}{yellow}var god v[nta, skriver data{.*3} 4080 PRINT#1,kn$b$ki$b$kf$b$ba$b$ko$b$kt$ 4090 PRINT#1,z 4100 FORi=1TOz 4110 : PRINT#1,s(i)b$t$(i)b$t(i)b$y(i)b$m(i)b$d(i) 4120 NEXT 4130 CLOSE1:ch=.:RETURN 4140 PRINT"{yellow}s[tt i korrekt diskett. {white}{reverse on} space {reverse off}":POKE198,.:WAIT198,1:POKE198,. 4170 PRINT"{down}{yellow}var god v[nta, skriver data{.*3}{down} 4210 OPEN15,8,15:OPEN1,8,2,"@0:"+a$+",s,w":GOSUB9999:IFq>.THENCLOSE1:GOTO3300 4220 b$=CHR$(13):PRINT#1,kn$b$ki$b$kf$b$ba$b$ko$b$kt$ 4230 PRINT#1,z 4240 FORi=1TOz 4250 : PRINT#1,s(i)b$t$(i)b$t(i)b$y(i)b$m(i)b$d(i) 4255 : PRINT"{up}"INT(i/z*100+.5)"{left}% 4260 NEXT 4270 CLOSE1:GOSUB9999:CLOSE15:IFa<20THENch=.:RETURN 4280 GOTO3300 5000 PRINT"{green}{clear}{reverse on}databudget v2.4{space*6}3.nya transaktioner 5001 IFkn$=""THENPRINT"{white}{down}ladda eller skapa fil f{pound}rst!":POKE198,.:WAIT198,1:RETURN 5002 s$=MID$(STR$(s(z)),2) 5003 IFLEN(s$)<3THENs$="0"+s$:GOTO5002 5010 PRINT"{green}saldo:{space*8}{light green}"LEFT$(s$,LEN(s$)-2)","RIGHT$(s$,2) 5020 PRINT"{down}{cyan}ange 0,0,0 f{pound}r att avsluta. 5025 PRINT"{green}ange ej {pound}re i decimaler. 5026 PRINT"{yellow}ex. 5,50 kr = {white}{reverse on} 550 {yellow}{reverse off}, 1 kr= {white}{reverse on} 100 {yellow}{reverse off}. 5030 PRINT"{home}{down*7}{right}{green}datum:"TAB(11)"text:"TAB(22)"trans:"TAB(32)"saldo:" 5035 IFz=0THENPRINTTAB(32)"0":GOTO5050 5040 PRINTMID$(STR$(10000+y(z)),3)"-"MID$(STR$(100+m(z)),3)"-"; 5045 PRINTMID$(STR$(100+d(z)),3)TAB(11)t$(z)TAB(21)t(z)/100TAB(31)s(z)/100 5050 PRINT"{green}komma mellan ]r,m]n,dat:":z=z+1 5055 IFz>1000THENz=1000:GOTO5140 5060 INPUTy(z),m(z),d(z):IFy(z)=0THENz=z-1:GOTO5130 5062 ch=1:PRINT"{green}{up*2}text? (max 10 tecken):{space*2}" 5064 INPUT"{space*13}{left*4}";t$(z):t$(z)=LEFT$(t$(z),10) 5070 PRINT"{green}{up*2}ange transaktionens storlek: 5080 INPUT"{space*22}{left*2}";t(z) 5090 PRINT"{up*2}{space*28}" 5091 PRINT"{space*39}" 5100 s(z)=s(z-1)+t(z) 5105 PRINT"{up*2}{green}"MID$(STR$(10000+y(z)),3)"-"MID$(STR$(100+m(z)),3)"-"; 5106 PRINTMID$(STR$(100+d(z)),3)TAB(11)t$(z)TAB(21)t(z)/100TAB(31)s(z)/100 5110 IFs(z)<0THENPRINT"{pink}*** varning *** {pound}verbelastat konto *** 5120 PRINT"{green}st[mmer det?":POKE198,0:WAIT198,1:GETa$ 5122 PRINT"{up}{space*12}{up}":IFa$="n"THENz=z-1 5124 GOTO5050 5130 PRINT"{home}";:RETURN 6000 PRINT"{green}{clear}{reverse on}databudget v2.4{space*6}4.starta nytt konto 6005 IFkn$<>""THENGOSUB6300:IFa$="n"THENRETURN 6010 PRINT"{down}{green}nytt konto 6070 z=.:s(.)=.:ch=1 6100 PRINT"{down}{cyan}max 25 tkn:{space*3}{-*25} 6110 INPUT"{green}kontonummer {light green}";kn$:kn$=LEFT$(kn$,25) 6120 INPUT"{green}innehavare{space*2}{light green}";ki$:ki$=LEFT$(ki$,25) 6130 INPUT"{green}kontoform{space*3}{light green}";kf$:kf$=LEFT$(kf$,25) 6140 INPUT"{green}bank{space*8}{light green}";ba$:ba$=LEFT$(ba$,25) 6150 PRINT"{cyan}max 14 tkn:{space*3}{-*14} 6160 INPUT"{green}kontor{space*6}{light green}";ko$:ko$=LEFT$(ko$,14) 6170 PRINT"{cyan}max 10 tkn:{space*3}{-*10} 6180 INPUT"{green}telefonnr{space*3}{light green}";kt$:kt$=LEFT$(kt$,10) 6230 RETURN 6300 PRINT"{white}{down}en kontofil finns redan i minnet. om du skapar en ny utan att "; 6310 PRINT"vill du forts[tta?" 6320 POKE198,.:WAIT198,1:GETa$:IFa$="j"ORa$="n"THENRETURN 6330 GOTO6320 7000 PRINT"{green}{clear}{reverse on}databudget v2.4{space*5}5.visa transaktioner 7001 IFz=.THENPRINT"{white}{down}inga transaktioner finns!":POKE198,.:WAIT198,1:RETURN 7004 INPUT"{down}{green}fr]n vilket ]r vill du visa";y 7005 PRINT"{down}{yellow} tryck space f{pound}r forts. return stoppar. 7010 PRINT"{light blue}datum:{space*5}{yellow}text:{space*6}{cyan}trans:{space*3}{green}saldo: 7026 IFz=.THENPRINT"{light blue}"dd$" {yellow}{-*10} {cyan}{-*8} {green}{0*5}.00":GOTO7120 7028 FORi=1TOz:IFy(i)" "THEN7080 7110 NEXT:PRINT"{clear}":RETURN 7120 PRINT"tryck p] return f{pound}r menyn. 7140 GETa$:IFa$=CHR$(13)THENPRINT"{clear}":RETURN 7150 GOTO7140 8000 PRINT"{green}{clear}{reverse on}databudget v2.4{space*8}7.f{pound}rkorta kontot 8010 PRINT"{down}{white} [r du helt s[ker p] att du vill 8020 PRINT" f{pound}rkorta kontot? 8060 GETa$:IFa$<>"j"ANDa$<>"n"THEN8060 8070 IFa$="n"THENRETURN 8080 PRINT"{down}{green}var god v[nta, f{pound}rkortar kontot. 8110 y(1)=y(z):m(1)=m(z):d(1)=d(z):s(1)=s(z):t(1)=t(z):t$(1)=t$(z) 8120 FORi=2TOz:y(i)=.:m(i)=.:d(i)=.:s(i)=.:t(i)=.:t$(i)="":NEXT:z=1:ch=1 8130 RETURN 9000 PRINT"{green}{clear}{reverse on}databudget v2.4{space*5}8.avsluta databudget 9010 PRINT"{white}{down}[r du helt s[ker p] att du vill avsluta? 9015 IFchTHENPRINT"{light green}alla [ndringar du inte sparat kommer 9020 IFchTHENPRINT"att f{pound}rloras! 9030 GETa$:IFa$="j"THENPRINT"{clear}skriver setup-fil{.*3}";:CLOSE1:GOTO9060 9040 IFa$="n"THENRETURN 9050 GOTO9030 9060 OPEN15,8,15,"i0":OPEN2,8,2,"@0:databudget.fil,s,w":GOSUB9999:IFq>1THEN3300 9070 PRINT#2,dd$:GOSUB9999:IFq>1THEN3300 9071 PRINT#2,pd:GOSUB9999:IFq>1THENGOSUB3300:END 9072 PRINT#2,ps:GOSUB9999:IFq>1THENGOSUB3300:END 9073 PRINT#2,pf:GOSUB9999:IFq>1THENGOSUB3300:END 9074 FORi=.TOpf:PRINT#2,pf(i):GOSUB9999:IFq>1THENGOSUB3300:END 9075 NEXT:PRINT#2,pn:GOSUB9999:IFq>1THENGOSUB3300:END 9076 FORi=.TOpn:PRINT#2,pn(i):GOSUB9999:IFq>1THENGOSUB3300:END 9077 NEXT:PRINT#2,pr:GOSUB9999:IFq>1THENGOSUB3300:END 9078 PRINT#2,ff:GOSUB9999:IFq>1THENGOSUB3300:END 9080 CLOSE2:GOSUB9999:IFq>1THEN3300 9090 PRINT"{clear}":CLOSE15:END 9999 INPUT#15,q,q$,qq,qq:RETURN 10000 w=SGN(t):t=t*w:t$=MID$(STR$(t),2) 10010 IFLEN(t$)<3THENt$="0"+t$:GOTO10010 10020 t$=LEFT$(t$,LEN(t$)-2)+","+RIGHT$(t$,2) 10030 t$=RIGHT$("{0*8}"+t$,8) 10040 IFw=-1THENt$="-"+MID$(t$,2) 10050 RETURN stop tok64 (bastext 1.0)