soll ich eine neue Klasse anstatt tliste erstellen? und was meinst du mit Container (ist dass so etwas wie speichern?).
Nein, deine
TListe
ist ja ein Container (zu deutsch Behälter) worin sich die Daten (hier Vokabeln) befinden.
Die prozeduren Dosave und Doload, finde ich nicht in dem Quelltext, soll die in tliste drin sein?
Nein, du erstellst dir eine Klasse wie folgt:
Delphi-Quellcode:
unit mTStorage;
interface
uses
mTListe, mTVokabel;
type
TStorage =
class
private
FFilename :
string;
protected
procedure DoSave( AListe : TListe );
procedure DoLoad( AListe : TListe );
public
constructor Create(
const AFilename :
string );
property Filename :
string read FFilename;
procedure Save( AListe : TListe );
procedure Load( AListe : TListe );
end;
implementation
constructor TStorage.Create(
const AFilename :
string );
begin
inherited Create;
FFilename := AFilename;
end;
procedure TStorage.Save( AListe : TListe );
begin
// Vorher evtl. eine Abfrage ob die Liste existiert?
// if Assigned( AListe ) then
DoSave( AListe );
end;
procedure TStorage.Load( AListe : TListe );
begin
// Vorher evtl. eine Abfrage ob die Liste existiert?
// if Assigned( AListe ) then
DoLoad( AListe );
end;
procedure TStorage.DoSave( AListe : TListe );
begin
// Hier kreativ werden
end;
procedure TStorage.DoLoad( AListe : TListe );
begin
// Hier auch kreativ werden
end;
end.
Ich deklariere immer als virtual, weil er sonst immer meckert
.
Ok ... ist aber sehr seltsam ...
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)