Einzelnen Beitrag anzeigen

Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#1

Elemente aus einem String heraustrennen

  Alt 5. Jul 2003, 12:07
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;
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat