Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Einen String aus nem anderen mit Trenner extrahieren // =|
Tweafis - Sa 24.01.04 12:27
Titel: Einen String aus nem anderen mit Trenner extrahieren // =|
| Ich hat folgendes geschrieben: |
Hi ^^
Ich muss aus nem Memo die Zeilen holen, Memo.Lines geht jedoch von dem Wordwrapping des Memos aus und nicht von #13#10 Also wollt ich ne Funktion schreiben die mir den String aufgrund eines Indexes und eines Trenners zurückgibt. Allerdings Funktioniert da noch nicht alles.
Wenn ich z.B. den String "t1es:t2es:t3es:t4es" habe und die funktion mit dem Trenner ":" aufrufe und dem index n dann kommt:
n<0: 4es
n=0: t2es
n=1: t3es
n=2: t4e
n>=3: 4es
// Code war hier
irgendwas stimmt da nicht, aber ich seh nicht was =| |
Wenn es da eine Funktion gibt, wäre ich sehr dankbar, ich hab keine gefunden ^^"
Okay, nächstes mal benutz ich gleich die Suchfunktion omg XD sry =| Hab dann den Post von MaRiO oderso gefunden, wos genau darum geht ^^
Christian S. - Sa 24.01.04 13:12
Ähm, muss ich das jetzt verstehen?
Ist das eine Frage und wenn ja, hat sie was in dieser Sparte zu suchen? (ernstgemeinte Frage!)
Tweafis - Sa 24.01.04 13:15
Naja ^^ Ich hab zuerst da noch den Code geposted, aber
| Zitat: |
| Okay, nächstes mal benutz ich gleich die Suchfunktion omg XD sry =| Hab dann den Post von MaRiO oderso gefunden, wos genau darum geht ^^ |
<-- is mir dann aufgefallen. Meine Token funktion hat einfach nicht gefunzt, auch wenn ich nich weiß weshalb
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30:
| function Token(s: string; trenner: char; n: integer = 0): string; var sr: string; x: integer; idx: integer; begin x := 0; sr := s;
if not (pos(trenner, sr) > 0) then begin Result := sr; exit; end else begin while (pos(trenner, sr) > 0) do begin idx := pos(trenner, sr); Delete(sr, idx, 1); if (x=n) then begin if (pos(trenner, sr) > 0) then Result := copy(sr, idx, pos(trenner, sr)-idx) else Result := copy(sr, idx, length(sr)-idx); exit; end; Delete(sr, 1, idx); inc(x); end; end; Result := sr; end; |
Vielleicht kann mir ja einer sagen was daran falsch ist, würde mich ja trotzdem interessieren, auch wenn ich jetzt Explode benutze, was ich ja sogar als FAQ-Entry von jbg in DP hier geposted habe. Shame on me XD
Sry, ich wollte keine Verwirrung stiften XD
Delete - Sa 24.01.04 16:57
Wäre es wohl möglich, Beiträge halbwegs vernünftig zu schreiben und auf Slang zu verzichten? - u.U. ist der sowieso bloß regional bekannt ist und mit dem Leute aus anderen Teilen des Landes nichts anfangen können.
Was bedeutet XD?
"eXtra dumm"?
:twisted:
Chatfix - Sa 24.01.04 17:46
XD ist meines Wissens eine Emoticon so wie :-) auch. Also dreh mal dein Kopf ein bissl *gg*
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!