Ich sehe gerade was: Wenn ich die Frage wörtlich nehme:
Zitat: |
einen String nach jedem Zeichen trennen |
dann ist
explode wohl nicht das richtige, denn diese Funktion geht von der Situation aus, dass ein String anhand
eines fest vorgegebenen Zeichens in mehrere Teile getrennt wird. Aber der o.g. Fall ist auch nicht gerade schwer -
1. Man nehme eine Stringliste und als Ausgangsbasis den berühmten Spruch:
Delphi-Quelltext
1: 2: 3: 4: 5:
| s := 'Hallo, Welt!';
sl := TStringList.Create; if(sl <> nil) then try |
2. In einer Schleife läuft man vom ersten Buchstaben bis zum letzten durch. (Für so genannte
noobs: Da man vorher vielleicht nicht weiß wie lang der String ist, benutzt man schlicht und einfach die Funktion "length", die die Länge zurückliefert)
Delphi-Quelltext
1:
| for i := 1 to length(s) do |
3. Jedes einzelne Zeichen des Strings kann nun über den Schleifenwert "i" angesprochen oder anderweitig benutzt werden. In unserem Fall hängen wir das Zeichen an die Stringliste ran:
Delphi-Quelltext
4. Jetzt die Kontrolle: Memo auf die Form und ausprobiert ob die Stringliste auch wirklich was enthält:
Delphi-Quelltext
1: 2:
| Memo1.Clear; Memo1.Lines.Add(Format('"sl" enthält %d Einträge',[sl.Count])); |
Allerding beginnt bei einer Stringliste der Index bei Null, darum muss die Schleife nun so aussehen:
Delphi-Quelltext
1: 2:
| for i := 0 to sl.Count - 1 do Memo1.Lines.Add(sl[i]); |
5. Und zum Schluss aufräumen:
Delphi-Quelltext
1: 2: 3:
| finally sl.Free; end; |
6. Fertig.