Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TStringlist splitten, neues problem (https://www.delphipraxis.net/24192-tstringlist-splitten-neues-problem.html)

SirThornberry 18. Jun 2004 07:41

Re: TStringlist splitten, neues problem
 
Achso, dachte das geht in allen Delphiversionen...
Hab hier noch die Funktion um einen einzelnen Index zu extrahieren. Hat man zum Beispiel einen String der folgendermaßen aufgebaut ist
Zitat:

Tel,Fax,Name
und will nur die Faxnummer haben, so ruft man die funktion so auf:
Delphi-Quellcode:
var Faxnummer, Gesamt: String;
begin
  Gesamt := 'Telefonnummer,Faxnummer,Max Mustermann';
  Faxnummer := splitOutIndex(Gesamt,',',1);
end;
Hier die Funktion, wäre supi wenn die noch jemand optimieren könnte, bzw etwas übersichtlicher hinbekommt...
Delphi-Quellcode:
function splitOutIndex(const Source: String; const Delimiter: String; Index: Integer): String;
var Lcount, Lnumber, LSourceLength, LDelLength, LStart, LEnd: Integer;
begin
  LCount := 1;
  Lnumber := 0;
  if Index = 0 then LStart := 1 else LStart := 0;
  LEnd := 0;
  result := '';
  LSourceLength := length(Source);
  LDelLength := length(Delimiter);
  while (LCount <= LSourceLength) and (LEnd = 0) do
  begin
    if copy(Source, LCount, LDelLength) = Delimiter then
    begin
      inc(LNumber);
      if LNumber >= Index then
      begin
        if LStart = 0 then
           LStart := LCount + LDelLength
        else
        begin
           LEnd := LCount;
           result := copy(Source, LStart, LEnd - LStart);
        end;
      end;
      Lcount := Lcount + LDelLength;
    end else inc(LCount);
  end;
  if (LStart > 0) and (LEnd = 0) then
      result := copy(Source, LStart, LSourceLength - LStart + 1);
end;

Michael80 18. Jun 2004 10:22

Re: TStringlist splitten, neues problem
 
@ sharky
funktioniert einwandfrei :cheers:

@Sirthornberry
wär zwar glaub ich übersichtlicher, aber er mecker mir was von splitString undefinierter Bezeichner


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:35 Uhr.
Seite 2 von 2     12   

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