10 REM ++++++++++++++++++++++++++++++++ 20 REM ! Program 0018 TKONTO 30 REM ! Utg}va 4.21 83-12-31 32 REM ! Mod. 80/tkn printer 841001 40 REM ! av (c) K.J[RBIN 50 REM ! Minne 32 Kbytes f|r flexskiva 60 REM ++++++++++++++++++++++++++++++++ 70 G$='' : P$='PR:B4S72' : REM PRINTERBET 72 L%=150% : REM ANT. KONTON 74 R5%=72% : REM SIDH\JD 80 FOR I%=1% TO 4% 90 G$=G$+CHR$(PEEK(I%+65410)) 100 NEXT I% 110 G$=G$+"-" 120 G1$='' 130 FOR I%=1% TO 25% 140 IF PEEK(I%+65415)=13% GOTO 170 150 G1$=G1$+CHR$(PEEK(I%+65415)) 160 NEXT I% 170 Z%=PEEK(65408%) 180 IF Z%=10% M$="DR1:DAGBOK.DAT" 190 DIM N%(L%) : DIM B$(L%)=12% : DIM D3$(L%)=10% : DIM K3$(L%)=10% : DIM ]1$(L%)=10% : DIM ]2$(L%)=10% 200 FOR I%=1% TO L% : N%(I%)=0% : D3$(I%)="0" : K3$(I%)="0" : ]1$(I%)="0" : ]2$(I%)="0" : NEXT I% : A$="00-00" 210 REM --- START ---------------- 220 ; CHR$(12%)TAB(12%)"KONTO UTDRAG" 230 ; TAB(11%)CHR$(151%)STRING$(12%,44%) 240 REM --- L[S PERIOD DATA ---------- 250 ; : ; TAB(8%)"INL[SNING AV PERIODDATA" 260 ; TAB(8%)"SKER FR]N DRIVE 1" 270 OPEN "DR1:PERIOD.DAT" ASFILE 7% 280 FOR I%=1% TO L% 290 INPUTLINE #7%,X$ 300 N%(I%)=VAL(LEFT$(X$,LEN(X$)-2%)) 310 INPUTLINE #7%,X$ 320 B$(I%)=LEFT$(X$,LEN(X$)-2%) 330 INPUTLINE #7%,X$ 340 D3$(I%)=LEFT$(X$,LEN(X$)-2%) 350 INPUTLINE #7%,X$ 360 K3$(I%)=LEFT$(X$,LEN(X$)-2%) 370 NEXT I% 380 INPUTLINE #7%,X$ 390 B%=VAL(LEFT$(X$,LEN(X$)-2%)) 400 INPUTLINE #7%,X$ 410 A$=LEFT$(X$,LEN(X$)-2%) 420 CLOSE 7% 430 IF Z%=10% GOTO 660 440 ; : ; TAB(8%)"[R PRINTERN P]SLAGEN" 450 ; TAB(8%)"SVARA J" 460 ; TAB(8%); 470 GET X$ 480 ; TAB(8%)X$ 490 IF NOT (X$="J" OR X$="j") THEN 440 500 ; : ; TAB(5%)"ANGE \NSKAD UTSKRIFTSM]NAD" 510 ; TAB(5%)"SVARA MED 2 SIFFROR <01-12>" 520 ; TAB(5%)"INNEVARANDE M]NAD = RETURN" 530 ; TAB(5%); : INPUT X$ 540 IF X$="" M$="DR1 : DAGBOK.DAT" : GOTO 610 550 IF LEN(X$)<>2% GOTO 500 560 IF ASC(X$)=48% THEN 580 570 IF ASC(X$)=49% THEN 590 ELSE 500 580 IF ASC(MID$(X$,2%,1%))<48% OR ASC(MID$(X$,2%,1%))>57% GOTO 500 ELSE 600 590 IF ASC(MID$(X$,2%,1%))<48% OR ASC(MID$(X$,2%,1%))>50% GOTO 500 600 M$="DR1:DAGBOK"+X$+".DAT" 610 ; : ; TAB(5%)"ANGE \NSKAT KONTONUMMER" 620 ; TAB(5%)"AVSLUT = RETURN" 630 ; TAB(5%); : INPUT X$ 640 IF X$="" GOTO 1080 650 K%=VAL(X$) : GOTO 690 660 FOR M%=1% TO 11% 670 READ K% 680 DATA 1010,1020,1051,1430,1300,2111,2112,2110,2300,2690,3011 690 REM *** PRINTER RUTIN *** 700 ONERRORGOTO 1200 710 OPEN M$ ASFILE 6% 720 ONERRORGOTO 0 730 INPUT #6%,A$ 740 INPUT #6%,X% 750 OPEN P$ ASFILE 5% : H%=0% 760 D$="0.00" : K$="0.00" 770 FOR I%=1% TO L% : IF K%<>N%(I%) THEN 800 780 GOSUB 1240 790 GOTO 820 800 NEXT I% 810 ; : ; TAB(8%)"HITTAR EJ S\KT KONTO !!!" : ; CHR$(7%) 811 ; TAB(8%)"STARTA UPP P] NYTT MED RUN" : END 820 ONERRORGOTO 990 830 INPUT #6%,A$,X% 840 INPUTLINE #6%,X$ 850 X$=LEFT$(X$,LEN(X$)-2%) 860 FOR I%=1% TO 10% 870 INPUT #6%,X%(I%),X1$(I%),X2$(I%),\% 880 IF X%(I%)<>K% THEN 960 890 FOR J%=1% TO L% : IF X%(I%)=N%(J%) GOTO 900 ELSE 950 900 A$=A$+SPACE$(3%)+NUM$(X%)+"-"+NUM$(I%)+SPACE$(3%)+X$ 910 ; #5,A$TAB(64%-(LEN(X1$(I%))))X1$(I%)TAB(80%-(LEN(X2$(I%))))X2$(I%) 920 D$=ADD$(D$,X1$(I%),2%) : K$=ADD$(K$,X2$(I%),2%) 930 A$=LEFT$(A$,5%) 940 GOSUB 1360 950 NEXT J% 960 IF \% GOTO 980 970 NEXT I% 980 GOTO 830 990 ONERRORGOTO 0 : ; #5% : ; #5%,TAB(40%)"SUMMA .:"; 1000 ; #5%,TAB(64%-LEN(D$))D$TAB(80%-LEN(K$))K$ 1010 R%=R%+1% : GOSUB 1360 1020 ; #5%,STRING$((R5%-6%)-R%,10%);TAB(40%)"T.O.M. VERIFIKAT NR "X%" "G$A$ 1040 ; #5%,STRING$(5%,10%); : CLOSE 5% 1050 CLOSE 6% 1060 IF Z%=10% NEXT M% ELSE GOTO 610 1080 IF Z%=10% THEN 1110 ELSE 1090 1090 CHAIN "BOKF\R" 1100 END 1110 ; : ; TAB(5%)"DAGBOKEN AVSLUTAS OCH D\PS OM" 1120 ; TAB(8%)"TILL * DAGBOK"+LEFT$(A$,2%)+".DAT *" 1130 NAME "DAGBOK.DAT" AS "DAGBOK"+LEFT$(A$,2%)+".DAT" 1140 PREPARE "DR1:DAGBOK.DAT" ASFILE 1% 1150 ; #1%,A$ 1160 ; #1%,X% 1170 CLOSE 1% 1180 CHAIN "HUVUDBOK" 1190 END 1200 REM --- FEL M]NAD --------------- 1210 ; : ; CHR$(7%)TAB(5%)"M]NADEN FINNS EJ P] DENNA SKIVA !" 1220 GOTO 500 1230 END 1240 REM --- UTSKRIFTS RUBRIK ------ 1250 H%=H%+1% : X$="SID"+NUM$(H%) 1260 ; #5%,TAB(80%-LEN(X$))X$ 1270 X$=NUM$(X%) 1280 ; #5%,STRING$(80%,61%) 1290 ; #5%,G1$TAB(30%)"UTDRAG UR KONTO"TAB(49%-LEN(X$))"FR.O.M. VERIFIKAT NR"X$" "G$A$ 1300 ; #5%,TAB(29%)N%(I%)" "B$(I%) 1310 ; #5%,STRING$(80%,61%) 1320 ; #5%,"DATUM"TAB(8%)"VERF"TAB(18%)"TEXT"TAB(59%)"DEBET"TAB(74%)"KREDIT" 1330 ; #5%,STRING$(80%,45%) 1340 R%=7% 1350 RETURN 1360 REM --- RADR[KNARE -------------- 1370 R%=R%+1% 1380 IF R%=R5%-7% THEN ; #5%,STRING$(R5%-R%,10%); : R%=0% : GOSUB 1240 1390 RETURN