home *** CD-ROM | disk | FTP | other *** search
- 3 REM *****************************************************
- 5 REM Basic-Kurs(4) (C) Th.Frins/W.Kehr & toolbox 1990
- 10 REM ******************** GBWBSP4_A.BAS ******************
- 20 REM KALKULATION DER SELBSTKOSTEN
- 30 REM PROGRAMMIERER: XYZ
- 40 REM Variablenbeschreibungen wie in den vorhergehenden
- 50 REM Fassungen
- 60 :
- 230 REM *** AB HIER BEGINNT DAS HAUPTPROGRAMM **************
- 240 :
- 250 REM ************** Variableninitialisierung ************
- 260 LEER$ = SPACE$(55)
- 270 WARTEN$ = "j"
- 275 GOSUB 61000 'INITIALISIERUNG FÜR EINGABEROUTINE
- 280 REM ************** Beginn der Hauptschleife ************
- 290 WHILE WARTEN$ = "j" OR WARTEN$ = "J"
- 300 GOSUB 1000 'MASKE
- 310 GOSUB 2000 'AUSWAHL
- 320 IF WAHL$ = "3" THEN WARTEN$ = "n"
- 330 IF WAHL$ <> "3" THEN GOSUB 6000: GOSUB 7000 'BERECHNUNG : AUSGABE
- 340 WEND
- 500 END
- 510 REM *** ENDE DES HAUPTPROGRAMMS ************************
- 520 :
- 1000 REM *** BEGINN UNTERPROGRAMM MASKE ********************
- 1005 :
- 1006 REM Haben wir letztes Mal versäumt, als Schleife umzubauen
- 1007 REM Sie haben es doch sicherlich gleich entdeckt und
- 1008 REM selbst erledigt !?
- 1010 CLS : KEY OFF
- 1020 LOCATE 2, 5: PRINT STRING$(1, 201); STRING$(70, 205); STRING$(1, 187)
- 1030 FOR I = 3 TO 22
- 1040 LOCATE I, 5: PRINT STRING$(1, 186): LOCATE I, 76: PRINT STRING$(1, 186)
- 1050 NEXT I
- 1230 LOCATE 23, 5: PRINT STRING$(1, 200); STRING$(70, 205); STRING$(1, 188)
- 1240 REM ******** Bearbeitungsart wählen *******************
- 1250 LOCATE 3, 15: PRINT "Bearbeitungsart wählen"
- 1260 LOCATE 5, 15: PRINT "[ 1 ] Gemeinkostenzuschläge selbst eingeben"
- 1270 LOCATE 7, 15: PRINT "[ 2 ] Gemeinkostenzuschläge - Standardwerte übernehmen"
- 1280 LOCATE 9, 15: PRINT "[ 3 ] Programm abbrechen"
- 1290 LOCATE 11, 15: PRINT "Die Standardwerte lauten wie folgt:"
- 1300 LOCATE 13, 15: PRINT "Materialgemeinkosten : 20 %"
- 1310 LOCATE 15, 15: PRINT "Fertigungsgemeinkosten : 50 %"
- 1320 LOCATE 17, 15: PRINT "Verwaltungsgemeinkosten : 10 %"
- 1330 LOCATE 19, 15: PRINT "Vertriebsgemeinkosten : 5 %"
- 1340 LOCATE 22, 15: PRINT "Bitte mit der Ziffer '1' oder '2' oder '3' wählen ";
- 1350 RETURN
- 1360 :
- 1370 REM *** ENDE UNTERPROGRAMM MASKE **********************
- 1380 :
- 2000 REM *** BEGINN UNTERPROGRAMM AUSWAHL ******************
- 2005 :
- 2010 WAHLSCHLEIFE = 1
- 2020 WHILE WAHLSCHLEIFE = 1
- 2030 WAHL$ = INKEY$
- 2040 IF WAHL$ = "1" OR WAHL$ = "2" OR WAHL$ = "3" THEN WAHLSCHLEIFE = 0
- 2050 IF WAHL$ <> "1" AND WAHL$ <> "2" AND WAHL$ <> "3" AND WAHL$ <> "" THEN BEEP
- 2060 WEND
- 2070 IF WAHL$ = "3" THEN 2300 'Sprung zum RETURN
- 2080 ZEILE = 3
- 2090 WHILE ZEILE < 20
- 2100 LOCATE ZEILE, 15
- 2120 PRINT LEER$
- 2130 ZEILE = ZEILE + 2
- 2140 WEND
- 2160 REM ******* Ersatzweise mit einer FOR-Schleife ********
- 2170 REM FOR ZEILE = 3 TO 19 STEP 2
- 2180 REM LOCATE ZEILE, 15
- 2190 REM PRINT LEER$
- 2200 REM NEXT ZEILE
- 2210 LOCATE 22, 15: PRINT LEER$
- 2220 GOSUB 5000 'MATERIAL & LOHN
- 2225 WAHL = VAL(WAHL$)
- 2230 ON WAHL GOSUB 3000, 4000 'EIGENWERTE,STANDARDWERTE
- 2300 RETURN
- 2310 :
- 2320 REM *** ENDE DES UNTERPROGRAMMS AUSWAHL ***************
- 2330 :
- 3000 REM *** BEGINN UNTERPROGRAMM EIGENWERTE ***************
- 3005 :
- 3010 LOCATE 12, 10: PRINT "MATERIALGEMEINKOSTEN IN % (max. 100.0 %) .......: "
- 3020 ZEILE = 12: SPALTE = 60: WORT$ = SPACE$(5): LAENGE = 5: ERLAUBT$ = ZAHLEN$
- 3022 VWORT$ = WORT$
- 3030 GOSUB 60000 'EINGABEROUTINE
- 3045 MGPR = VAL(WORT$)
- 3050 LOCATE 14, 10: PRINT "FERTIGUNGSGEMEINKOSTEN IN % (max. 100.0 %) .....: "
- 3060 ZEILE = 14: SPALTE = 60: WORT$ = SPACE$(5): LAENGE = 5: ERLAUBT$ = ZAHLEN$
- 3062 VWORT$ = WORT$
- 3070 GOSUB 60000 'EINGABEROUTINE
- 3085 FPR = VAL(WORT$)
- 3090 LOCATE 16, 10: PRINT "VERWALTUNGSGEMEINKOSTEN IN % (max. 100.0 %) ....: "
- 3100 ZEILE = 16: SPALTE = 60: WORT$ = SPACE$(5): LAENGE = 5: ERLAUBT$ = ZAHLEN$
- 3102 VWORT$ = WORT$
- 3110 GOSUB 60000 'EINGABEROUTINE
- 3125 VWPR = VAL(WORT$)
- 3130 LOCATE 18, 10: PRINT "VERTRIEBSGEMEINKOSTEN IN % (max. 100.0 %) ......: "
- 3140 ZEILE = 18: SPALTE = 60: WORT$ = SPACE$(5): LAENGE = 5: ERLAUBT$ = ZAHLEN$
- 3141 VWORT$ = WORT$
- 3142 GOSUB 60000 'EINGABEROUTINE
- 3145 VPR = VAL(WORT$)
- 3150 PRINT
- 3170 PRINT
- 3180 GOSUB 8000 'WARTEN
- 3300 RETURN
- 3310 :
- 3320 REM *** ENDE DES UNTERPROGRAMMS EIGENWERTE ************
- 3330 :
- 4000 REM *** BEGINN UNTERPROGRAMM STANDARDWERTE ************
- 4005 :
- 4010 MGPR = 20: FPR = 50: VWPR = 10: VPR = 5: LOCATE 20, 1
- 4020 GOSUB 8000 'WARTEN
- 4300 RETURN
- 4310 :
- 4320 REM *** ENDE DES UNTERPROGRAMMS STANDARDWERTE *********
- 4330 :
- 5000 REM *** BEGINN UNTERPROGRAMM MATERIAL & LOHN **********
- 5005 :
- 5010 COLOR 0, 7
- 5020 LOCATE 1, 25: PRINT "KALKULATION DER SELBSTKOSTEN"
- 5030 COLOR 7, 0
- 5040 LOCATE 4, 20: PRINT "Dezimalstelle mit PUNKT oder KOMMA eingeben:"
- 5050 PRINT
- 5060 LOCATE 8, 10: PRINT "FERTIGUNGSMATERIAL IN DM (max. 99999.99 DM) ....: "
- 5070 ZEILE = 8: SPALTE = 60: WORT$ = SPACE$(8): LAENGE = 8: ERLAUBT$ = ZAHLEN$
- 5072 VWORT$ = WORT$
- 5073 GOSUB 60000 'EINGABEROUTINE
- 5075 FM = VAL(WORT$)
- 5080 LOCATE 10, 10: PRINT "FERTIGUNGSLÖHNE IN DM (max. 99999.99 DM) .......: "
- 5090 ZEILE = 10: SPALTE = 60: WORT$ = SPACE$(8): LAENGE = 8: ERLAUBT$ = ZAHLEN$
- 5092 VWORT$ = WORT$
- 5095 GOSUB 60000 'EINGABEROUTINE
- 5100 FL = VAL(WORT$)
- 5110 RETURN
- 5120 :
- 5130 REM *** ENDE DES UNTERPROGRAMMS MATERIAL & LOHN *******
- 5140 :
- 6000 REM *** BEGINN UNTERPROGRAMM BERECHNUNG ***************
- 6005 :
- 6020 LET MGDM = FM * MGPR / 100
- 6030 FDM = FL * FPR / 100
- 6040 H = FM + FL + MGDM + FDM
- 6050 VWDM = H * VWPR / 100
- 6060 VDM = H * VPR / 100
- 6070 S = H + VWDM + VDM
- 6080 RETURN
- 6090 :
- 6100 REM *** ENDE DES UNTERPROGRAMMS BERECHNUNG ************
- 6110 :
- 7000 REM *** BEGINN UNTERPROGRAMM AUSGABE ******************
- 7005 :
- 7007 CLS
- 7010 PRINT
- 7015 DATUM$ = MID$(DATE$, 4, 3) + MID$(DATE$, 1, 3) + MID$(DATE$, 7, 4)
- 7020 PRINT "KALKULATION DER SELBSTKOSTEN VOM "; DATUM$
- 7025 PRINT
- 7030 PRINT "FERTIGUNGSMATERIAL";
- 7035 COLOR 15, 0: PRINT TAB(40); USING "######.## DM"; FM: COLOR 7, 0
- 7040 PRINT "+ ";
- 7045 PRINT USING "###.##"; MGPR;
- 7050 PRINT " % MATERIALGEMEINKOSTEN";
- 7055 COLOR 15, 0: PRINT TAB(40); USING "######.## DM"; MGDM: COLOR 7, 0
- 7060 PRINT "FERTIGUNGSLÖHNE";
- 7065 COLOR 15, 0: PRINT TAB(40); USING "######.## DM"; FL: COLOR 7, 0
- 7070 PRINT "+ ";
- 7075 PRINT USING "###.##"; FPR;
- 7080 PRINT " % FERTIGUNGSGEMEINKOSTEN";
- 7090 COLOR 15, 0: PRINT TAB(40); USING "######.## DM"; FDM: COLOR 7, 0
- 7100 PRINT "---------------------------------------------------"
- 7105 PRINT "HERSTELLKOSTEN";
- 7110 COLOR 15, 0: PRINT TAB(40); USING "######.## DM"; H: COLOR 7, 0
- 7115 PRINT "+ ";
- 7120 PRINT USING "###.##"; VWPR;
- 7125 PRINT " % VERWALTUNGSGEMEINKOSTEN";
- 7130 COLOR 15, 0: PRINT TAB(40); USING "######.## DM"; VWDM: COLOR 7, 0
- 7135 PRINT "+ ";
- 7140 PRINT USING "###.##"; VPR;
- 7145 PRINT " % VERTRIEBSGEMEINKOSTEN";
- 7150 COLOR 15, 0: PRINT TAB(40); USING "######.## DM"; VDM: COLOR 7, 0
- 7155 PRINT "---------------------------------------------------"
- 7160 COLOR 31, 0
- 7165 PRINT "SELBSTKOSTEN";
- 7170 PRINT TAB(39); USING "#######.## DM"; S
- 7175 COLOR 7, 0
- 7180 PRINT TAB(40); "============"
- 7182 PRINT : PRINT : PRINT
- 7185 GOSUB 8000 'WARTEN
- 7280 RETURN
- 7290 :
- 7300 REM *** ENDE DES UNTERPROGRAMMS AUSGABE ***************
- 7310 :
- 8000 REM *** BEGINN UNTERPROGRAMM WARTEN *******************
- 8005 :
- 8010 LOCATE , 20: PRINT "Weiter mit einer beliebigen Taste";
- 8020 DUMMY$ = INPUT$(1)
- 8030 RETURN
- 8040 :
- 8050 REM *** ENDE DES UNTERPROGRAMMS WARTEN ****************
- 8060 :
- 9000 REM *** BEGINN UNTERPROGRAMM "LADEN" ***
- 9005 :
- 9010 ON ERROR GOTO 11000
- 9020 OPEN "KALK.DAT" FOR INPUT AS #1
- 9030 INPUT #1, MGPR, FPR, VWPR, VPR
- 9040 LOCATE 19, 20
- 9050 PRINT "Geladen wurden die Werte: "; MGPR; FPR; VWPR; VPR
- 9060 GOSUB 8000
- 9070 CLOSE #1
- 9080 ON ERROR GOTO 0
- 9090 RETURN
- 9100 :
- 9110 REM *** ENDE DES UNTERPROGRAMMS "LADEN" ***
- 9120 :
- 10000 REM *** BEGINN UNTERPROGRAMM "SPEICHERN" ***
- 10005 :
- 10010 ON ERROR GOTO 11000
- 10020 OPEN "KALK.DAT" FOR OUTPUT AS #1
- 10030 PRINT #1, MGPR, FPR, VWPR, VPR
- 10040 LOCATE 19, 20
- 10050 PRINT "Gespeichert wurden die Werte: "; MGPR; FPR; VWPR; VPR
- 10060 GOSUB 8000
- 10070 CLOSE #1
- 10080 ON ERROR GOTO 0
- 10090 RETURN
- 10100 :
- 10110 REM *** ENDE DES UNTERPROGRAMMS "SPEICHERN" ***
- 10120 :
- 11000 REM *** BEGINN DER ANWEISUNGEN BEI EINEM DATEIFEHLER *
- 11005 :
- 11010 FEHLNR = ERR
- 11020 WHILE FEHLNR = 53
- 11030 LOCATE 18, 20: BEEP
- 11040 PRINT "Datei nicht vorhanden!"
- 11042 LOCATE 19, 20
- 11044 PRINT "Verarbeitet werden jetzt die Werte: "; MGPR; FPR; VWPR; VPR
- 11050 GOSUB 8000
- 11060 FEHLNR = 0
- 11070 WEND
- 11080 IF ERR = 53 THEN RESUME 9070
- 11090 WHILE FEHLNR = 55
- 11100 LOCATE 19, 20: BEEP
- 11110 PRINT "Datei bereits geöffnet!"
- 11120 GOSUB 8000
- 11130 FEHLNR = 0
- 11140 WEND
- 11150 IF ERR = 55 AND ERL = 9020 THEN RESUME 9030
- 11160 IF ERR = 55 AND ERL = 10020 THEN RESUME 10030
- 11170 :
- 11180 REM *** ENDE DER ANWEISUNGEN BEI EINEM DATEIFEHLER **
- 11190 :
- 59990 REM Hier folgt die Eingaberoutine,
- 59991 REM das sind die Zeilen 60000 ff.
- 59992 REM aus dem Programm "NEWINPUT_A.BAS"!
- 60000 REM *************************************************
- 59990 REM hier folgt die Eingaberoutine
- 59991 REM das sind die Zeilen 60000 ff
- 59992 REM aus dem Programm NEWINPUT_A.BAS
- 60000 REM *************************************************
- 60005 REM EINGABEROUTINE
- 60010 REM *************************************************
- 60015 :
- 60020 REM ***************** SCHLEIFENVORLAUF **************
- 60025 :
- 60030 REM ***************** VORBESETZUNGEN ****************
- 60035 :
- 60037 CURSOR = 7 'CURSORGRÖSSE FESTLEGEN
- 60040 ANFANG = 1 'CURSOR-ANFANGSPOSITION
- 60045 EINF = 0 'UEBERSCHREIBMODUS EIN
- 60050 IF ERLAUBT$ = ZAHLEN$ THEN NUMERISCH = 1 ELSE NUMERISCH = 0
- 60055 LOCATE ZEILE, SPALTE, 1, 6, CURSOR
- 60060 'VORGABE ERSTELLEN
- 60065 WORT$ = WORT$ + STRING$(LAENGE - LEN(WORT$), " ")
- 60067 IF INSTR(WORT$, ".") <> 0 THEN KOMMA = 1 ELSE KOMMA = 0
- 60068 IF INSTR(WORT$, "+") <> 0 OR INSTR(WORT$, "-") <> 0 THEN VORZEICHEN = 1 ELSE VORZEICHEN = 0
- 60070 COLOR 0, 7 'INVERSE DARSTELLUNG EIN
- 60075 PRINT WORT$ 'VORGABE AUSGEBEN
- 60080 :
- 60085 REM ***************** EINGABESCHLEIFE ***************
- 60090 :
- 60095 EINGABESCHLEIFE = 1
- 60100 WHILE EINGABESCHLEIFE = 1
- 60105 LOCATE ZEILE, SPALTE + ANFANG - 1, 1, 6, CURSOR
- 60110 A$ = ""
- 60115 WHILE A$ = ""
- 60120 A$ = INKEY$
- 60125 WEND
- 60130 'RETURN
- 60135 IF A$ = ENDE$ THEN EINGABESCHLEIFE = 0
- 60137 'ESC
- 60138 IF A$ = ESC$ THEN EINGABESCHLEIFE = 0: WORT$ = VWORT$: LOCATE ZEILE, SPALTE: PRINT SPACE$(LAENGE): LOCATE ZEILE, SPALTE: PRINT WORT$
- 60140 'UNGÜLTIGE ZEICHEN
- 60145 IF LEN(A$) = 1 AND INSTR(ERLAUBT$, A$) = 0 AND ASC(LEFT$(A$, 1)) <> 8 AND A$ <> ENDE$ AND A$ <> ESC$ THEN PRINT CHR$(7)
- 60150 'GÜLTIGE ZEICHEN
- 60155 IF LEN(A$) = 1 AND INSTR(ERLAUBT$, A$) <> 0 THEN GOSUB 60250 'ZEICHEN VERARBEITEN
- 60160 IF ASC(LEFT$(A$, 1)) = 8 THEN GOSUB 60485 'BACKSPACE
- 60165 IF LEN(A$) = 2 THEN ON INSTR(STEUER$, RIGHT$(A$, 1)) GOSUB 60360, 60385, 60400, 60425, 60450, 60530:
- 60167 'Unterprogramme für verschiedene Steuertasten
- 60170 LOCATE , , 1, 6, CURSOR
- 60175 WEND
- 60180 :
- 60185 REM ****************** SCHLEIFENNACHLAUF ************
- 60190 :
- 60195 REM ***** LEERZEICHEN AM STRINGENDE ENTFERNEN *******
- 60200 :
- 60205 WHILE RIGHT$(WORT$, 1) = " " AND LEN(WORT$) <> 0
- 60210 WORT$ = LEFT$(WORT$, LEN(WORT$) - 1)
- 60215 WEND
- 60220 LOCATE , , 1, 6, CURSOR
- 60225 COLOR 7, 0 'INVERSDARSTELLUNG AUS
- 60230 RETURN 'RÜCKSPRUNG ZUM HAUPTPROGRAMM
- 60235 :
- 60240 REM******************* ZEICHENEINGABE ***************
- 60245 :
- 60250 IF EINF = 1 THEN GOSUB 60305 ELSE GOSUB 60265
- 60255 RETURN
- 60260 :
- 60265 REM *** ÜBERSCHREIBMODUS TEXT ****
- 60270 :
- 60275 IF NUMERISCH = 1 THEN GOSUB 60560: RETURN 'ÜBERSCHREIBEN ZAHLEN
- 60276 IF NUMERISCH = 0 THEN MID$(WORT$, ANFANG, 1) = A$ 'ZEICHEN DURCH EINGABE ERSETZEN
- 60280 LOCATE ZEILE, SPALTE + ANFANG - 1, 1, 6, CURSOR
- 60285 PRINT A$
- 60290 IF ANFANG < LAENGE THEN ANFANG = ANFANG + 1
- 60295 RETURN
- 60300 :
- 60305 REM *** EINFÜGEMODUS TEXT ****
- 60310 :
- 60315 IF RIGHT$(WORT$, 1) <> " " THEN PRINT CHR$(7): RETURN
- 60320 IF NUMERISCH = 1 THEN GOSUB 60610: RETURN 'EINFÜGEN ZAHLEN
- 60321 IF NUMERISCH = 0 THEN WORT$ = LEFT$(WORT$, ANFANG - 1) + A$ + MID$(WORT$, ANFANG, LEN(WORT$) - ANFANG) 'ZEICHEN EINFUEGEN
- 60325 LOCATE ZEILE, SPALTE, 1, 6, CURSOR
- 60330 PRINT WORT$
- 60335 IF ANFANG < LAENGE THEN ANFANG = ANFANG + 1
- 60340 RETURN
- 60345 :
- 60350 REM *** CURSOR RECHTS TASTE *****
- 60355 :
- 60360 IF ERLAUBT$ <> ZAHLEN$ THEN IF ANFANG < LAENGE THEN ANFANG = ANFANG + 1: RETURN ELSE BEEP: RETURN
- 60361 IF MID$(WORT$, ANFANG, 1) = " " THEN BEEP ELSE IF ANFANG < LAENGE THEN ANFANG = ANFANG + 1 ELSE BEEP
- 60365 RETURN
- 60370 :
- 60375 REM *** CURSOR LINKS TASTE ******
- 60380 :
- 60385 IF ANFANG > 1 THEN ANFANG = ANFANG - 1 ELSE BEEP
- 60390 RETURN
- 60395 :
- 60400 REM *** HOME TASTE ***
- 60405 :
- 60410 ANFANG = 1 'CURSOR AN DEN ANFANG DER EINGABE
- 60415 RETURN
- 60420 :
- 60425 REM *** END TASTE ****
- 60430 :
- 60435 IF ERLAUBT$ <> ZAHLEN$ THEN ANFANG = LAENGE: RETURN
- 60436 FOR I = ANFANG TO LAENGE
- 60437 IF MID$(WORT$, I, 1) = " " THEN ANFANG = I: I = LAENGE ELSE ANFANG = I
- 60438 NEXT I
- 60440 RETURN
- 60445 :
- 60450 REM *** DELETE TASTE ****
- 60455 :
- 60457 LOESCH$ = MID$(WORT$, ANFANG, 1)
- 60460 WORT$ = LEFT$(WORT$, ANFANG - 1) + RIGHT$(WORT$, LAENGE - ANFANG) + " " 'STRING KORRIGIEREN
- 60461 IF NUMERISCH = 1 AND LOESCH$ = "." THEN KOMMA = 0
- 60462 IF NUMERISCH = 1 AND (LOESCH$ = "+" OR LOESCH$ = "-") THEN VORZEICHEN = 0
- 60465 LOCATE ZEILE, SPALTE, 1, 6, CURSOR
- 60470 PRINT WORT$
- 60475 RETURN
- 60480 :
- 60485 REM****BACKSPACE TASTE******
- 60490 :
- 60495 IF ANFANG = 1 THEN PRINT CHR$(7): RETURN 'SCHON AM ANFANG
- 60497 LOESCH$ = MID$(WORT$, ANFANG - 1, 1):
- 60500 WORT$ = LEFT$(WORT$, ANFANG - 2) + RIGHT$(WORT$, LAENGE - ANFANG + 1) + " " 'STRING KORRIGIEREN
- 60501 IF NUMERISCH = 1 AND LOESCH$ = "." THEN KOMMA = 0
- 60502 IF NUMERISCH = 1 AND (LOESCH$ = "+" OR LOESCH$ = "-") THEN VORZEICHEN = 0
- 60505 LOCATE ZEILE, SPALTE, 1, 6, CURSOR
- 60510 PRINT WORT$
- 60515 ANFANG = ANFANG - 1 'ZEICHENPOSITION AKTUALISIEREN
- 60520 RETURN
- 60525 :
- 60530 REM*****INS TASTE********
- 60535 :
- 60540 EINF = EINF XOR 1 'EINF UMSCHALTEN
- 60545 IF CURSOR = 7 THEN CURSOR = 12 ELSE CURSOR = 7
- 60550 RETURN
- 60555 :
- 60560 REM *** ÜBERSCHREIBMODUS ZAHLEN ***
- 60565 :
- 60570 IF (A$ = "+" OR A$ = "-") AND ANFANG > 1 THEN PRINT CHR$(7): RETURN
- 60572 IF (A$ = "+" OR A$ = "-") AND ANFANG = 1 THEN VORZEICHEN = 1
- 60575 IF (A$ = "," OR A$ = ".") AND KOMMA = 1 THEN PRINT CHR$(7): RETURN
- 60577 IF (A$ = "," OR A$ = ".") AND KOMMA = 0 THEN A$ = ".": KOMMA = 1
- 60580 MID$(WORT$, ANFANG, 1) = A$ 'ZEICHEN DURCH EINGABE ERSETZEN
- 60585 LOCATE ZEILE, SPALTE + ANFANG - 1, 1, 6, CURSOR
- 60590 PRINT A$
- 60595 IF ANFANG < LAENGE THEN ANFANG = ANFANG + 1
- 60600 RETURN
- 60605 :
- 60610 REM *** EINFÜGEMODUS ZAHLEN ****
- 60615 :
- 60620 IF (A$ = "+" OR A$ = "-") AND ANFANG > 1 THEN PRINT CHR$(7): RETURN
- 60621 IF (A$ = "+" OR A$ = "-") AND ANFANG = 1 AND VORZEICHEN = 1 THEN PRINT CHR$(7): RETURN
- 60622 IF (A$ = "+" OR A$ = "-") AND ANFANG = 1 THEN VORZEICHEN = 1
- 60623 IF (A$ = "," OR A$ = ".") AND KOMMA = 1 THEN PRINT CHR$(7): RETURN
- 60625 IF (A$ = "," OR A$ = ".") AND KOMMA = 0 THEN A$ = ".": KOMMA = 1
- 60630 WORT$ = LEFT$(WORT$, ANFANG - 1) + A$ + MID$(WORT$, ANFANG, LEN(WORT$) - ANFANG) 'ZEICHEN EINFUEGEN
- 60635 LOCATE ZEILE, SPALTE, 1, 6, CURSOR
- 60640 PRINT WORT$
- 60645 IF ANFANG < LAENGE THEN ANFANG = ANFANG + 1
- 60650 RETURN
- 60655 :
- 61000 REM*********************INITIALISIERUNG**************
- 61005 :
- 61010 STEUER$ = CHR$(77) + CHR$(75) + CHR$(71) + CHR$(79) + CHR$(83) + CHR$(82) 'STEUERZEICHEN
- 61015 ABSCHLUSS$ = CHR$(13) 'RETURN IST ABSCHLUSS DER EINGABE
- 61016 ESC$ = CHR$(27)
- 61020 ENDE$ = ABSCHLUSS$
- 61025 ZAHLEN$ = "1234567890+-.," 'ZEICHEN FÜR ZAHLENEINGABE
- 61030 BUCHSTABEN$ = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW äöüÄÖÜß"
- 61035 SONDER$ = " !$%&/()=?[]{}µ|ⁿ²'`*,.-:;_<>\+-^°@~" + CHR$(34)
- 61040 ALLE$ = ""
- 61041 FOR I = 1 TO 255
- 61042 IF I <> 13 AND I <> 27 THEN ALLE$ = ALLE$ + CHR$(I)
- 61043 NEXT I
- 61045 RETURN
-
-