Registriert seit: 22. Jun 2004
Ort: Lauenburg
161 Beiträge
Delphi 7 Professional
|
AW: Delimiter Textfile
14. Aug 2010, 13:41
Hallo,
hier mal eine Funktion aus meiner Funktionskiste. Ich danke dem Autor der mich mit seiner Orginalfunktion inspirierte, leider ist dieser mir unbekannt.
Delphi-Quellcode:
{-------------------------------------------------------------------------------
Procedure: splitOutIndex
DateTime: 2009.05.20
Arguments: const Source: String; const Delimiter: String; Index: Integer
Result: String
Aufgabe: Funktion zum heraussplitten eines einzelnen Indexes
Aufrufbeispiel:
var
LZumZerlegen: String;
begin
LZumZerlegen := 'Text1|Text2|Text3';
ShowMessage(SplitOutIndex(LZumZerlegen, '|', 1)); //Zeigt "Text2"
end;
-------------------------------------------------------------------------------}
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;
Mfg Marko
Marko So`ne Atombombe kann einem den ganzen Tag verderben!
Eine eigene DLL in C++ geschrieben wird meist ein Sklave für mein Delphi/Pascal.
|
|
Zitat
|