Guten Morgen Schnittcher,
ich würde eigentlich erwarten, das pro eingelesen Datensatz auch
ein Object/Interface vom Typ Auto generiert wird.
nun weiß ich leider nicht was diese Zeilen machen:
Delphi-Quellcode:
Auto := TBackupClassesFactory.Auto;
AutoList := TbackupClassesFactory.AutoList;
Wird da ein "Auto" angelegt?
Wird da eine leere AutoList angelegt?
Wenn das nun alles mit "normalen" Objecten laufe würde,
würde ich es so machen:
Delphi-Quellcode:
type
TAuto = class(TObject)
...
end;
TAutoList = class(TObjectList);
...
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Auto: TAuto;
datensatz: TFahrzeugdaten;
MyFile: file of TFahrzeugdaten;
begin
//Auto := TBackupClassesFactory.Auto;
AutoList := TAutoList.create(true); // eine leere Liste erstellen
if OpenDialog1.Execute then
begin
AssignFile(MyFile, OpenDialog1.FileName);
Reset(MyFile);
while not EOF(MyFile) do // <-- hier mal einen Breakpoint setzen und mit F8 schrittweise den Code abarbeiten
begin
read(MyFile, datensatz);
Auto : TAuto.create; // neue Autoinstanz erstellen
Auto.PS := datensatz.ps;
Auto.KW := datensatz.kw;
Auto.Name := datensatz.fahrzeugName;
Auto.kmh := 0;
Auto.mph := 0;
AutoList.add(Auto); // Der Liste hinzufügen
lbEintraege.Caption := IntToStr(AutoList.Count);
end;
CloseFile(MyFile);
end;
end;
Mit Interfaces habe ich mich bisher noch nicht beschäftigt
aber ich denke das es eigentlich da ähnlich sein sollte.
Grüße
Kalus
Grüße
Klaus