Forum: Programmieren allgemein
by Sir Rufo,
19. Jul 2015
Du kannst die StringList-Orgie komplett weg lassen. Anstatt die Werte aus den Edit-Feldern in eine String-Liste zu schreiben um diese dann von der String-Liste in eine neue TEmployee zu schreiben und diese Instanz dann in die Liste,
warum dann nicht gleich die Instanz mit den Werten aus den Edit-Feldern bestücken?
Machst du doch eh schon, nur mit dem Umweg über die String-Liste.
Forum: Programmieren allgemein
by Sir Rufo,
19. Jul 2015
Die Frage verstehe ich nun gar nicht.
Es sei denn, du würdest die ID fälschlicherweise als Indexnummer bezeichnen. Die ID ist aber ein Identifizierer und kein Index. In einer Datenbank würde man es als Primary Index bezeichnen (eindeutiger Hauptindex) oder auch mal als Identity oder Unique Index (eindeutiger Index). Ein einfacher Index kann mehrfach vorkommen und eignet sich nicht als...
Forum: Programmieren allgemein
by Sir Rufo,
19. Jul 2015
Eine Instanz erzeugt man mit Employee := TEmployee.Create();.
Employee.Create(); ruft nur den Konstruktor der Instanz auf, erzeugt aber keine Instanz!
Forum: Programmieren allgemein
by Sir Rufo,
19. Jul 2015
Mit function TObject.Equals( Obj: TObject ): Boolean; kann man Instanzen auf Gleichheit prüfen.
Und zwar im Sinne von "stellen das Gleiche dar".
Zwei unterschiedliche Instanzen von TEmployee können ja die gleiche ID haben und stellen somit das Gleiche dar.
var e1, e2: TEmployee;
if e1 = e2 then
ShowMessage( 'Gleiche Instanzen' );
Forum: Programmieren allgemein
by Sir Rufo,
11. Jul 2015
Die Persistenz-Schicht sollte aber nicht im Objekt selber sein.
Das gibt nachher einfach nur Kuddelmuddel, wenn man das Datenformat ändert/ändern muss (Umstieg von Dateien auf eine Datenbank).
Der Anwendung selber sollte es egal sein, wo die Daten abgelegt werden. Es gibt einfach einen Service, dem die Anwendung mitteilt, was mit dem Objekt passieren soll (CRUD). Der Service kümmert sich...