Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Object-Pascal / Delphi-Language (https://www.delphipraxis.net/35-library-object-pascal-delphi-language/)
-   -   Delphi Elemente aus einem String heraustrennen (https://www.delphipraxis.net/6267-elemente-aus-einem-string-heraustrennen.html)

sakura 5. Jul 2003 12:07


Elemente aus einem String heraustrennen
 
Oft hat man einen String, der mehrere Elemente enthält, die durch ein bestimmtes oder mehrere (ungenau) bestimmte Trennzeichen von einander getrennt sind. Die folgenden Funktionen liefern diese Elemente zurück.

Delphi-Quellcode:
// suche nach Element durch ein bestimmtes Trennzeichen
function FetchA(var aSource: AnsiString; aDelimiter: AnsiChar = ',';
    aDelete: Boolean = True): AnsiString;
var
  I: Integer;
begin
  // find delimiter in element list
  I := Pos(aDelimiter, aSource);
  if I > 0 then
  begin
    // return next element
    Result := Copy(aSource, 1, I - 1);
    if aDelete then
      // remove returned element from list
      Delete(aSource, 1, I);
  end else begin
    // element is last in element list, return
    Result := aSource;
    if aDelete then
      // clear element list
      aSource := '';
  end;
end;

// suche nach Element durch ein Trennzeichen aus einem Satz mehrere
function FetchStrokeA(var aSource, aDelimiter: string; aDelete: Boolean =
    True): AnsiString;
var
  I, At: Integer;
begin
  // find next possible delimiter
  At := -1;
  for I := 1 to Length(aSource) do
    if Pos(aSource[I], aDelimiter) > 0 then
    begin
      At := I;
      Break;
    end;              
  if At > 0 then
  begin
    // return next element
    Result := Copy(aSource, 1, At - 1);
    if aDelete then
      // remove returned element from list
      Delete(aSource, 1, At);
  end else begin
    // element is last in element list, return
    Result := aSource;
    if aDelete then
      // clear element list
      aSource := '';
  end;
end;
...:cat:...


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:11 Uhr.

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