1 'XDB-PLUS V2.1 (c) 10/1993 (c) by Goetz Schwandtner 10 CLEAR:DIMMAS$(9),STP(19),STP$(19):DEFSEG=0:SPC$=" ":SFE=0 20 CLS:PRINT" * XDB-PLUS *"; 30 RESTORE#:RESTORE#"\\SETUP\",,200 40 READ#$:FORA=0TO19:READ#STP(A):NEXTA:FORA=0TO2:READ#STP$(A):NEXTA:FORA=10TO19:READ#STP$(A):NEXTA 45 IFSTP(0)=1ANDPEEK1867<>0THENCLS:END 50 IFINKEY$=CHR$(14)THEN200 60 IFSTP(3)THEN200 110 IFSTP(6)=0THEN150 120 FORA=1TOLEN(STP$(2)) 125 $=MID$(STP$(2),A,1) 130 IF$<="9"AND$>="0"THENN=VAL($)+10:GOSUB49240:GOTO145 135 IF$="A"THENN=8:GOSUB49240:GOTO145 137 IF$="B"THENN=9:GOSUB49240:GOTO145 138 IF$="P"THEN$=INPUT$(1):GOTO145 139 IF$="K"THEN$=INPUT$(1,@):GOTO145 140 IF$="E"THENEND 141 IF$="C"THENCLS:GOTO145 142 IF$="I"THENGOSUB400:GOTO145 145 NEXTA 150 GOSUB48000:IFABB=0THENEXIST=1:GOTO11000ELSECLS:END 200 AP=0 210 RESTORE(300+AP):READT$,IL:I$=STR$(STP(AP)) 220 CLS:PRINTT$; 230 S=0:LOCATE0,1:PRINTI$;:LOCATE0,1:INPUT@IL;I$:PRINTCHR$(11);:STP(AP)=VAL(I$):A=PEEK1627 232 IFA=13ANDINKEY$=CHR$(13)THENIFS=5THEN110ELSES=S+1:GOTO232 233 IFA=253ANDINKEY$=CHR$(13)THENIFS=5THEN290ELSES=S+1:GOTO233 235 IFA=13THENIFAP<19THENAP=AP+1:GOTO210ELSE250 237 IFA=253THENIFAP>0THENAP=AP-1:GOTO210 247 GOTO220 250 AP=0 255 RESTORE(350+AP):READT$,IL:I$=STP$(AP) 257 CLS:PRINTT$; 260 S=0:LOCATE0,1:PRINTI$;:LOCATE0,1:INPUT@IL;I$:STP$(AP)=I$:PRINTCHR$(11);:A=PEEK1627 262 IFA=13ANDINKEY$=CHR$(13)THENIFS=5THEN110ELSES=S+1:GOTO262 263 IFA=253ANDINKEY$=CHR$(13)THENIFS=5THEN290ELSES=S+1:GOTO263 265 IFA=13THENIFAP<19ANDAP>9THENAP=AP+1:GOTO255ELSEIFAP<2THENAP=AP+1:GOTO255ELSEAP=10:GOTO255 267 IFA=253THENIFAP>10THENAP=AP-1:GOTO255ELSEIFAP=10THENAP=2:GOTO255ELSEIFAP>0THENAP=AP-1:GOTO255ELSE285 280 GOTO 260 285 AP=19:GOTO210 290 RESTORE#:RESTORE#"\\SETUP\",,292:WRITE#:WRITE# 292 A$=STR$(STP(0)):FORA=1TO19:A$=A$+","+STR$(STP(A)):NEXTA 293 RESTORE#CHR$(26),,294 294 WRITE#"\\SETUP\,"+A$ 296 A$=CHR$(34)+STP$(0)+CHR$(34):FORA=1TO2:A$=A$+","+CHR$(34)+STP$(A)+CHR$(34):NEXTA:FORA=10TO19:A$=A$+","+CHR$(34)+STP$(A)+CHR$(34):NEXTA:WRITE#A$ 298 GOTO110 300 DATAPasswortschutz,2 301 DATAInit-Modul-Position,9 302 DATACom-Modul-Position,9 303 DATASETUP immer aufrufen,2 304 DATAMaximale Anzahl Datensaetze,5 305 DATAAnzeigemodus 0=MAS 1=TAB,2 306 DATAAUTOEXEC ausfuehren,2 307 DATAEditieren moeglich,2 308 DATAModul#1,9 309 DATAModul#2,9 310 DATAExt.Modul1,9 311 DATAExt.Modul2,9 312 DATAExt.Modul3,9 313 DATAExt.Modul4,9 314 DATAExt.Modul5,9 315 DATAExt.Modul6,9 316 DATAExt.Modul7,9 317 DATAExt.Modul8,9 318 DATAExt.Modul9,9 319 DATAExt.Modul10,9 350 DATATrennzeichen der Tabelle,1 351 DATAKennzeichnung Feldselect,1 352 DATAAUTOEXEC.BAT(Modulnummern),31 360 DATAExt.Modul1,8 361 DATAExt.Modul2,8 362 DATAExt.Modul3,8 363 DATAExt.Modul4,8 364 DATAExt.Modul5,8 365 DATAExt.Modul6,8 366 DATAExt.Modul7,8 367 DATAExt.Modul8,8 368 DATAExt.Modul9,8 369 DATAExt.Modul10,8 400 CLS:PRINT"eXtended DataBank PLUS V2.1 (c) by G.Schwandtner 10/1993";CHR$(11);:RETURN 1000 CLS:PRINT"1æInfo 2æDatei 3æAusg. 4æEdit 5æProgramme 0æXDB-PLUS V.2.1";CHR$(11); 1010 $=INPUT$(1,@) 1020 IF$="1"THENGOSUB400:$=INPUT$(1,@):GOTO1000 1022 IF$="0"THENRETURN 1024 IF$="2"THEN$="0":GOTO12010 1025 IF$="4"ANDSTP(7)=0THEN1010 1026 ONVAL($)-2GOTO1050,1100,1150 1030 GOTO1010 1050 CLS:PRINT"1æSuchen 2æWeitersuchen 3æTab/M.4æDef.Tab 5æDef Sel. 0æMenu";CHR$(11); 1060 $=INPUT$(1,@):IF$="0"THEN1000 1062 IF$="1"THEN12010 1064 IF$="2"THEN12010 1066 IF$="3"THENIFED=1THENED=00ELSEIFSTP(5)=1THENSTP(5)=0ELSESTP(5)=1 1067 IF$="3"THENRETURN 1070 IF$="4"THEN13000 1072 IF$="5"THEN14000 1080 GOTO1060 1100 CLS:PRINT"1æEdit 2æDelete DS 3æDel.sel. DS4æSortieren 5æNeuer DS 0æMenu";CHR$(11); 1110 $=INPUT$(1,@) 1112 IF$="1"THENIFANZF>1THENED=1:RETURNELSERETURN 1114 IF$="2"THEN12300 1116 IF$="3"THEN12400 1118 IF$="4"THEN45100 1120 IF$="5"THENI=18:GOTO12010 1130 IF$="0"THEN1000 1135 GOTO1110 1150 CLS:PRINT"1æHilfe 2æInit 3æCom 4æModules 0æMenu (Ausfuehrung gem. Setup)";CHR$(11); 1160 $=INPUT$(1,@) 1162 IF$="0"THEN1000 1164 REM IF$="1"THENHELP=0:GOTO49210 1166 IF$="2"THEN49220 1168 IF$="3"THEN49230 1170 IF$="4"THEN$="7":GOTO12010 1175 GOTO1160 11000 IFDN<2ORDN>ANZF THENDN=2 11003 IFSTP(7)=0THENED=0 11005 IFSTP(5)ANDED=0THEN11200 11010 GOSUB49000 11020 IFED=0THEN11100 11025 IFLEN(MAS$(MPO))0THENAKF=AKF-1:GOTO11030ELSEIFMPO>0THENMPO=MPO-1:AKF=LEN(MAS$(MPO))/4-1:GOTO11010ELSE11030 11070 GOTO11030 11080 PRINTCHR$(26);:B=VAL(INPUT$(3,@)):CALC$=CHR$(B*(B<256)*(B>31)):PRINTCHR$(27);:GOTO11035 11100 I=ASC(INPUT$(1,@)) 11111 IFI=244ANDSTP(7)ANDANZF>1THENED=1:GOTO11030 11125 IFI=30THENIFMPO>0THENMPO=MPO-1:GOTO11000ELSE11100 11127 IFI=31THENIFMPO0THENTMP=TMP-1:GOTO11200ELSE11210 11220 IFI=30THENSTE=-1:GOSUB49500:GOSUB49150:GOTO11210 11222 IFI=31THENSTE=1:GOSUB49500:GOSUB49150:GOTO11210 11225 IFI=244ANDSTP(7)ANDANZF>1THENED=1:GOTO11000 11235 IFI=245THENSTP(5)=0:GOTO11000 11240 GOSUB12000:IFS THEN11000 11250 GOTO11210 12000 $=CHR$(I):S=0:IFI=4ORI=9ORI=14ORI=15THENPRINT$;:RETURN 12010 IF$="0"THENGOSUB48000:DN=1:ED=0:TMP=0:MPO=0:AKF=0:S=1:RETURN 12015 IFI=250THENGOSUB13000:STP(5)=1:S=1:RETURN 12020 IF$="1"THENGOSUB45000:S=1:RETURN 12025 IF$="3"THENGOSUB45100:S=1:RETURN 12030 IF$="4"THENGOSUB14000:S=1:RETURN 12040 IF$="2"THENIFS$<>""THENB=B+1:GOSUB45070:S=1:RETURN ELSERETURN 12045 IF$="5"THENS=1:GOSUB49220:RETURN 12050 IF$="6"THENS=1:GOSUB49230:RETURN 12055 IF$="7"THENGOSUB12200:IF$<>CHR$(240)THENGOSUB49240:S=1:RETURN ELSE S=1:RETURN 12057 IF$="8"OR$="9"THENS=1:N=VAL($):GOSUB49240:RETURN 12060 IFI=218THENS=1:GOTO1000 12067 IFI=18THENIFSTP(7)ANDANZF8THENN=N-1:GOTO12210 12237 IF$=CHR$(31)THENIFN<19THENN=N+1:GOTO12210 12240 IF$<="9"AND$>="0"THENN=VAL($)+10:RETURN 12250 GOTO12220 12300 IFSTP(7)=0THENRETURN 12301 PRINTCHR$(11);"Del (EXE)? ";:$=INPUT$(1,@):IF$<>CHR$(13)THENRETURN 12302 IFANZF<3THENFORA=0TOMFLD:FLD$(2,A)="":NEXTA:ANZF=1:DN=1:RETURN 12310 ANZF=ANZF-1 12320 FORA=DN+1TOANZF+1:FORB=0TOMFLD:FLD$(A-1,B)=FLD$(A,B):NEXTB,A:FORA=0TOMFLD:FLD$(ANZF+1,A)="":NEXTA 12325 IFDN>ANZF THENDN=ANZF 12330 RETURN 12400 CLS:IFDE$=""THENPRINT"Alle Datensaetze loeschen ? [J] zum Bestaetigen.";CHR$(9);ELSEPRINT"Selektierte Datens. loeschen ? [J] zum Bestaetigen";CHR$(9); 12405 $=INPUT$(1,@):IF$<>"J"THENRETURN 12406 LOCATE 0,1:PRINT "Loesche Datensaetze ... "; 12407 IFDE$=""THEN12450 12410 DN=2:STE=1 12420 DN=DN-1:GOSUB49500 12430 IFSEL=1ANDANZF>1THENGOSUB12302ELSEDN=1:DE$="":RETURN 12440 GOTO12420 12450 FORA=2TOANZF:FORB=0TOMFLD:FLD$(A,B)="":NEXTB,A:DN=1:ANZF=1:RETURN 13000 PS=0 13010 CLS:PRINT"Tabellendefiniton:"; 13020 L=VAL("&H"+MID$(TMAS$,PS*2+1,2)):LOCATE0,1:PRINTCHR$(5);"(1)-DEL ";STP$(1);MID$(FLD$(0,L)+" ",3,10);PS;LEN(TMAS$)/2-1;CHR$(11); 13025 $=INPUT$(1,@) 13026 IF$=CHR$(240)OR$=CHR$(13)THENRETURN 13030 IF$=CHR$(30)THENIFPS>0THENPS=PS-1:GOTO13020 13035 IF$=CHR$(31)THENPS=PS+1:IFPSCHR$(28)THEN13020 13050 P=40:L=11:A=VAL("&H"+MID$(TMAS$,2*PS+1,2) 13055 GOSUB49300:IF$<>CHR$(29)THEN13055 13060 TMAS$=LEFT$(TMAS$,PS*2)+RIGHT$(HEX$(A),2)+MID$(TMAS$,PS*2+3) 13065 GOTO13010 14000 CLS:PRINT"Selektion definieren";:LOCATE0,1:PRINT"Anhaeng.(EXE)/Neu/Loeschen (L)?";:$=INPUT$(1,@):IF$<>CHR$(13)THENDE$="":IF$="L"THENRETURN 14005 LOCATE0,1:PRINTCHR$(5);DE$;:$=INPUT$(1,@):CLS:PRINT"Sel.: "; 14010 P=32:L=10:Z=0:SF=0 14020 A=SF:LOCATE0,1:PRINTCHR$(5);:GOSUB49300:IF$=CHR$(29)THEN14080 14030 SF=A:Z$=MID$("< <== =>> <>",Z*2+1,2):LOCATE11,1:PRINTZ$;:LOCATE11,1:$=INPUT$(1) 14035 IF$=CHR$(29)THEN14020 14037 IF$=CHR$(30)THENIFZ>0THENZ=Z-1:GOTO14030ELSE14030 14038 IF$=CHR$(31)THENIFZ<5THENZ=Z+1:GOTO14030ELSE14030 14040 IF$<>CHR$(28)THEN14030 14050 S=0:IL=VAL("&H"+LEFT$(FLD$(0,SF),2)):LOCATE13,1:PRINTLEFT$(FLD$(DN,SF),IL);:LOCATE13,1:INPUT@IL;I$:I$=LEFT$(I$,IL):PRINTCHR$(11); 14060 IFPEEK1627=13THENIFLEN(DE$)<240-LEN(STR$(SF))-LEN(I$)THENIFDE$=""THENDE$="FLD$(C,"+STR$(SF)+")"+Z$+CHR$(34)+I$+CHR$(34)ELSEDE$=DE$+" AND FLD$(C,"+STR$(SF)+")"+Z$+CHR$(34)+I$+CHR$(34)ELSE14090 14062 IFPEEK1627=13THENIFINKEY$=CHR$(13)THENIFS=5THEN14080ELSES=S+1:GOTO14062ELSE14010 14065 IFPEEK1627=253THEN14030 14070 GOTO14055 14080 DN=1:STE=1:GOSUB49500:IFSEL=0THENDN=2 14085 RETURN 14090 CLS:PRINT"Selektion bereits zu lang.LetzteBedingung wurde nicht angehaengt";CHR$(11);:$=INPUT$(1,@):RETURN 45000 'SEARCH 45010 CLS:PRINT"Suchen im Feld:"; 45020 P=15:L=16:A=SFE:GOSUB49300:SFE=A:IF$=CHR$(29)THENRETURN 45025 LOCATE0,1:IL=VAL("&H"+LEFT$(FLD$(0,A),2)):PRINTLEFT$(FLD$(DN,A),IL); 45030 C$=CALC$:CALC$="‚":LOCATE0,1:INPUT@IL;I$:I$=LEFT$(I$,IL):PRINTCHR$(11);:CALC$=C$:S=0 45040 IFPEEK1627=253THEN45010 45045 IFPEEK1627=13ANDINKEY$=CHR$(13)THENIFS=5THENRETURNELSES=S+1:GOTO45045 45060 B=2:GOSUB49400:IFS$=""THENDN=2:RETURN 45070 $=FLD$(B,SFE):IFVALF(S$)THENDN=B:RETURN 45075 IFINKEY$=CHR$(8)THEN45090 45080 IFB"3"ORI$<"1"THENIFI$<>CHR$(13)THEN45105ELSEI$="1" 45108 PRINT I$; 45110 A=SF1:P=32:L=10:GOSUB49300:SF1=A:SL1=VAL("&H"+LEFT$(FLD$(0,SF1),2)) 45115 IF$=CHR$(29)THEN45100 45119 IFI$<"2"THENIF$=CHR$(13)THEN45140ELSE45110 45120 A=SF2:P=43:L=10:GOSUB49300:SF2=A:SL2=VAL("&H"+LEFT$(FLD$(0,SF2),2)) 45125 IF$=CHR$(29)THEN45110 45129 IFI$<"3"THENIF$=CHR$(13)THEN45140ELSE45120 45130 A=SF3:P=54:L=9:GOSUB49300:SF3=A:SL3=VAL("&H"+LEFT$(FLD$(0,SF3),2)) 45135 IF$=CHR$(29)THEN45120 45138 IF$<>CHR$(13)THEN45130 45139 IF SL1+SL2+SL3>255 THEN CLS:PRINT "Sortierfelder zu lang.";:$=INPUT$(1,@):GOTO 45100 45140 X=(ANZF-2)\2:LOCATE0,1:PRINTCHR$(5);"Datenbank wird sortiert ..."; 45145 XX=ANZF-X 45150 XXX=0 45155 FORXZ=2TOXX 45160 ONVAL(I$)-1GOTO45165,45170 45162 X1$=FLD$(XZ,SF1):X2$=FLD$(XZ+X,SF1):GOTO45175 45165 X1$=LEFT$(FLD$(XZ,SF1)+SPC$,SL1)+FLD$(XZ,SF2):X2$=LEFT$(FLD$(XZ+X,SF1)+SPC$,SL1)+FLD$(XZ+X,SF2):GOTO45175 45170 X1$=LEFT$(FLD$(XZ,SF1)+SPC$,SL1)+LEFT$(FLD$(XZ,SF2)+SPC$,SL2)+FLD$(XZ,SF3):X2$=LEFT$(FLD$(XZ+X,SF1)+SPC$,SL1)+LEFT$(FLD$(XZ+X,SF2)+SPC$,SL2)+FLD$(XZ+X,SF3):GOTO45175 45175 IFX1$>X2$THENFORA=0TOMFLD:A$=FLD$(XZ,A):FLD$(XZ,A)=FLD$(XZ+X,A):FLD$(XZ+X,A)=A$:NEXTA:XXX=XZ 45180 NEXTXZ 45185 XX=ANZF-X 45190 IFXXX THEN45150 45195 X=X\2 45197 IFX>0THEN45145 45199 RETURN 48000 CLS:PRINT"1†LOAD‡2†SAVE‡3†DEL‡4†COM‡E†ENDEäãåæ†DATEI‡.† ‡BS†ABBRUCH";CHR$(11); 48005 RESTORE#:MXD=0:BI=1:ISU$="":IFD$<>""THENZS$=""ELSEZS$="*" 48010 RESTORE#"ó",,48015:READ#$:MXD=MXD+1:GOTO48010 48015 IFMXD=0THENZS$="" 48017 IFZS$="*"THENB=BI:GOSUB48095:D$=$ 48020 LOCATE13,1:PRINTLEFT$(ZS$+" ",1);MID$(D$+SPC$,2,7); 48030 $=INPUT$(1,@) 48035 IF$=CHR$(31)ANDBI1THENZ$="*":BI=BI-1:GOTO48015 48040 IF$=CHR$(28)THENBI=MXD:ZS$="*":GOTO48015 48042 IF$=CHR$(29)THENBI=1:ZS$="*":GOTO48015 48045 IF$="."THEN48100 48050 IF$=CHR$(8)THENABB=1:RETURN 48055 IF$="1"ANDMXD=0THEN48260 48057 IF$="2"THEN48300 48060 IF$="E"THENCLS:END 48062 IF$="4"ANDD$<>""THENGOSUB49230:IFEXIST THENRETURNELSE48000 48065 IFVAL($)<4ANDVAL($)>0ANDMXD>0THEN48080 48070 GOTO48020 48080 ONVAL($)GOTO48200 48082 IF$="3"THENGOSUB48400:GOTO48000 48085 GOTO48005 48095 RESTORE#:FORA=1TOB:RESTORE#"ó":READ#$:NEXTA:RETURN 48100 ZS$="":LOCATE13,1:PRINT " "+MID$(D$+" ",2,7); 48110 LOCATE14,1:INPUT @7;I$:PRINT CHR$(11); 48120 D$="ó"+LEFT$(I$,7):GOTO48020 48200 RESTORE#:RESTORE#D$,,48260 48205 CLS:PRINT"Lade ";MID$(D$,2); 48210 READ#X$,ANZF,MFLD,MMPO,TMAS$ 48212 IFANZF>STP(4)THENCLS:PRINT"Anzahl Daten zu klein ! Anpassen (EXE) oder SETUP ";:$=INPUT$(1,@):IF$=CHR$(13)THENSTP(4)=ANZF ELSE200 48215 ERASEFLD$,MAS$:DIMFLD$(STP(4),MFLD),MAS$(MMPO) 48220 FORA=0TOMMPO:READ#MAS$(A):NEXTA 48230 FORA=0TOANZF:FORB=0TOMFLD:READ#FLD$(A,B):NEXTB,A 48240 RETURN 48260 ANZF=0:ABB=1:GOSUB49220:GOTO48000 48300 IFEXIST=0THEN48000 48302 GOSUB48400 48305 CLS:PRINT"Speichere ";MID$(D$,2); 48310 RESTORE#CHR$(26),,48320 48320 WRITE#D$+","+STR$(ANZF)+","+STR$(MFLD)+","+STR$(MMPO) 48330 WRITE#CHR$(34)+TMAS$ 48340 FORA=0TOMMPO:WRITE#CHR$(34)+MAS$(A):NEXTA 48350 FORA=0TOANZF:FORB=0TOMFLD:WRITE#CHR$(34)+FLD$(A,B):NEXTB,A 48360 GOTO48000 48400 RESTORE#:RESTORE#D$,,48460 48405 CLS:PRINT"Loesche ";MID$(D$,2); 48410 READ#X$,AZ,MF,MM 48420 RESTORE#:RESTORE#D$ 48430 WRITE#:WRITE#:FORA=0TOMM:WRITE#:NEXTA:FORA=0TOAZ:FORB=0TOMF:WRITE#:NEXTB,A 48440 IF $="3" THEN D$="" 48460 RETURN 49000 WD=0:LOCATE0,0 49010 FORA=1TOLEN(MAS$(MPO+WD))/4 49020 DFN=VAL("&H"+MID$(MAS$(MPO+WD),A*4-3,2)):DP=VAL("&H"+MID$(MAS$(MPO+WD),A*4-1,2))+WD*32 49025 L=VAL("&H"+LEFT$(FLD$(0,DFN),2)):IFDP+LEN(FLD$(0,DFN))+L>63THENL=64-DP-LEN(FLD$(0,DFN)) 49030 PRINTTAB(DP);MID$(FLD$(0,DFN),3);":";LEFT$(FLD$(DN,DFN)+SPC$,L); 49035 L=DP+LEN(FLD$(0,DFN))+1+VAL("&H"+LEFT$(FLD$(0,DFN),2)) 49040 NEXTA 49050 IFL<33ANDWD=0ANDMPO+WD(WD+TMP)*2+2THENWD=WD+1:GOTO49110 49140 MTAB=WD+TMP 49150 L=0:LOCATE0,1:PRINTCHR$(5);:FORA=TMP TOMTAB 49160 FN=VAL("&H"+MID$(TMAS$,A*2+1,2)):LE=VAL("&H"+LEFT$(FLD$(0,FN),2)) 49170 IFL+LE<31THENPRINTLEFT$(FLD$(DN,FN)+SPC$,LE);STP$(0);ELSEPRINTLEFT$(FLD$(DN,FN)+SPC$,31-L); 49180 L=L+LE+1 49190 NEXTA:RETURN 49200 'GOTO # :AUFRUF MIT GOSUB/GOTO, PCH=REL. PRG, PNR=ZEILE 49202 P=PEEK1771+PEEK1772*256+PEEK1773*65536:P=P-PCH*15:POKE1771,P MOD256:POKE1772,P MOD65536\256:POKE1773,P\65536:POKE1616,PEEK1771:POKE1617,PEEK1772:POKE1618,PEEK1773 49205 GOTOPNR 49220 IFSTP(1)THENPCH=STP(1)\65536:PNR=ABS(STP(1)MOD65536):GOTO49200ELSERETURN 49230 IFSTP(2)THENPCH=STP(2)\65536:PNR=ABS(STP(2)MOD65536):GOTO49200ELSERETURN 49240 IFSTP(N)THENPCH=STP(N)\65536:PNR=ABS(STP(N)MOD65536):GOTO49200ELSERETURN 49300 ' FIELDSEL. P=POS,L=LEN 49305 IFA>MFLD THENA=MFLD 49310 LOCATEP MOD32,P\32:PRINTSTP$(1);MID$(FLD$(0,A)+SPC$,3,L-1); 49320 LOCATEP MOD32,P\32:$=INPUT$(1) 49322 IF$=CHR$(14)OR$=CHR$(4)OR$=CHR$(15)OR$=CHR$(9)THENPRINT$;:GOTO49320 49325 IF$=CHR$(11)THENA=0:GOTO49310 49330 IF$=CHR$(30)THENIFA>0THENA=A-1:GOTO49310 49335 IF$=CHR$(31)THENIFA0THENGOSUB49450:P=0 49415 IFMID$(I$,A,1)<>"‚"ANDP=0THENP=A 49420 NEXTA 49430 IFP THENGOSUB49450 49440 RETURN 49450 IFS$=""THENS$="MID$($,"+MID$(STR$(P),2)+","+MID$(STR$(A-P),2)+")="+CHR$(34)+MID$(I$,P,A-P)+CHR$(34)+" ":RETURN 49455 S$=S$+"AND MID$($,"+MID$(STR$(P),2)+","+MID$(STR$(A-P),2)+")="+CHR$(34)+MID$(I$,P,A-P)+CHR$(34)+" ":RETURN 49460 IFRIGHT$(I$,1)=" "THENI$=LEFT$(I$,LEN(I$)-1):GOTO49460ELSERETURN 49500 SEL=0:IF(STE=1ANDDN=ANZF)OR(STE=-1ANDDN=2)THENRETURN 49505 IFSTE=1THENB=DN+1:E=ANZF ELSEB=DN-1:E=2 49510 FORC=B TOE STEPSTE 49520 IFDE$=""THENSEL=1:GOTO49540 49530 IFVALF(DE$)THENSEL=1 49540 IFSEL=1THENDN=C:C=E 49550 NEXTC:RETURN