Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.167 Beiträge
 
Delphi 12 Athens
 
#11

Re: Textdatei > 500 MB für DB vorbereiten

  Alt 3. Jan 2008, 13:42
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;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat