Einzelnen Beitrag anzeigen

Asura

Registriert seit: 10. Jun 2013
87 Beiträge
 
#28

AW: Record im Array nutzen? - Sinnvollere Wege?

  Alt 19. Jul 2015, 23:22
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 Employee1, Employee2 usw.

Für mich ist Methode 1 einfacher und sie funktioniert auch insoweit, nur Frage ich mich, ob man doch Methode 2 anwenden soll.

Geändert von Asura (19. Jul 2015 um 23:25 Uhr)
  Mit Zitat antworten Zitat