Guten Tag,
und zwar habe ich mich nun an der Klasse und an der Objectlist versucht:
Meine Klasse "Employee" hat die Properties, wie von Sir Rufo bereits vorgeschlagen.
Ich habe dann die Objectliste erstellt "OLEmployees".
Meine vorgehensweise sieht wie folgt aus:
Ich speichere in die Properties die Inhalte der Textfelder. Danach adde ich der Objectliste die Klasse Employee als neues Item dazu.
Die Initialisierungen und das Freigeben lasse ich hiermal weg, die finden in der Haupt-
Unit im OnCreate und OnClose Event statt.
Delphi-Quellcode:
procedure TF_AddEditEmployee.btn_AddEditClick(Sender: TObject);
var EmployeeData: TStringlist;
begin
EmployeeData := TStringlist.Create;
EmployeeData.Add(edt_CardID.Text);
EmployeeData.Add(edt_PreName.Text);
EmployeeData.Add(edt_SurName.Text);
EmployeeData.Add(DatetoStr(dt_Birthday.Date));
EmployeeData.Add(edt_WorkStation.Text);
EmployeeData.Add(edt_Position.Text);
F_Employees.SelCardID := StrtoInt(edt_CardID.Text);
try
AddEmployeeData(F_Main.OLEmployees.Count, EmployeeData);
except
Messagebox(Self.Handle, 'Mitarbeiter konnte nicht hinzugefügt werden', 'Fehler',
MB_ICONWARNING or MB_OK);
end;
close;
EmployeeData.Free;
end;
Delphi-Quellcode:
// *************************** Mitarbeiterhinzufügen ***************************
procedure AddEmployeeData(Index: Integer; EmployeeData: TStringlist);
begin
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
end;
Meine Frage ist nun, ist das so richtig und wie kann ich nun wieder aus der Objectliste heraus das richtige Item finden? Ich kann ja schlecht IndexOf benutzen, da ja alle Items das gleiche Object (Employee) haben nur mit anderen Properties.
Zurzeit wäre ja jedes neue Item der Objectlist ein neuer Mitarbeiter mit den Eigenschaften von Employee.