Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: parse textfile to paradox

  Alt 10. Jun 2005, 08:56
170 Jahre? Und ich dachte ich wäre alt...

An anderer Stelle hier im Forum habe ich das hier gefunden:

Delphi-Quellcode:
function ParseStr(var S: String; delimit: string; purge: boolean): string;
var
  i: integer;
begin
  for i := 1 to Succ(Length(S)) do
    if (i > Length(S)) or (Pos(S[i], Delimit) > 0) then Break;
  Result := Copy(S, 1, Pred(i));
  Dec(i, Ord(not purge));
  Delete(S, 1, i);
end;

procedure ExtractFields(s, delimiters: string; sl: TStrings);
var
  t: string;
begin
  sl.Clear;
  while s <> 'do begin
    t := ParseStr(s, delimiters, true);
    if t <> 'then
      sl.Add(t);
  end;
end;
Damit kann ich meinen Demo-Code an D5 anpassen:

Delphi-Quellcode:
procedure LoadFromText(table: TTable; filename: string);
var
  line: string;
  sl: TStringList;
  i: integer;
begin
  AssignFile(input, filename);
  Reset(input);
  sl := TStringList.Create;
  while not Eof do begin
    ReadLn(line);
    ExtractFields(line, '!', sl);
    table.Append;
    for i := 0 to sl.Count - 1 do
      table.Fields[i].AsString := Trim(sl[i]);
    table.Post;
  end;
  sl.Free;
  CloseFile(input);
end;
Da kommt mir aber noch ein Verdacht: Wieviel Erd-Jahre hat eigentlich ein alzaimar-Jahr?

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat