home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
s85xx
/
s8506b.d64
/
fakturierung
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
9KB
|
356 lines
10 REM ================================
15 REM = =
20 REM = FAKTURIERUNG 20.03.1984 =
25 REM = =
30 REM ================================
35 REM = =
40 REM = (C) HANS-ULLRICH SCHREIBER =
45 REM = HUMBOLDTSTRASSE 2 A =
50 REM = 4950 M I N D E N =
55 REM = =
60 REM = TELEFON: 0571/4 93 60 =
65 REM = =
70 REM ================================
75 REM = =
80 REM = COMMODORE 64 + FLOPPY 1541 =
85 REM = MATRIXDRUCKER EPSON RX 80 =
90 REM = CENTRONICS INTERFACE 9200 =
92 REM = =
94 REM ================================
100 REM
110 REM -------------------------------
120 REM - ALLG. STEUERUNG -
130 REM -------------------------------
140 REM
150 POKE 53280,0:POKE 53281,0
160 PRINT CHR$(147):PRINT CHR$(14)
170 CLR
180 DIM RT$(35)
300 REM
310 REM -------------------------------
320 REM - FORMULAR -
330 REM -------------------------------
340 REM
350 F$(1)="***** [200][193][206][211]-[213][204][204][210][201][195][200][160][211][195][200][210][197][201][194][197][210] *****"
360 F$(2)=" H.-U. SCHREIBER * HUMBOLDTSTR. 2 A * 4950 MINDEN"
370 F$(3)=" ------------------------------------------------"
380 F$(4)=" [210][197][195][200][206][213][206][199] [206][210] "
390 F$(5)="=============================================="
500 REM
510 REM -------------------------------
520 REM - FESTWERTE -
530 REM -------------------------------
540 REM
550 ME(1)=0.14
560 C$=CHR$(13):D$=CHR$(32)
570 E$=CHR$(133)
580 L$=" "
590 LZ$=" "
600 F$(5)=L$+LEFT$(F$(5)+F$(5),82)
700 REM
705 REM -------------------------------
710 REM - DATA BEGRIFFE -
715 REM -------------------------------
720 REM
725 FOR I=1 TO 5:READ AN$(I):NEXT
730 DATA "1) : ":DATA "2) : "
735 DATA "3) :[160]":DATA "4) : "
740 DATA "5) : "
745 REM
750 FOR I=1 TO 2:READ RN$(I):NEXT
755 DATA "RG-NR : "
760 DATA "DATUM : "
765 REM
770 FOR I=1 TO 2:READ LF$(I):NEXT
775 DATA "LFSCH :[146] ":DATA "DATUM :[146] "
780 REM
785 FOR I=1 TO 6:READ AR$(I):NEXT
790 DATA "MENGE :[146] "
795 DATA "ME :[146] "
800 DATA "ARTIKEL :[146] "
805 DATA "EINZELPR :[146] "
810 DATA "GESAMTPR :[146] "
815 DATA "PE :[146] "
820 REM
825 FOR I=1 TO 3:READ RB$(I):NEXT
830 DATA "WARENWERT : "
835 DATA "MWST 14 % : "
840 DATA "ENDBETRAG : "
1000 REM
1010 REM ------------------------------
1020 REM - PRG MASKE -
1030 REM ------------------------------
1035 REM
1040 PRINT CHR$(147)
1045 REM
1050 PRINT"***************************************"
1060 PRINT"* *"
1070 PRINT"* F A K T U R I E R U N G 1.1 *"
1080 PRINT"* *"
1090 PRINT"***************************************"
1100 REM
1110 REM ------------------------------
1120 REM - ANSCHRIFT -
1130 REM ------------------------------
1140 REM
1145 FOR L=1 TO 3:PRINT:NEXT L
1150 PRINT"RECHNUNGSANSCHRIFT"
1160 PRINT"------------------"
1170 PRINT
1180 FOR I=1 TO 4:AS$(I)=""
1190 PRINT AN$(I);:INPUT AS$(I)
1200 IF AS$(I)="***" THEN END
1210 NEXT
1220 I=5:PRINT CHR$(17);
1230 PRINT AN$(I);:INPUT AS$(I)
1300 REM
1310 REM ------------------------------
1320 REM - RG DATEN -
1330 REM ------------------------------
1340 REM
1350 PRINT:PRINT
1360 FOR I=1 TO 2:RE$(I)=""
1370 PRINT CHR$(17);
1380 PRINT TAB(18) RN$(I);:INPUT RE$(I)
1385 IF RE$(I)="***" THEN 1040
1390 NEXT
1400 REM
1410 REM ------------------------------
1420 REM - LFSCH -
1430 REM ------------------------------
1440 REM
1450 PRINT CHR$(147)
1460 PRINT"LIEFERSCHEIN"
1470 PRINT"------------"
1480 PRINT
1490 I=1:LS$(1)=""
1500 PRINT LF$(1);:INPUT LS$(I)
1510 I=2:LS$(2)=""
1520 PRINT CHR$(145);
1530 PRINT TAB(24) LF$(I);:INPUT LS$(I)
1600 REM
1610 REM ------------------------------
1620 REM - ARTIKEL -
1630 REM ------------------------------
1640 REM
1650 FOR L=1 TO 3:PRINT:NEXT L
1660 PRINT"ARTIKELEINGABE"
1670 PRINT"--------------"
1680 PRINT
1690 I=1:AT$(I)=""
1700 PRINT AR$(I);:INPUT AT$(I)
1710 I=2:PRINT CHR$(145);
1720 PRINT TAB(24) AR$(I);:INPUT AT$(I)
1730 FOR I=3 TO 4:PRINT CHR$(17);
1740 PRINT AR$(I);:INPUT AT$(I):NEXT
1750 I=6:AT$(6)="":PRINT CHR$(145);
1760 PRINT TAB(24) AR$(I);:INPUT AT$(I)
1800 REM
1810 REM ------------------------------
1820 REM - VERZWEIGUNG 1 -
1830 REM ------------------------------
1840 REM
1850 FOR L=1 TO 3:PRINT:NEXT L
1860 PRINT"NEUER ARTIKEL -> 1 RECHNUNG ENDE -> 2[146]"
2000 REM
2010 REM ------------------------------
2020 REM - GESAMTPREIS -
2030 REM ------------------------------
2040 REM
2050 IF AT$(6)>"3" OR AT$(6)="" THEN AT$(6)="0":GOTO 2090
2060 IF AT$(6)="1" THEN GP=VAL(AT$(1))*VAL(AT$(4))/10:GOTO 2100
2070 IF AT$(6)="2" THEN GP=VAL(AT$(1))*VAL(AT$(4))/100:GOTO 2100
2080 IF AT$(6)="3" THEN GP=VAL(AT$(1))*VAL(AT$(4))/1000:GOTO 2100
2090 IF AT$(6)="0" THEN GP=VAL(AT$(1))*VAL(AT$(4))
2100 REM
2110 GP=INT(GP*100+0.5)/100
2120 NZ$="":G=GP:GOSUB 30500:GP$=NZ$
2130 ZS=ZS+VAL(GP$)
2300 REM
2310 REM ------------------------------
2320 REM - GET -
2330 REM ------------------------------
2340 REM
2350 A$="":GET A$:IF A$="" THEN 2350
2360 IF A$<"1" OR A$>"2" THEN 2350
2500 REM
2510 REM ------------------------------
2520 REM - GOSUB -
2530 REM ------------------------------
2540 REM
2550 IF A$="2" THEN 2600
2560 REM
2570 GOSUB 31500:GOSUB 32000
2580 AT$(5)="":GOTO 1400
2590 REM
2600 GOSUB 31000:GOSUB 31500
2610 GOSUB 32000:GOSUB 32500
2620 GOSUB 33000:Z=0
2630 GOSUB 35000:GOTO 100
30000 REM
30010 REM =============================
30020 REM = ROUTINEN =
30030 REM =============================
30500 REM
30510 REM -----------------------------
30520 REM - NACHKOMMA / 0.00 -
30530 REM -----------------------------
30540 REM
30550 NZ$=STR$(G)
30560 IF LEFT$(RIGHT$(NZ$,3),1)= "." THEN 30590
30570 IF LEFT$(RIGHT$(NZ$,2),1)= "." THEN NZ$=NZ$+"0":GOTO 30590
30580 IF LEFT$(RIGHT$(NZ$,1),1)<>"." THEN NZ$=NZ$+".00"
30590 IF MID$(NZ$,2,1)="." THEN NZ$=LEFT$(NZ$,1)+"0"+MID$(NZ$,2,2)
30600 G$=STR$(G):G$="":G=VAL(G$)
30610 RETURN
31000 REM
31010 REM -----------------------------
31020 REM - AUFBAU ANSCHRIFT -
31030 REM -----------------------------
31040 REM
31050 AS$(1)=L$+AS$(1):AS$(2)=L$+AS$(2)
31060 AS$(3)=L$+AS$(3):AS$(4)=L$+AS$(4)
31070 AS$(5)=L$+AS$(5)
31080 REM
31090 IF AS$(4)="" THEN 31120
31100 REM
31110 AS$=C$+AS$(1)+C$+AS$(2)+C$+AS$(3)+C$+AS$(4)+C$+C$+AS$(5):GOTO 31140
31120 AS$=AS$(1)+C$+AS$(2)+C$+AS$(3)+C$+C$+AS$(5)
31130 REM
31140 RE$=LEFT$((RE$(1)+LZ$),33)+RIGHT$(LZ$+RE$(2),35)
31150 RETURN
31500 REM
31510 REM -----------------------------
31520 REM - AUFBAU ZEILE -
31530 REM -----------------------------
31540 REM
31550 IF LS$(1)="" AND LS$(2)="" THEN LS$=LEFT$(LZ$,16):GOTO 31600
31560 IF LS$(1)="" OR LS$(2)="" THEN LS$=LEFT$(LZ$,16):GOTO 31600
31570 REM
31580 LS$=L$+LEFT$(LS$(1),4)+D$+D$+LEFT$(LS$(2),5)
31590 REM
31600 AT$(1)=RIGHT$(LZ$+AT$(1),8)
31610 AT$(2)=LEFT$(AT$(2)+LZ$,4)
31620 AT$(3)=LEFT$(AT$(3)+LZ$,34)
31630 AT$(4)=RIGHT$(LZ$+AT$(4),8)
31640 AT$(5)=RIGHT$(LZ$+GP$,9)
31650 REM
31660 AT$=LS$+D$+D$+AT$(1)+D$+D$+AT$(2)+D$+D$+AT$(3)+D$+AT$(4)+D$+AT$(5)
31670 RETURN
32000 REM
32010 REM -----------------------------
32020 REM - AUFBAU TEXT -
32030 REM -----------------------------
32040 REM
32050 Z=Z+1:RT$(Z)=RT$(Z)+AT$
32060 LS$="":AT$=""
32070 RETURN
32500 REM
32510 REM -----------------------------
32520 REM - SUMMENBILDUNG -
32530 REM -----------------------------
32540 REM
32550 GP=VAL(GP$)
32560 G$=STR$(G):G$="":G=VAL(G$)
32570 NZ$="":G=ZS:GOSUB 30500:ZS$=NZ$
32580 ME=INT(ZS*ME(1)*100+0.5)/100
32590 NZ$="":G=ME:GOSUB 30500:ME$=NZ$
32600 SU=ZS+ME
32610 NZ$="":G=SU:GOSUB 30500:SU$=NZ$
32620 REM
32630 ZS$=RIGHT$(L$+ZS$,9)
32640 ME$=RIGHT$(L$+ME$,9)
32650 SU$=RIGHT$(L$+SU$,9)
32700 REM
32710 REM -----------------------------
32720 REM - SUMMENTEXT -
32730 REM -----------------------------
32740 REM
32750 ST$(1)=RB$(1)+LEFT$(LZ$,10)+ZS$
32760 ST$(2)=RB$(2)+LEFT$(LZ$,10)+ME$
32770 ST$(3)=RB$(3)+LEFT$(LZ$,10)+SU$
32780 REM
32790 ST$(1)=LEFT$(LZ$,56)+ST$(1)
32800 ST$(2)=LEFT$(LZ$,56)+ST$(2)
32810 ST$(3)=LEFT$(LZ$,56)+ST$(3)
32820 REM
32830 RETURN
33000 REM
33010 REM -----------------------------
33020 REM - ZAHLUNGSBED. -
33030 REM -----------------------------
33040 REM
33050 FOR L=1 TO 3:PRINT:NEXT L
33060 PRINT"2% SKONTO -> 1 3% SKONTO -> 2[146]"
33100 REM
33110 REM -----------------------------
33120 REM - GET -
33130 REM -----------------------------
33140 REM
33150 A$="":GET A$:IF A$="" THEN 33150
33160 IF A$=CHR$(13) THEN 33200
33170 IF A$<"1" OR A$>"2" THEN 33150
33200 REM
33210 REM -----------------------------
33220 REM - ZB TEXTE -
33230 REM -----------------------------
33240 REM
33250 ZB$(1)="ZAHLUNG : "
33260 ZB$(2)="NACH ERHALT - OHNE ABZUG"
33270 ZB$(3)="INNERHALB 8 TAGEN "
33280 ZB$(4)="INNERHALB 30 TAGEN NETTO KASSE"
33290 ZB$(5)="MIT 2% SKONTO"
33300 ZB$(6)="MIT 3% SKONTO"
33310 REM
33320 IF A$=CHR$(13) THEN ZB$=ZB$(1)+ZB$(2):GOTO 33360
33330 IF A$="1" THEN ZB$=ZB$(1)+ZB$(3)+ZB$(5)+C$+LEFT$(LZ$,34)+ZB$(4)
33340 IF A$="2" THEN ZB$=ZB$(1)+ZB$(3)+ZB$(6)+C$+LEFT$(LZ$,34)+ZB$(4)
33350 REM
33360 ZB$=LEFT$(LZ$,22)+ZB$
33370 RETURN
35000 REM
35010 REM -----------------------------
35020 REM - PRINT DRUCKER -
35030 REM -----------------------------
35040 REM
35050 CLOSE 4:OPEN 4,4
35060 PRINT#4,CHR$(27);"C";CHR$(0);CHR$(12);
35070 PRINT#4,CHR$(27);"J";CHR$(110);
35080 PRINT#4,CHR$(27);"P";
35090 PRINT#4,CHR$(27);"G";
35100 PRINT#4,CHR$(27);"W";CHR$(1);
35110 PRINT#4,F$(1)
35120 PRINT#4,CHR$(27);"W";CHR$(0);
35130 PRINT#4,CHR$(27);"H";
35140 PRINT#4,CHR$(27);"J";CHR$(120);
35150 PRINT#4,CHR$(27);"P";
35160 PRINT#4,CHR$(27);CHR$(15);
35170 PRINT#4,F$(2)
35180 PRINT#4,F$(3)
35190 PRINT#4,CHR$(27);"M";
35200 PRINT#4,AS$
35210 PRINT#4,CHR$(27);"J";CHR$(110);
35215 PRINT#4,F$(5)
35220 PRINT#4,CHR$(27);"G";
35230 PRINT#4,F$(4);
35240 PRINT#4,CHR$(27);"H";
35250 PRINT#4,CHR$(27);"M";
35260 PRINT#4,RE$
35265 PRINT#4,F$(5)
35270 PRINT#4,CHR$(27);"J";CHR$(20);
35280 Z=Z+1:IF RT$(Z)="" THEN 35300
35290 PRINT#4,RT$(Z):GOTO 35280
35300 PRINT#4,CHR$(27);"J";CHR$(60);
35310 PRINT#4,ST$(1)
35320 PRINT#4,ST$(2)
35330 PRINT#4,CHR$(27);"J";CHR$(15);
35340 PRINT#4,CHR$(27);"G";
35350 PRINT#4,ST$(3)
35360 PRINT#4,CHR$(27);"H";
35370 PRINT#4,CHR$(27);"J";CHR$(110);
35380 PRINT#4,ZB$
35390 PRINT#4,CHR$(07);
35400 PRINT#4,CHR$(12);
35410 PRINT#4,CHR$(27);CHR$(64)
35420 CLOSE 4:RETURN