Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: parse textfile to paradox

  Alt 10. Jun 2005, 08:45
Ich habe mir vor 170 Jahren diese Funktion geschrieben...:
Delphi-Quellcode:
Function Split (Var S : String; Del : String) : String;
Var
  p : Integer;

Begin
  p:=pos(Del,S);
  if p=0 then Begin
    Result:=s;
    s:='';
    end
  else begin
    Result := Copy(s,1,p-1);
    s:=Copy(s,p+length(Del),length (s));
    End;
End;
Die Funktion teilt einen String S beim ersten Auftreten des Trenners Del , schnippelt das Teil vorne weg und liefert den abgetrennten Teil zurück.
Delphi-Quellcode:
S := 'Abc|def';
a := Split (S,'|');
// a = 'Abc' und S = 'def'
b := Split (S,'|');
// b = 'def' und S = ''
Damit kannst Du dein Problem einfach lösen:
Delphi-Quellcode:
function fParse (Count: Integer;S,Char: string): string;
Var
  i : Integer;
Begin
  For i:=1 to Count Do Result := Split (S,Char);
End;
Die Funktion liefert einen leeren String, wenn es kein 'count'.es Element in dem String gibt.
Eventuell hilft es, den Elemente des Strings in ein Array zu packen, falls Du nicht nur auf ein Element zugreifen willst.
Nebenbei gibt es hier diverse Implementierung der 'explode' Funktion, die das (vermutlich viel besser) macht.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat