das #12 ist da immer in einer eigenen Zeile?
(oder maximal am Ende einer Datensatzzeile, also vor einem Zeilenwechsel bzw hinter einem Feldnamen)
zwei ganz einfache Beispiele zum Auslesen aller Feldnamen:
! Groß-/Kleinschreibung wird beachtet
Delphi-Quellcode:
var F: TextFile;
Feldnamen: Array of String;
S: String;
B: Boolean;
i: Integer;
begin
AssignFile(F, {Dateiname});
Reset(F1);
Feldnamen := nil;
while not EOF(F) do begin
ReadLn(F, S);
i := Pos(':', S);
if i = 0 then Continue;
S := Trim(Copy(S, 1, i - 1));
B := True;
for i := High(Feldnamen) downto 0 do
if Feldnamen[i] = S then B := False;
if B then begin
i := Length(Feldnamen);
SetLength(Feldnamen, i + 1);
Feldnamen[i] := S;
end;
end;
CloseFile(F);
end;
Delphi-Quellcode:
var F: TextFile;
Feldnamen: TStringList;
S: String;
i: Integer;
begin
AssignFile(F, {Dateiname});
Reset(F1);
Feldnamen := TStringList.Create;
Feldnamen.Duplicates := dupIgnore;
while not EOF(F) do begin
ReadLn(F, S);
i := Pos(':', S);
if i = 0 then Continue;
S := Trim(Copy(S, 1, i - 1));
Feldnamen.Add(S);
end;
end;
CloseFile(F);
end;