A100:20: STRINGFUNKTIONEN SR$"Stringfunktionen" HO(HO(SR$)4)2 VE0 110:150  $HO0:VE2:110'!."Mit Zeichenkettenfunktionen koennen"U!8"aus einer gegebenen Zeichenkette Teil-"!B"zeichenketten herausgeschnitten werden."!L:"In BASICODE-Programmen sind erlaubt:"!V:" LEFT$, RIGHT$ und"!`" MID$ in zwei Formen.""j:"Es soll hier von der Zeichenkette"A"t:" ";"a$=";(34);"Basicode";(34)^"~:"ausgegangen werden."d"v"A$"Basicode""15000"15100" -------------------------LEFT$"HO0:VE4:110""Die Funktion LEFT$(a$,m) loest aus der"!#"Zeichenkette von links her, soviel Zei-"O#"chen heraus, wie der Parameter 'm' an-"q#"gibt (m <= string-Laenge):"#HO5:VE9:110#"LEFT$(a$,3) => ";(A$,3)#HO0:VE11:110# "Bestimmen der Teilzeichenkette ueber"#"den Parameter 'm':"$HO0:VE14:110=$(M$"":"Laenge - von links ";M$:M(M$)`$2(M$)0 15100:15310:1210$<((M$)49)((M$)57) 15310:1310$FM(A$) 15310:1310$PHO5:VE16:110$Z"LEFT$(a$,";M$;") => ";(A$,M)$dHO0:VE22:110"%n"Noch einmal / Weiter (N/RETURN) =>";:210=%x(IN78) 100:1470L%VE13 16%HO5:110:" ";%VE%1310%% ------------------------RIGHT$%15100%HO0:VE4:110&"Mit der Funktion RIGHT$(a$,n) wird"3&"rechts beginnend eine Teilzeichenkette"^&"von der durch den Parameter 'n' be-"&"stimmten Laenge gebildet:"&HO5:VE9:110&"RIGHT$(a$,4) => ";(A$,4)&HO0:VE11:110&"Bestimmen der Teilzeichenkette ueber" '""den Parameter 'n':" ',HO0:VE14:110M'6M$"":"Laenge - von rechts ";M$:M(M$)n'@(M$)0 100:15100:1480'J((M$)49)((M$)57) 15310:1580'TM(A$) 15310:1580'^HO5:VE16:110'h"RIGHT$(a$,";M$;") => ";(A$,M)(rHO0:VE22:1101(|"Noch einmal / Weiter (N/RETURN) =>";:210L((IN78) 100:1740[(VE14 16(HO5:110:" ";(VE(1580(( ------------------------MID$-1(15100(HO0:VE4:110)"Mit der Funktion MID$(a$,m,l) wird auch"H)"eine Zeichenkette aus a$ herausgeloest,"t)"beginnend mit der Position m und der")"Laenge l.")HO5:VE9:110)"MID$(a$,3,4) => ";(A$,3,4))HO0:VE11:110)&"Bestimmen der Teilzeichenkette ueber"*0"die Parameter 'm' und 'l':"0*:HO0:VE14:110U*DM$"":"ab Position ";M$:M(M$)v*N(M$)0 100:15100:1750*XL$"":"Laenge ";L$:L(L$)*b(L$)0 100:15100:1750*l((M$)49)((M$)57) 15310:1850+v((L$)49)((M$)57) 15310:1850,+M(A$) 15310:1850P+(ML)((A$)1) 15310:1850d+HO5:VE17:110+"MID$(a$,";M$;",";L$;") => ";(A$,M,L)+HO0:VE22:110+"Noch einmal / Weiter (N/RETURN) =>";:210+(IN78) 100:2060+VE14 17 ,HO0:110;," ";C,VEM,1850S,x, ------------------------MID$-2, 15100,HO0:VE4:110, "Die andere - in BASICODE-3 auch erlaub-",*"te - Version",4HO5:VE7:110 ->"MID$(a$,3) => ";(A$,3)-HHO0:VE9:110L-R"gibt die Teilzeichenkette von der Posi-"z-\"tion 'm' bis zum Ende der Zeichenkette"-f"a$ wieder."-pHO0:VE12:110-z"Bestimmen der Teilzeichenkette ueber"-"den Parameter 'm':"-HO5:VE15:110!.M$"":"Startposition ";M$:M(M$)B.(M$)0 100:15100:2070l.((M$)49)((M$)57) 15310:2190.M(A$) 15310:2190.HO5:VE17:110."MID$(a$,";M$;") => ";(A$,M).HO0:VE22:110/"Noch einmal / Weiter (N/RETURN) =>";:210/(IN78) 100:2350-/VE15 18a/HO5:110:" ";i/ VEs/ 2190y/ /$ -------------------------INSTR/. HO0:VE0:110/8 "Mit der Funktion INSTR(x$,y$) bzw."0B " INSTR(n,x$,y$)":20L "steht in verschiedenen BASIC-Dialekten"Y0V "eine Zeichenketten-Funktion zur"0` "Verfuegung, die das Suchen nach einem"0j "String in einer vorgegebenen Zeichen-"0t "kette erleichtert.":0~ "Ihre Verwendung ist in BASICODE-3 -"(1 "Programmen nicht erlaubt; die Funktion"W1 "muss mit einem Unterprogramm nachgebil-"j1 "det werden."u1 150001 100:HO0:VE0:1101 "Ueber die Form INSTR(x$,y$) wird die"1 "Position ausgegeben, an der der String"2 "y$ beginnt. Ist y$ in x$ nicht enthal-"32 "ten, ist der Wert '0'."F2 HO5:VE5:110Z2 X$"":"x$ ";X$2 ((X$)0)((X$)25) 100:24802 HO5:VE7:1102 Y$"":"y$ ";Y$2 ((Y$)0)((Y$)25) 100:24802 HO0:VE9:110 3( "Unterprogramm # 20000 ff.:":20010/32 :"Position in String x$:";I:O3< "MID$(x$,";:300:SR$;",";o3F SR(Y$):300:SR$;") => ";3P I0 (X$,I,(Y$)):26703Z HO0:VE13:1103d SR$" Nicht enthalten ! ":1503n HO0:VE22:110 4x "Noch einmal / Weiter (N/RETURN) =>";:210'4 (IN78) 100:272084 22010:2530>4 G4 100Z4 HO0:VE0:1104 "Die Stringfunktion INSTR(n,x$,y$) gibt"4 "mit n (1...255) die Position an, mit"4 "der in x$ die Suche beginnt; auch hier" 5 "ist ein Unterprogramm einzusetzen."5 HO5:VE5:11055 X$"":"x$ ";X$\5 ((X$)0)((X$)25) 100:2730o5 HO5:VE7:1105 Y$"":"y$ ";Y$5 ((Y$)0)((Y$)25) 100:27305 HO5:VE9:1105" N$"":"Pos. ";N$:N(N$)5, (N$)0 100:273066 (N1)(N255) 284016@ ((N$)49)((N$)57) 2840E6J HO0:VE11:110m6T "Unterprogramm # 21000 ff.":210106^ :"Position in String x$:";I6h :"MID$(x$,";:300:SR$;",";6r SR(Y$):300:SR$;") => ";6| (I0) (X$,I,(Y$)):29707 HO0:VE15:110,7 SR$" Nicht enthalten ! ":150@7 HO0:VE22:110s7 "Noch einmal/ Start/ Ende (N/S/RETURN)";:2107 (IN78) 22010:27807 (IN83) 10007 1007 HO13:VE12:1107 SR$" E N D E "7 150:210:9507 7 8 7 ------------------------TASTE,8:HO30:VE22:110B8:"Taste =>";:210H8:l8: --------------------KOPFZEILE8:100:HO11:VE0:1108;"a$ = ";(34);"B a s i c o d e";(34)8;"Zeichenposition 1 2 3 4 5 6 7 8"9;"--------------------------------------" 9$;09; ------------------FEHLEINGABE?9;VE15 18M9;HO0:110{9;" "9;VE9;9 N ----------------------INSTR-19*NI1 (X$)(Y$)194NY$(X$,I,(Y$)) SRI:9>NI9HNI0:SRI::R ----------------------INSTR-25:RIN (X$)(Y$)1S:RY$(X$,I,(Y$)) SRI:Z:&RIi:0RI0:SRI::U ---------------------LOESCHEN:UVE4 18:VHO0:110:V" ":VVE:"V ;0u -----------------------------,;:u MIT DIESEM PROGRAMM SOLL DERN;Du VERSUCH GEMACHT WERDEN, DIEm;Nu IN BASICODE-3-PROGRAMMEN;Xu MOEGLICHEN STRING-FUNKTIONEN;bu DARZUSTELLEN.;lu AUSSERDEM SOLL DURCH IF-;vu ABFRAGEN NACH EINER INPUT-F} Erstausstrahlung: Radio DDR>P} 900321000 BERLIN 39=(}=2} C64/C128 - 1/90=<} ----------------------------->F} Erstausstrahlun