siehe auch [d0cbc01a09f1d6fb2c54d55c6900a8e9] - Struktursuche FOR/GOTO/GOSUB
Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)
30100 CLEAR 1000:CLS:DIM ZA$(100):PRINT TAB(11);"VARI-SUCHE
30101 FOR ZI=11264 TO DEEK(11243)
30102 IF PEEK(ZI)=0 THEN ZI=ZI+4:ZC$=STR$(DEEK(ZI-1)):NEXT:GOTO 30125
30103 IF ZC$>"29999"THEN 30125
30104 ZZ=PEEK(ZI):IF ZZ=34 THEN 30134:!"
30105 IF ZZ=131 THEN 30130:!DATA
30106 IF ZZ=142 OR ZZ=156 THEN 30127:!REM!
30107!Vari-Suche
30108 IF ZZ=32 THEN NEXT:GOTO 30125
30109 IF ZZ<65 OR ZZ>90 THEN NEXT:GOTO 30125:!Keine Gr.Buchst.
30110 ZB$=CHR$(ZZ)
30111!found
30112 ZI=ZI+1:ZZ=PEEK(ZI)
30113 IF ZZ=40 THEN ZB$=ZB$+"(":GOTO 30118
30114 IF ZZ=36 THEN ZB$=ZB$+"$":GOTO 30112
30115 IF(ZZ>64 AND ZZ<91)OR(ZZ>47 AND ZZ<58)THEN ZB$=ZB$+CHR$(ZZ):GOTO 30112
30116 ZI=ZI-1:IF ZB$=""THEN NEXT:GOTO 30125
30117!einord.
30118 ZB$=ZB$+":":ZL=LEN(ZB$)
30119 FOR ZJ=0 TO ZB-1:ZA$=ZA$(ZJ)
30120 IF LEFT$(ZA$,ZL)<>ZB$ THEN NEXT:ZA$(ZB)=ZB$+ZC$:ZB=ZB+1:GOTO 30123
30121 IF RIGHT$(ZA$,LEN(ZC$))<>ZC$ THEN ZA$(ZJ)=ZA$+ZC$
30122 ZJ=ZB:NEXT
30123 ZB$="":NEXT
30124!Anz
30125 FOR ZI=0 TO(ZB-0):PRINT ZA$(ZI):NEXT:END
30126!REM
30127 FOR ZJ=0 TO 1 STEP 0:ZI=ZI+1:IF PEEK(ZI)=0 THEN ZJ=1
30128 NEXT:ZI=ZI-1:NEXT:GOTO 30125
30129!DATA
30130 FOR ZJ=0 TO 1 STEP 0:ZI=ZI+1:ZA=PEEK(ZI)
30131 IF ZA=0 OR ZA=58 THEN ZJ=1
30132 NEXT:ZI=ZI-1:NEXT:GOTO 30125
30133!$
30134 FOR ZJ=0 TO 1 STEP 0:ZI=ZI+1:ZA=PEEK(ZI)
30135 IF ZA=0 OR ZA=58 THEN ZJ=1:NEXT:ZI=ZI-1:NEXT:GOTO 30125
30136 IF ZA=34 THEN ZJ=1
30137 NEXT:NEXT:GOTO 30125