![]() |
WideString mit Zeielnumbrüchen in string array?
Ich habe ein WideString der einen Text getrennt nach Zeilenumbrüchen enthält.
Nun wollte ich daras ein Array machen, also jede zeile in ein Arrayitem packen. Nur weiß ich gerade nicht, wie ich das am besten umforme. Ich denke mir das schon irgendwie, mit "nach "Umbruch" suchen und dann das kopieren, aber das Problem ist, dass ich gar nicht weiß, wie ich die Position der Umbrüche kommen kann. |
Re: WideString mit Zeielnumbrüchen in string array?
Such doch einfach in einer Schleife oder mit Pos / PosEx alle Vorkommnisse von #13#10 und trenne den String danach ...
|
Re: WideString mit Zeielnumbrüchen in string array?
Zitat:
Wie suche ich jetzt eigentlich nach einen Tab? Welches Zeichen hat das? |
Re: WideString mit Zeielnumbrüchen in string array?
Tag ist glaube ich #10 ... hier mal ein Beispiel zum Trennen deines Strings:
Delphi-Quellcode:
Florian
var
i: integer; parts: array of string; str: string; begin str := 'z1' + #13#10 + 'z2' + #13#10 + 'z3' + #13#10; while pos(#13#10, str) <> 0 do begin setlength(parts, length(parts) +1); parts[length(parts) -1] := copy(str, 1, pos(#13#10, str) -1); delete(str, 1, pos(#13#10, str) +1); end; for i := 0 to length(parts) -1 do showmessage(parts[i]); end; |
Re: WideString mit Zeielnumbrüchen in string array?
tab ist #9
|
Re: WideString mit Zeielnumbrüchen in string array?
Zitat:
Zitat:
Delphi-Quellcode:
i : Integer;
StartPoint : Integer; text : WideString; list : array of string; begin ToDoChangeType := {irgendetwas}; StartPoint := 0; while PosEx(#13#10, text, StartPoint) > 0 do begin SetLength(list, Length(list) + 1); list[High(list)] := Copy(text, StartPoint + 1, PosEx(#13#10, text, StartPoint) - StartPoint - 1); StartPoint := PosEx(#13#10, text, StartPoint) + 1; end; Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz