modifizierte Version von [29254daf03eb9a8f44833a9f6afaa6f5]
Was soll das bewirken?
5041 IF W=1 GOTO5050
5042 F.Y=H.(3096) TO H.(309F)
5043 POKE Y,32;N.Y
Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)
20 OUTC.12
30 P.;P."ADRESSEN-UND TELEFONNUMMERN-"
35 P." VERZEICHNIS"
40 P.;V=100;E=HEX(2100)
50 P."DATEI NEU ? (J/ENT):",
60 W=INC.;OUTC.W;P.;P.
70 IF W=13 GOTO160
80 IF W#'J'GOTO50
90 INP."MAX.ANZAHL DATENSAETZE"Q
100 IF Q<1 GOTO 90
110 U=E+(Q*V)
120 F.I=E TO U
130 POKE I,32
140 N.I
150 POKE E,'*'
160 F.K=E TO U STEP V
170 IF PEEK(K)='*' GOTO 190
180 N.K
190 A=(K-E)/V
200 P."VON ",#4,Q,"DATENSAETZEN"
210 P."SIND",#4,A,"ERFASST."
230 P.;P."AUSWAHL DURCH KENNZIFFER"
250 P.;P."AUFBAU............0"
260 P.;P."ANZEIGEN..........1"
270 P.;P."SUCHEN............2"
280 P.;P."SORTIEREN.........3"
290 P.;P."ANZEIGEN TEL.-NR..4"
300 P.;P."AENDERN...........5"
310 P.;P."STATUS............6"
312 P.;P."DATEN RETTEN......7"
315 P.;P."DATEN EINLESEN....8"
318 P.
320 INP."EINGABE KENNZIFFER"W
325 IF W<0 GOTO 320
330 IF W>8 GOTO 320
340 GOTO (W*300+400)
400 REM DATEIAUFBAU
410 IF K=U P."DATEI VOLL !";P.;GOTO 190
420 X=K
430 GOSUB 8000
435 K=K+V
440 POKE K,'*';GOTO 190
700 REM ANZEIGEN
705 IF K=E P."DATEI LEER !";P.;GOTO 190
710 GOSUB 5000
720 GOSUB 5200
730 GOSUB 7000
740 IF Y=B GOTO 1890
750 X=X+V
760 Z=Z+1;Y=Y+1
770 IF Z=4 GOSUB 1850
780 IF X>=K GOTO 1890
790 GOTO 730
1000 REM SUCHEN
1020 F.S=U+10 TO U+30
1030 POKE S,32
1040 N.S
1050 P."NAME:",
1060 G=20;I=U+10
1070 GOSUB 10000
1080 F.J=E TO K STEP V
1090 M=0
1100 F.I=0 TO 19
1105 IF PEEK(J+I)=32 GOTO 1130
1110 IF PEEK(U+10+I)=PEEK(J+I) GOTO 1170
1120 N.I
1130 IF M=I GOTO 1200
1140 N.J
1150 P."NICHT GEFUNDEN";P.;GOTO190
1170 M=M+1;GOTO 1120
1200 P."GEFUNDEN"
1210 X=J
1215 P=(J-E)/V+1
1220 GOSUB 7000
1240 P.;GOTO 190
1300 REM SORTIEREN
1350 F.J=E TO K-(2*V) STEP V
1360 F.I=J+V TO K-V STEP V
1370 IF PEEK(J)>PEEK(I) GOTO 1450
1380 N.I
1390 N.J
1400 GOTO 190
1450 F.S=0 TO V-1
1460 F=PEEK(J+S);POKE(J+S),PEEK(I+S);POKE(I+S),F
1470 N.S
1480 GOTO 1380
1600 REM ANZEIGEN TEL.-NR.
1605 B=A
1610 GOSUB 5000
1620 P."TELEFON-NR. NAME"
1630 FOR J=1 TO 32
1640 OUTC.42
1650 N.J
1660 P.
1670 F.J=X+84 TO X+94
1680 OUTC.(PEEK(J))
1690 N.J
1700 OUTC.32
1710 G=20;I=X
1720 GOSUB 10300
1730 X=X+V
1740 Z=Z+1
1750 IF Z=25 GOSUB 1850
1760 IF X>=K GOSUB 1890
1770 GOTO 1670
1850 TAB(20)
1855 P.">ENTER<",
1860 W=INC.;OUTC.W
1865 IF W#13 GOTO 1860
1870 Z=0;RETURN
1890 TAB(15);P."ENDE",;GOSUB 1855
1895 GOTO 190
1900 REM AENDERN
1920 GOSUB 5000
1930 GOSUB 8000
1940 GOTO 190
2200 REM STATUS
2210 P."DATEISTATUS";P.
2220 F.I=E TO U STEP V
2230 WORD(I);P." ",
2240 OUTC.(PEEK(I));OUTC.(PEEK(I+1))
2250 TAB(1)
2260 N.I
2270 P.
2280 GOTO 190
2500 REM DATEN RETTEN
2510 F.J=HEX(F0) TO HEX(FF)
2520 POKE J,32
2530 N.J
2535 P."FILENAME:",
2540 I=HEX(F0);G=16
2550 GOSUB 10000
2560 POKE HEX(E0),E
2570 POKE HEX(E1),E/256
2580 POKE HEX(E2),K
2590 POKE HEX(E3),K/256
2600 CALL HEX(A0C)
2610 CALL HEX(10C)
2620 CALL HEX(A19)
2630 CALL HEX(10C)
2640 GOTO 200
2800 REM
2810 CALL HEX(A0C)
2820 CALL HEX(10F)
2830 F.I=HEX(F0) TO HEX(FF)
2840 OUTC.(PEEK(I))
2850 N.I
2860 CALL HEX(A19)
2870 CALL HEX(10F)
2880 P.;GOTO 160
5000 REM ABFRAGE VON
5010 P.;Z=0
5020 INP."AB POS."P;Y=P-1
5025 IF Y<0 GOTO 5020
5030 X=E+(Y*V)
5040 IF X>=K GOTO 5020
5041 IF W=1 GOTO5050
5042 F.Y=H.(3096) TO H.(309F)
5043 POKE Y,32;N.Y
5050 RETURN
5200 REM ABFRAGE BIS
5220 INP."BIS POS."W;B=W-1
5230 IF B>A-1 GOTO 5220
5240 IF B<Y GOTO 5220
5241 F.Y=H.(3096) TO H.(309F)
5242 POKE Y,32;N.Y
5243 Y=P-1
5250 RETURN
7000 REM
7010 P.
7020 P."LFD.NR.",#4,P," ",
7040 G=20;I=X
7050 GOSUB 10300
7060 TAB(12)
7070 I=X+20
7080 GOSUB 10300
7100 P."PLZ: ",
7110 F.J=X+80 TO X+83
7120 OUTC.(PEEK(J))
7130 N.J
7150 TAB(3)
7160 G=20;I=X+40
7170 GOSUB 10300
7180 TAB(12)
7190 I=X+60
7200 GOSUB 10300
7210 P."TELEFON-NR. ",
7220 G=16;I=X+84
7230 GOSUB 10300
7240 P.;P=P+1;RETURN
8000 REM
8010 P."NAME :",
8020 G=20;I=X
8030 GOSUB 10000
8040 P."VORNAME :",
8050 I=X+20
8060 GOSUB 10000
8070 P."PLZ :",
8080 G=4;I=X+80
8090 GOSUB 10000
8100 P."WOHNORT :",
8110 G=20;I=X+40
8120 GOSUB 10000
8130 P."STRASSE :",
8140 I=X+60
8150 GOSUB 10000
8160 P."TELEFON :",
8170 G=11;I=X+84
8180 GOSUB 10000
8190 RETURN
10000 REM EINGABE DATENSATZ
10010 Z=1;H=I+G
10020 IF PEEK(I)=32 GOTO 10100
10030 IF PEEK(I)='*' GOTO 10100
10040 OUTC.(PEEK(I));I=I+1
10045 IF I=H GOTO 10100
10050 IF PEEK(I)#32 GOTO 10040
10100 W=INC.
10110 IF W=8 I=I-1;GOTO 10200
10120 IF W=9 I=I+1;GOTO 10250
10130 IF W=13 OUTC.W;RETURN
10140 POKE I,W
10150 I=I+1
10160 OUTC.W
10170 IF I#H GOTO 10100
10180 P.;RETURN
10200 IF I<Z I=I+1;GOTO 10100
10210 GOTO 10160
10250 IF I>H I=I-1;GOTO 10100
10260 GOTO 10160
10300 REM AUSGABE DATENSATZ
10310 F.J=I TO I+G-1
10320 OUTC.(PEEK(J))
10330 N.J
10340 RETURN