| schlumsch hat folgendes geschrieben: |
| ...ajo das hast du auch schonmal geschrieben, nur hab ich mein "schlaues Büchlein" befragt und ein Beispiel gesehen wie die normale Records saven - eben ohne die von die erwähnten Methoden. |
Ja eben da liegt ja der Hase im Pfeffer. Records werden im Gegensatz zu Objekten
nicht mit Zeigern verwaltet (im Endeffekt zwar schon, aber für den Programmierer erst mal nicht). Deswegen kannst du Records wie normale Variablen speichern.
| schlumsch hat folgendes geschrieben: |
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| type TToDo = class private public Kategorie : string[20]; Anzeigetext : string[100]; Text : string; Erzeugungsdatum : TDateTime; Constructor create;
end; | |
Warum benutzt du überhaupt ein Objekt, wenn das eh nur Felder beinhaltet? Da täte ein Record seine Sache besser.
Außerdem kannste dir den Constructor sparen, der tut bei dir ja offentsichtlich eh nichts besonderes(oder?).
So solltest du deine Klasse erweitern:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| type TToDo = class public Kategorie : string[20]; Anzeigetext : string[100]; Text : string; Erzeugungsdatum : TDateTime; Constructor create; procedure LoadFromStream(str: TStream); procedure SaveToStream(str: TStream); end; procedure TToDo.LoadFromStream(str: TStream); begin str.write(Kategorie, SizeOf(Kategorie)); str.write(AnzeigeText, SizeOf(AnzeigeText)); ... |
So, jetzt kannst du dich noch drum kümmern,
1. dynamische Strings zu speichern
2. TDateTime zu speichern
3. die Notwendigkeit einer Klasse abzuwägen