Einzelnen Beitrag anzeigen

Benutzerbild von Net7
Net7

Registriert seit: 22. Jun 2004
Ort: Lauenburg
161 Beiträge
 
Delphi 7 Professional
 
#6

AW: Delimiter Textfile

  Alt 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.
  Mit Zitat antworten Zitat