AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delimiter Textfile

Ein Thema von keine_ahnung · begonnen am 14. Aug 2010 · letzter Beitrag vom 14. Aug 2010
 
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, 12: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
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz