Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo Johannes, > > Bevor Du noch mehr Selbstgespräche führst, schreibe ich lieber einmal etwas. :-) > > Ich habe schnell ein kleine Routine geschrieben, welche dies sehr einfach löst: > <code> > function splitString(byte s[], string t[],byte searchfor) returns byte > {byte i,j,x; > j=0; > t[0]=""; > for i=0 ... s[31]-1 > { > x=s[i]; > if x==searchfor > { > j=j+1; > t[j]=""; > } > else t[j]=t[j] + x; > } > return j+1; > } > > thread main > {string s,t[10]; > s="Das ist ein Test"; > splitString(s,t,' '); > string a,b,c,d,e; > a=t[0]; > b=t[1]; > c=t[2]; > d=t[3]; > e=t[4]; > sleep -1; > }</code> > > Ich hab' den Code schnell im Simulator getestet, und es funzt ohne Probleme. > Darum gibt's auch die Variablen a bis e. :-) (Arrays kann man leider nicht überwachen) > Dies ist auf jeden Fall die schnellste Methode einen String aufzuteilen. > Schneller ginge es nurnoch mit ASM. > Ich werde die Funktion in strx.c2 übernehmen. > > MfG André H. > > > > Tut mir leid, dass ich hier einen Monolog führe, aber André hat ja im Moment so viel zu tun, da kann > > ich wenigstens meine Fragen selbst beantworten ;-)) > > > > Ich wollte noch schnell meinen neuen Quellcode posten, der nach meinen kurzen Tests funktioniert: > > > > <code> > > function Split(string e, byte d, string r[]) { > > int a; > > int newindex; > > newindex = 0; > > int last; > > last = -1; > > int strlegth; > > for a = 0...30 { > > byte c; > > strx.mid(e,c,a,1); > > if c == d { > > strlegth = (a) - (last + 1); > > strx.mid(e,r[newindex],last + 1,strlegth); > > newindex = newindex + 1; > > last = a; > > } > > } > > } > > </code> > > > > Gruß > > Johannes