home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turbo Toolbox
/
Turbo_Toolbox.iso
/
1990
/
10
/
einsteig
/
rdatdm_a.bas
< prev
next >
Wrap
BASIC Source File
|
1990-07-17
|
17KB
|
443 lines
10 ' ************** RDATDEMO.BAS **************************
20 '
30 ' ************** HAUPTPROGRAMM *************************
40 '
50 GOSUB 500 'Vorbereitungen,Initialisierungen
60 GOSUB 1000 'Hauptschleife
70 GOSUB 750 'Nachbereitungen
80 END
90 '
100 ' ************** Ende des Hauptprogramms **************
110 '
490 ' ************** UP - Vorbereitung, Initialisierung ***
495 '
500 OPEN "RELDATEI.DAT" FOR RANDOM AS #1
510 FIELD #1, 2 AS PLIEFNR$, 25 AS PLIEFNAME$, 4 AS PLETZTUMSATZ$, 8 AS PGESAMTUMSATZ$, 2 AS PLKZ$
520 OPTION BASE 1
530 DIM OPTIONEN$(5)
540 OPTIONEN$(1) = "ANLEGEN"
550 OPTIONEN$(2) = "ZEIGEN"
560 OPTIONEN$(3) = "ÄNDERN"
570 OPTIONEN$(4) = "LÖSCHEN"
580 OPTIONEN$(5) = "BEENDEN"
590 LKZ% = 0
600 KEY OFF: CLS
610 LOCATE 1, 15: PRINT "Programm zur Demonstration der relativen Datei"
620 LOCATE 2, 1: PRINT STRING$(80, "─");
630 LOCATE 24, 1: PRINT STRING$(80, "─");
640 LOCATE 25, 15: PRINT "(C)reated by Th. Frins & W.Kehr anno domini 1990";
680 VIEW PRINT 3 TO 23
690 GOSUB 61000 'Initialisierungen für Eingaberoutine
700 RETURN
710 '
720 ' ************* Ende UP - Vorbereitung, Initialisierung
730 '
740 ' ************* UP - Nachbereitungen ******************
745 '
750 CLOSE #1
760 VIEW PRINT: : CLS : KEY ON
770 '
780 RETURN
790 '
800 ' ************* Ende UP - Nachbereitungen *************
810 '
990 ' '************ UP - Hauptschleife ********************
995 '
1000 SCHLEIFE% = -1
1010 WHILE SCHLEIFE%
1015 CLS 2 'Datenbereich löschen
1020 GOSUB 1500 'Auswahlmaske
1030 GOSUB 1750 'Auswahl
1040 IF OPTNR% = 5 THEN SCHLEIFE% = 0
1050 ON OPTNR% GOSUB 2500, 3000, 3500, 4000
1055 'UP's Anlegen, Zeigen, Ändern, Löschen
1060 WEND
1070 '
1080 RETURN
1090 '
1100 ' ************ Ende UP - Hauptschleife ***************
1110 '
1490 ' ************ UP - Auswahlmaske *********************
1495 '
1500 FOR I = 1 TO 5
1510 LOCATE 4 + I * 2, 15, 0
1520 PRINT "["; I; "]";
1530 LOCATE 4 + I * 2, 30, 0
1540 PRINT OPTIONEN$(I)
1560 NEXT
1570 LOCATE 20, 5, 0
1580 PRINT "Mit Cursortasten, Anfangsbuchstaben oder Ziffern 1-5 anwählen"
1585 LOCATE 21, 5: PRINT "Mit <RETURN> ausführen"
1590 '
1600 RETURN
1610 '
1620 ' ************ Ende UP - Auswahlmaske ****************
1630 '
1740 ' ************ UP - Auswahl **************************
1745 '
1750 WAHL$ = "": IF VOPTION% = 0 THEN OPTNR% = 1 ELSE OPTNR% = VOPTION%
1760 COLOR 0, 7: LOCATE 4 + OPTNR% * 2, 30, 0
1770 PRINT OPTIONEN$(OPTNR%)
1780 COLOR 7, 0
1790 WHILE WAHL$ <> CHR$(13)
1800 WAHL$ = INKEY$
1810 REM IF WAHL$ = "" OR WAHL$ = CHR$(13) THEN 1790
1811 IF WAHL$ = "A" OR WAHL$ = "a" THEN WAHL$ = "1"
1812 IF WAHL$ = "Z" OR WAHL$ = "z" THEN WAHL$ = "2"
1813 IF WAHL$ = "Ä" OR WAHL$ = "ä" THEN WAHL$ = "3"
1814 IF WAHL$ = "L" OR WAHL$ = "l" THEN WAHL$ = "4"
1815 IF WAHL$ = "B" OR WAHL$ = "b" THEN WAHL$ = "5"
1820 WHILE WAHL$ > "0" AND WAHL$ < "6"
1830 LOCATE 4 + OPTNR% * 2, 30, 0
1840 PRINT OPTIONEN$(OPTNR%);
1850 COLOR 0, 7
1860 OPTNR% = VAL(WAHL$)
1870 LOCATE 4 + OPTNR% * 2, 30, 0
1880 PRINT OPTIONEN$(OPTNR%);
1890 COLOR 7, 0
1900 WAHL$ = "": VOPTION% = OPTNR%
1910 WEND
1920 WHILE LEN(WAHL$) = 2
1930 WAHL$ = RIGHT$(WAHL$, 1)
1940 WHILE WAHL$ = "H"
1950 LOCATE 4 + OPTNR% * 2, 30, 0
1960 PRINT OPTIONEN$(OPTNR%);
1970 COLOR 0, 7
1980 IF OPTNR% = 1 THEN OPTNR% = 5 ELSE OPTNR% = OPTNR% - 1
1990 LOCATE 4 + OPTNR% * 2, 30, 0
2000 PRINT OPTIONEN$(OPTNR%);
2010 COLOR 7, 0
2020 WAHL$ = "": VOPTION% = OPTNR%
2030 WEND
2040 WHILE WAHL$ = "P"
2050 LOCATE 4 + OPTNR% * 2, 30, 0
2060 PRINT OPTIONEN$(OPTNR%);
2070 COLOR 0, 7
2080 IF OPTNR% = 5 THEN OPTNR% = 1 ELSE OPTNR% = OPTNR% + 1
2090 LOCATE 4 + OPTNR% * 2, 30, 0
2100 PRINT OPTIONEN$(OPTNR%);
2110 COLOR 7, 0
2120 WAHL$ = "": VOPTION% = OPTNR%
2130 WEND
2140 WEND
2150 IF WAHL$ <> "" AND WAHL$ <> CHR$(13) THEN BEEP
2160 WEND
2170 '
2180 RETURN
2190 '
2200 ' ************ Ende UP - Auswahl *********************
2210 '
2490 ' ************ UP - ANLEGEN **************************
2495 '
2500 CLS 2
2510 GOSUB 5000 'Verarbeitungsmaske
2512 LOCATE 18, 30: PRINT 0
2520 FERTIG$ = ""
2530 WHILE FERTIG$ <> CHR$(27)
2540 ZEILE = 6: SPALTE = 30: WORT$ = SPACE$(4): LAENGE = 4: ERLAUBT$ = ZAHLEN$
2550 VWORT$ = WORT$
2560 GOSUB 60000 'EINGABEROUTINE
2570 LIEFNR% = VAL(WORT$)
2571 WHILE LIEFNR% < 1000
2572 LOCATE 21, 15, 0: PRINT "Falsche Lieferantennummer ! <TASTE>";
2573 DUMMY$ = INPUT$(1)
2574 LOCATE 21, 15, 0: PRINT SPACE$(60)
2575 LIEFNR% = 10000
2576 WEND
2577 WHILE LIEFNR% <> 10000
2580 ZEILE = 9: SPALTE = 30: WORT$ = SPACE$(25): LAENGE = 25: ERLAUBT$ = BUCHSTABEN$
2590 VWORT$ = WORT$
2600 GOSUB 60000 'EINGABEROUTINE
2610 LIEFNAME$ = WORT$
2620 ZEILE = 12: SPALTE = 30: WORT$ = SPACE$(5): LAENGE = 5: ERLAUBT$ = ZAHLEN$
2630 VWORT$ = WORT$
2640 GOSUB 60000 'EINGABEROUTINE
2650 LETZTUMSATZ = VAL(WORT$)
2655 LOCATE 15, 30, 0: PRINT LETZTUMSATZ
2670 LSET PLIEFNR$ = MKI$(LIEFNR%)
2680 LSET PLIEFNAME$ = LIEFNAME$
2690 LSET PLETZTUMSATZ$ = MKS$(LETZTUMSATZ)
2700 LSET PGESAMTUMSATZ$ = MKD$(LETZTUMSATZ)
2710 LSET PLKZ$ = MKI$(0)
2720 PUT #1, LIEFNR% - 999
2721 LIEFNR% = 10000
2722 WEND
2730 LOCATE 21, 15, 0: PRINT "Weiter = <TASTE>, Ende = <ESC>"
2740 FERTIG$ = INPUT$(1)
2750 WHILE FERTIG$ <> CHR$(27) AND FERTIG$ <> CHR$(255)
2760 LOCATE 6, 30, 0: PRINT SPACE$(5)
2770 LOCATE 9, 30, 0: PRINT SPACE$(25)
2780 LOCATE 12, 30, 0: PRINT SPACE$(6)
2785 LOCATE 15, 30, 0: PRINT SPACE$(9)
2790 LOCATE 21, 15, 0: PRINT SPACE$(60)
2795 FERTIG$ = CHR$(255)
2800 WEND
2810 WEND
2820 '
2830 RETURN
2840 '
2850 ' ************ Ende UP - Auswahl *********************
2860 '
2990 ' ************ UP - Zeigen ***************************
2995 '
3000 CLS 2
3010 GOSUB 5000 'Verarbeitungsmaske
3012 FERTIG$ = ""
3015 WHILE FERTIG$ <> CHR$(27)
3020 LOCATE 22, 5, 0
3030 PRINT "Lieferantennummer eingeben:"
3040 ZEILE = 22: SPALTE = 40: WORT$ = SPACE$(4): LAENGE = 4: ERLAUBT$ = ZAHLEN$
3050 VWORT$ = WORT$
3060 GOSUB 60000 'EINGABEROUTINE
3070 VLIEFNR% = VAL(WORT$)
3080 LOCATE 22, 5, 0: PRINT SPACE$(60)
3081 WHILE VLIEFNR% < 1000
3082 LOCATE 21, 15, 0: PRINT "Falsche Lieferantennummer ! <TASTE>";
3083 DUMMY$ = INPUT$(1)
3084 LOCATE 21, 15: PRINT SPACE$(60)
3085 VLIEFNR% = 10000
3086 WEND
3087 WHILE VLIEFNR% <> 10000
3089 VLIEFNR% = VLIEFNR% - 999
3090 GET #1, VLIEFNR%
3100 LIEFNR% = CVI(PLIEFNR$)
3110 LIEFNAME$ = PLIEFNAME$
3120 LETZTUMSATZ = CVS(PLETZTUMSATZ$)
3130 GESAMTUMSATZ# = CVD(PGESAMTUMSATZ$)
3140 IF VLIEFNR% + 999 = LIEFNR% THEN GEFUNDEN% = -1 ELSE GEFUNDEN% = 0
3150 WHILE GEFUNDEN% = -1
3160 LOCATE 6, 30: PRINT LIEFNR%
3170 LOCATE 9, 30: PRINT LIEFNAME$
3180 LOCATE 12, 30: PRINT LETZTUMSATZ
3190 LOCATE 15, 30: PRINT GESAMTUMSATZ#
3200 LOCATE 18, 30: PRINT LKZ%
3210 GEFUNDEN% = 1
3220 WEND
3230 WHILE GEFUNDEN% = 0
3240 LOCATE 22, 5, 0
3250 PRINT "Satz nicht vorhanden <TASTE>"
3260 DUMMY$ = INPUT$(1)
3270 LOCATE 22, 5, 0: PRINT SPACE$(60)
3280 GEFUNDEN% = 1
3290 WEND
3292 VLIEFNR% = 10000
3294 WEND
3300 LOCATE 21, 15, 0: PRINT "Weiter = <TASTE>, Ende = <ESC>";
3310 FERTIG$ = INPUT$(1)
3320 WHILE FERTIG$ <> CHR$(27) AND FERTIG$ <> CHR$(255)
3330 LOCATE 6, 30, 0: PRINT SPACE$(5)
3340 LOCATE 9, 30, 0: PRINT SPACE$(25)
3350 LOCATE 12, 30, 0: PRINT SPACE$(6)
3353 LOCATE 15, 30, 0: PRINT SPACE$(9)
3356 LOCATE 18, 30, 0: PRINT SPACE$(2)
3360 LOCATE 21, 15, 0: PRINT SPACE$(60)
3370 FERTIG$ = CHR$(255)
3380 WEND
3390 WEND
3400 '
3410 RETURN
3420 '
3430 ' ************ Ende UP - Zeigen **********************
3440 '
3490 ' ************ UP - Ändern ***************************
3495 '
3500 CLS 2
3510 GOSUB 5000 'Verarbeitungsmaske
3520 LOCATE 22, 15, 0: COLOR 0, 7: PRINT "Ändern angewählt"
3530 DUMMY$ = INPUT$(1): COLOR 7, 0
3540 '
3550 RETURN
3560 '
3570 ' ************ Ende UP - Ändern **********************
3580 '
3990 ' ************ UP - Löschen **************************
3995 '
4000 CLS 2
4010 GOSUB 5000 'Verarbeitungsmaske
4020 LOCATE 22, 15, 0: COLOR 0, 7: PRINT "Löschen angewählt"
4030 DUMMY$ = INPUT$(1): COLOR 7, 0
4040 '
4050 RETURN
4060 '
4070 ' ************ Ende UP - Löschen *********************
4080 '
4990 ' ************ UP - Verarbeitungsmaske **************
4995 '
5000 LOCATE 4, 5: COLOR 0, 7: PRINT OPTIONEN$(OPTNR%): COLOR 7, 0
5010 LOCATE 6, 5: PRINT "Lieferanten-Nummer :"
5020 LOCATE 9, 5: PRINT "Lieferanten-Name :"
5030 LOCATE 12, 5: PRINT "Aktueller Umsatz :"
5040 LOCATE 15, 5: PRINT "Gesamtumsatz :"
5050 LOCATE 18, 5: PRINT "Löschkennzeichen :"
5060 '
5070 RETURN
5080 '
5090 ' ************ Ende UP - Verarbeitungsmaske **********
5100 '
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$
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
60165 IF LEN(A$) = 2 THEN ON INSTR(STEUER$, RIGHT$(A$, 1)) GOSUB 60360, 60385, 60400, 60425, 60450, 60530:
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 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 ANFANG = LAENGE 'CURSOR AN ENDE DER EINGABE
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
60578 IF MID$(WORT$, ANFANG, 1) = "." AND A$ <> "." THEN KOMMA = 0
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$ 'RETURN IST ABSCHLUSS DER EINGABE
61025 ZAHLEN$ = "1234567890+-.," 'ZEICHEN FÜR ZAHLENEINGABE
61030 BUCHSTABEN$ = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ äöüÄÖÜß"
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