-
Notifications
You must be signed in to change notification settings - Fork 11
/
08_Bestellungen.bc2
316 lines (315 loc) · 8.36 KB
/
08_Bestellungen.bc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
1000 A=5000:GOTO20:REM ***BESTELLUNG***
1010 REM
1020 REM (C) HEIKE UND MANFRED FILLINGER , 20.2.83
1030 REM
1040 REM INITIALISIERUNG
1050 REM
1080 DIMAD$(60),S(60),BN$(60),EZ(60),ZS(60)
1090 REM
1100 REM
1110 REM KONSTANTEN
1120 LETRL=10:REM LINKER PAPIERRAND
1150 LETK1$="POS ARTIKEL STK."
1155 LETK2$="BESTELLNR.EINZEL(DM) SUMME(DM)"
1160 REM
1170 REM VARIABLEN
1180 REM A1$...ABSENDER NAME
1190 REM A2$...ABSENDER STRASSE BZW. POSTFACH
1200 REM A3$...ABSENDER PLZ , ORT
1210 REM A4$...ABSENDER TEL.NR.
1220 REM
1230 REM D$....DATUM
1240 REM
1250 REM E1$...EMPFAENGER NAME
1260 REM E2$...EMPFAENGER STRASSE BZW. POSTFACH
1270 REM E3$...EMPFAENGER PLZ , ORT
1275 REM KN$...KUNDENNUMMER
1280 REM
1290 REM PS....AKTUELLE POSITION
1300 REM PM....MAXIMALE POSITION
1310 REM AD$...ARTIKEL
1320 REM S.....STUECKZAHL
1330 REM BN$...BESTELLNUMMER
1340 REM EZ....EINZELPREIS
1350 REM ZS....ZEILENSUMME
1360 REM ES....ENDSUMME
1370 REM
1375 REM TB....TABULATOR
1380 REM C$....DIALOGPUFFER
1390 REM AW....AUSWAHL
1400 REM CU$...UEBERGABEPUFFER
1410 REM SA....AKTUELLE SCHREIBLAENGE
1420 REM SM....MAXIMALE SCHREIBLAENGE
1430 REM X.....HILFSVAR.FUER WARTESCHLEIFE
1435 REM ZL....ZEILENLAENGE
1440 REM
1450 REM
1460 REM
2000 REM---AUSWAHL-MODUL---
2010 REM
2020 GOSUB100
2030 PRINT"B E S T E L L U N G"
2040 PRINT"-------------------"
2050 PRINT"EINGABE ABSENDER (BRIEFKOPF)........1"
2060 PRINT"EINGABE EMPFAENGER..................2"
2070 PRINT
2080 PRINT"BERECHNUNG/BILDSCHIRMAUSGABE........3"
2090 PRINT"BERECHNUNG/HARDCOPY.................4"
2100 PRINT
2110 PRINT"BESTELLUNG EINGEBEN.................5"
2140 PRINT"BESTELLUNG AENDERN..................6"
2150 PRINT
2160 PRINT"PROGRAMM BEENDEN....................7"
2170 PRINT:PRINT":";
2180 INPUTAW
2190 PRINT
2200 ONAW GOSUB3000,4000,5000,6000,7000,8000,9999
2210 PS=PM
2220 GOTO2000
2230 REM
2240 REM
2250 REM
3000 REM---EINGABE-MODUL ABSENDER (BRIEFKOPF)---
3010 REM
3020 PRINT"ABSENDER"
3030 PRINT"--------"
3040 SM=21
3050 CU$=A1$:PRINT"NAME:":GOSUB15000:A1$=CU$
3060 PRINT
3070 CU$=A2$:PRINT"STRASSE BZW.POSTFACH:":GOSUB15000
3080 A2$=CU$
3090 PRINT
3100 CU$=A3$:PRINT"PLZ , ORT:":GOSUB15000:A3$=CU$
3110 PRINT
3120 CU$=A4$:PRINT"TELEFONNUMMER:":GOSUB15000:A4$=CU$
3130 PRINT
3140 SM=10
3150 CU$=D$:PRINT"DATUM:":GOSUB15000:D$=CU$
3160 PRINT
3170 GOSUB15500
3180 RETURN
3190 REM
3200 REM
3210 REM
4000 REM---EINGABE-MODUL EMPFAENGER---
4010 REM
4020 PRINT"EMPFAENGER"
4030 PRINT"----------"
4040 SM=21
4050 CU$=E1$:PRINT"NAME:":GOSUB15000:E1$=CU$
4060 PRINT
4070 CU$=E2$:PRINT"STRASSE BZW. POSTFACH:":GOSUB15000
4080 E2$=CU$
4090 PRINT
4100 CU$=E3$:PRINT"PLZ , ORT:":GOSUB15000:E3$=CU$
4110 PRINT
4120 CU$=KN$:PRINT"KUNDENNR.:":GOSUB15000:KN$=CU$:PRINT
4130 GOSUB15500
4140 RETURN
4150 REM
4160 REM
4170 REM
5000 REM---MODUL BERECHNUNG/BILDSCHIRMAUSGABE---
5010 REM
5020 GOSUB16000
5030 REM ABSENDER
5040 PRINTA1$;:PRINTTAB(22);A2$
5050 PRINTTAB(22);A3$
5060 PRINTTAB(22);"TEL.";A4$
5070 PRINTTAB(22);"DATUM ";D$
5080 REM EMPFAENGER
5090 PRINT
5100 PRINT"FIRMA"
5110 PRINTE1$
5120 PRINTE2$
5130 PRINTE3$
5140 REM BESTELLUNG
5150 PRINT:PRINT"KUNDENNR.:";KN$:PRINT
5160 PRINT"BESTELLUNUG"
5170 PRINT"-----------"
5180 GOSUB15500
5190 PRINTK1$:PRINT" ";K2$:PRINT
5200 FORPS=1 TOPM
5210 IFAD$(PS)="" THEN5240
5220 GOSUB16500
5230 PRINT
5240 IF(PS/4)=INT(PS/4) THENGOSUB15500:PRINTK1$
5250 IF(PS/4)=INT(PS/4) THENPRINT" ";K2$
5260 NEXTPS
5270 PRINT:PRINTTAB(28);"-----------"
5280 SR=ES:CT=9:CN=2:GOSUB310:PRINTTAB(28);SR$;"DM"
5290 GOSUB15500
5300 RETURN
5310 REM
5320 REM
5330 REM
6000 REM---MODUL BERECHNUNG/HARDCOPY---
6010 REM
6020 GOSUB16000
6030 REM ABSENDER
6040 GOSUB360
6050 TB=RL:SR$=A1$:GOSUB17000
6060 TB=RL+37-LEN(SR$):SR$=A2$:GOSUB17000:GOSUB360
6070 TB=RL+37:SR$=A3$:GOSUB17000:GOSUB360
6080 TB=RL+37:SR$="TEL."+A4$:GOSUB17000:GOSUB360
6090 TB=RL+37:SR$="DATUM "+D$:GOSUB17000:GOSUB360
6100 GOSUB360:GOSUB360
6110 REM EMPFAENGER
6120 GOSUB360:GOSUB360:GOSUB360
6130 TB=RL:SR$="FIRMA":GOSUB17000:GOSUB360
6140 TB=RL:SR$=E1$:GOSUB17000:GOSUB360
6150 TB=RL:SR$=E2$:GOSUB17000:GOSUB360
6160 TB=RL:SR$=E3$:GOSUB17000:GOSUB360
6170 GOSUB360:GOSUB360:GOSUB360
6180 REM BESTELLUNG
6190 IFKN$<>"" THENSR$="":TB=RL:GOSUB17000
6200 IFKN$<>"" THENSR$=SR$+"KUNDEN-NR.: "+KN$
6210 GOSUB350:GOSUB360
6220 TB=RL:SR$="B E S T E L L U N G":GOSUB17000:GOSUB360
6230 TB=RL:SR$="-------------------":GOSUB17000:GOSUB360
6240 GOSUB360:GOSUB360
6250 TB=RL:SR$=K1$+K2$:GOSUB17000:GOSUB360
6260 GOSUB360
6270 FORPS=1 TOPM
6280 IFAD$(PS)="" THENGOTO6400
6290 SR=PS:CT=3:CN=0:GOSUB310
6300 TB=RL:GOSUB17000:ZL=LEN(SR$)
6310 TB=RL+4-ZL:SR$=AD$(PS):GOSUB17000:ZL=ZL+LEN(SR$)
6320 SR=S(PS):CT=4:CN=0:GOSUB310
6330 TB=RL+28-ZL:GOSUB17000:ZL=ZL+LEN(SR$)
6340 TB=RL+33-ZL:SR$=BN$(PS):GOSUB17000:ZL=ZL+LEN(SR$)
6350 SR=EZ(PS):CT=8:CN=2:GOSUB310
6360 TB=RL+45-ZL:GOSUB17000:ZL=ZL+LEN(SR$)
6370 SR=ZS(PS):CT=8:CN=2:GOSUB310
6380 TB=RL+55-ZL:GOSUB17000
6390 GOSUB360
6400 NEXTPS
6410 GOSUB360:TB=RL+53:SR$="----------":GOSUB17000
6420 GOSUB360
6430 SR=ES:CT=8:CN=2:GOSUB310
6440 TB=RL+55:GOSUB17000
6450 GOSUB360:GOSUB360:GOSUB360
6460 TB=RL+2:SR$="("+A1$+")":GOSUB17000:GOSUB360
6470 RETURN
6480 REM
6490 REM
6500 REM
7000 REM---MODUL BESTELLUNG EINGEBEN---
7010 PS=PM+1
7020 REM
7030 SM=23
7040 CU$="":PRINT"ARTIKEL:":GOSUB15000:AD$(PS)=CU$
7050 IFAD$(PS)="" THENPM=PS-1:RETURN
7060 SM=4
7070 PRINT
7080 CU$="":PRINT"STUECKZAHL:":GOSUB15000:S(PS)=VAL(CU$)
7090 SM=10
7100 PRINT
7110 CU$="":PRINT"BESTELLNUMMER:":GOSUB15000:BN$(PS)=CU$
7120 PRINT
7130 PRINT"EINZELPREIS:";:INPUTEZ(PS)
7140 PS=PS+1
7150 PRINT"....................."
7160 GOTO7030
7170 REM
7180 REM
7190 REM
8000 REM---MODUL BESTELLUNG AENDERN---
8010 REM
8020 PRINT
8030 PRINT"WELCHE POS. SOLL GEAENDERT WERDEN :";:INPUTPS
8040 IFPS>PM THENPRINT"POS. ZU GROSS !":GOTO8290
8050 PRINT
8060 PRINTK1$:PRINTK2$
8070 PRINT
8080 GOSUB16500
8090 PRINT
8100 PRINT"BESTELLZEILE LOESCHEN (D) ODER AENDERN (C)";
8110 INPUTC$
8120 IFC$="D" THENAD$(PS)="":S(PS)=0:BN$(PS)="":EZ(PS)=0
8130 IFC$="D" THEN8290
8140 SM=23
8150 CU$=AD$(PS):PRINT"ARTIKEL:":GOSUB15000:AD$(PS)=CU$
8160 SM=4
8170 SR=S(PS):GOSUB300:CU$=SR$
8180 PRINT
8190 PRINT"STUECKZAHL:":GOSUB15000:S(PS)=VAL(CU$)
8200 SM=10
8210 PRINT
8220 CU$=BN$(PS):PRINT"BESTELLNUMMER:":GOSUB15000
8230 BN$(PS)=CU$
8240 SM=8
8250 SR=EZ(PS):GOSUB300:CU$=SR$
8260 PRINT
8270 PRINT"EINZELPREIS:":GOSUB15000:EZ(PS)=VAL(CU$)
8280 PRINT
8290 PRINT"WEITERE AENDERUNGEN (J/N):";:INPUTC$
8300 IFC$="J" THEN8000
8310 RETURN
8320 REM
8330 REM
8340 REM
9999 END
15000 REM ---UNTERPROGRAMM ZEILEN-EDITOR---
15010 REM
15020 REM EINGABEPARAMETER - SM (ZUL. TEXT-LAENGE)
15030 REM EINGABEPARAMETER - CU$ (ALT-TEXT)
15040 REM AUSGABEPARAMETER - CU$ (NEU-TEXT)
15050 REM
15060 PRINT">";:GOSUB120:HO=HO+SM:GOSUB110:PRINT"<";
15070 HO=HO-SM:GOSUB110:PRINTCU$;:PRINT"<";
15080 GOSUB120:GOSUB210
15090 IF(IN$="<") AND(HO>2) THENGOSUB15170
15100 IFIN$=CHR$(13) THENRETURN
15110 IFIN$="<" THEN15080
15120 IFHO>=(SM+2) THEN15080
15130 CU$=CU$+IN$
15140 GOSUB120:HO=HO-1:GOSUB110
15150 PRINTIN$;:PRINT"<";
15160 GOTO15080
15170 GOSUB120:HO=HO-1:GOSUB110
15180 IFHO<>(SM+1) THENPRINT" ";
15190 HO=HO-1:GOSUB110:PRINT"<";
15200 IFHO<=1 THENCU$="":RETURN
15210 CU$=LEFT$(CU$,HO-1)
15220 RETURN
15500 REM---UNTERPROGRAMM WARTESCHLEIFE---
15510 REM
15520 PRINT"FUER WEITER: EINE TASTE DRUECKEN !"
15530 GOSUB210:RETURN
15540 REM
15550 REM
15560 REM
16000 REM---UNTERPROGRAMM BERECHNUNG---
16010 REM
16020 ES=0
16030 FORPS=1 TOPM
16040 ZS(PS)=S(PS)*EZ(PS)
16050 ES=ES+ZS(PS)
16060 NEXTPS
16070 RETURN
16080 REM
16090 REM
16100 REM
16500 REM---UNTERPROGRAMM AUSGABE EINER BESTELL-ZEILE---
16510 REM
16520 SR=PS:CT=3:CN=0:GOSUB310:PRINTSR$;
16530 PRINTTAB(4)AD$(PS);
16540 SR=S(PS):CT=4:CN=0:GOSUB310:PRINTTAB(28);SR$
16550 PRINTTAB(3);BN$(PS);
16560 SR=EZ(PS):CT=8:CN=2:GOSUB310:PRINTTAB(13);SR$;"DM";
16570 SR=ZS(PS):CT=8:CN=2:GOSUB310:PRINTTAB(23);SR$;"DM"
16580 RETURN
16590 REM
16600 REM
16610 REM
17000 REM---UNTERPROGRAMM TAB FUER DRUCKER---
17010 REM
17020 FORI=1 TOTB
17030 SR$=" "+SR$
17040 NEXTI
17050 GOSUB350
17060 RETURN
17070 REM
17080 REM
17090 REM