Nun, ich habe ja zwei Möglichkeiten eingetragene Daten in die Objectliste zu speichern:
Entweder ich nutze nur die Instanz Employee von der Klasse TEmployee und lasse sie mir vor dem speichern der Eigenschaften neu erzeugen.
Wie in meinem aktuellen Fall:
Methode 1
Delphi-Quellcode:
procedure AddEmployeeData(Index: Integer; EmployeeData: TStringlist);
begin
F_Main.Employee := TEmployee.Create();
F_Main.Employee.CardID := StrtoInt(EmployeeData[0]);
F_Main.Employee.Prename := EmployeeData[1];
F_Main.Employee.Surname := EmployeeData[2];
F_Main.Employee.Birthday := StrtoDate(EmployeeData[3]);
F_Main.Employee.Workstation := EmployeeData[4];
F_Main.Employee.Position := EmployeeData[5];
F_Main.OLEmployees.Add(F_Main.Employee); // Employee Daten werden als neuer Eintrag gespeichert
showmessage(TEmployee(F_Main.OLEmployees.Items[0]).Prename); // dient als test
showmessage(TEmployee(F_Main.OLEmployees.Items[1]).Prename); // dient als Test
end;
Methode 2:
Oder ich müsste für jeden eingetragenen Mitarbeiter beispielsweise eine neue Instanz mit Indexnummer versehen.
Beispiel:
F_Main.Employee1 := TEmployee.Create(); // Für Mitarbeiter 1 der eingetragen wurde
F_Main.Employee2 := TEmployee.Create(); // Für Mitarbeiter 2 der eingetragen wurde
Weil bei Equals könnte ich ja dann im Prinzip im zweiten Fall einfach:
Delphi-Quellcode:
if Employee1.Equals( Employee2 ) then
ShowMessage( 'blablabla' );
machen, welches im ersten Fall ja nicht so einfach geht, da ich ja nur eine Instanz habe, nämlich Employee.
Ich hoffe nun ist das verständlicher.
EDIT: Mit der Index nummer meine ich eig nur die Zahl hinter Employee, also Employee
1, Employee
2 usw.
Für mich ist Methode 1 einfacher und sie funktioniert auch insoweit, nur Frage ich mich, ob man doch Methode 2 anwenden soll.