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