![]() |
string durch ; getrennt
Hallo,
ich habe einen String, ich weiß nicht wie lang dieser ist. Dieser String besteht zum Beispiel aus: 1345123515;345235;2352354;23452345; können aber auch Buchstaben sein. Ich möchte jetzt diesen string auslesen. also ohne ; 1345123515 345235 2352354 23452345 so würde ich gerne diesen langen string in meinen 4 Labels augegeben haben. Wieß jemend von euch wie man das macht??? |
Re: string durch ; getrennt
Kuck mal in der Code-Lib nach
![]() |
Re: string durch ; getrennt
hallo,
ich konnte leider nichts finden.kannst du mir trotzdem weiter helfen? |
Re: string durch ; getrennt
luckie meinte ja auch "explode"
|
Re: string durch ; getrennt
Dafür kannst du auch TStringList missbrauchen. Stichwort: Delimiter und DelimiterText.
Das könnte dann z.B. so aussehen...
Delphi-Quellcode:
var
List: TStringList; I: Integer; S: String; begin S := '1345123515;345235;2352354;23452345;'; List := TStringList.Create; try with List do begin Delimiter := ';'; DelimitedText := S; for I := 0 to Count - 1 do ShowMessage(Strings[I]); end; finally List.Free; end; end; |
Re: string durch ; getrennt
Ich weiss ja nicht, wie Borland die StringList-Routinen intern gebaut hat, aber ich würde eher Explode nehmen, da man es nach seinen Bedürfnissen verändern kann. Womöglich ist das mit der Stringlist die elegantere Lösung, aber Explode ist faktisch effektiver.
|
Re: string durch ; getrennt
Hallo Christian,
Einfache Stringverarbeitung: 1. POS - suchen eines Simbols in einem String. Liefert Position(Integer) 2. LEFTSTR - liefert n Zeichen von links 3. RIGHTSTR - das gleiche von rechts 4. LENGTH - liefert Länge eines Strings. Ich hoffe du kannst damit etwas anfangen
Delphi-Quellcode:
Vile Spaß
var
p: Integer; tSpalte: Integer; tZeile: String; begin p := 0; tSpalte := 0; tZeile := Zeile; while p < Length(tZeile) do begin p := pos(';', tZeile); tSpalte := tSpalte + 1; if tSpalte >= Spalte then begin Result := LeftStr(tZeile, p-1); Break; end else tZeile := RightStr(tZeile, length(tZeile)-p); end; end; |
Re: string durch ; getrennt
ExtractStrings funktioniert auch. Ich glaube das wird auch von der TStringList verwendet.
Code:
function ExtractStrings(Separators, WhiteSpace: TSysCharSet; Content: PChar; Strings: TStrings): Integer;
|
Re: string durch ; getrennt
Gibts aber zumindest bei Delphi5 nicht.
|
Re: string durch ; getrennt
Ich bin schon viel in der VCL rumgekommen, aber eine Methode namens "ExtractStrings" ist mir nie begegnt. Wo ist die denn definiert.
BtW: Im Prinzip sind Explode und ExtractSctring folglich das selbe. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:48 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 by Thomas Breitkreuz