Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
Delphi 12 Athens
|
Elemente aus einem String heraustrennen
5. Jul 2003, 13: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 Lizbeth Ich bin nicht zurück, ich tue nur so
|
|
Zitat
|