Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi string durch ; getrennt (https://www.delphipraxis.net/29379-string-durch-%3B-getrennt.html)

Christian18 8. Sep 2004 13:39


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???

Luckie 8. Sep 2004 13:39

Re: string durch ; getrennt
 
Kuck mal in der Code-Lib nach expodeexpode.

Christian18 8. Sep 2004 13:46

Re: string durch ; getrennt
 
hallo,

ich konnte leider nichts finden.kannst du mir trotzdem weiter helfen?

ibp 8. Sep 2004 13:48

Re: string durch ; getrennt
 
luckie meinte ja auch "explode"

Sprint 8. Sep 2004 13:56

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;

Dax 8. Sep 2004 13:58

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.

Pauli 8. Sep 2004 13:59

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:
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;
Vile Spaß

LarsMiddendorf 8. Sep 2004 14:04

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;

Chewie 8. Sep 2004 14:06

Re: string durch ; getrennt
 
Gibts aber zumindest bei Delphi5 nicht.

Dax 8. Sep 2004 14:06

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:35 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz