Hallo.
Ein Programm liest die Zeigerkoordinaten der Maus alle 0,03 Sekunden. Dabei werden Koordinatenpaare, die doppelt vorkommen, nicht mit aufgenommen.
Ich hab lange (relativ) überlegt wie ich die ganzen Koordinaten speichern soll.
Da ohnehin etwas Übung in
OOP nicht schaden konnte, habe ich dis TList-Klasse gewählt und eine eigene TFeld-Klasse geschrieben.
Delphi-Quellcode:
unit Unit2;
interface
type
TFeld =
class
private
X : Integer;
Y : Integer;
public
constructor create;
procedure SetzeX (x : integer);
procedure SetzeY (y : integer);
function GibX : Integer;
function GibY : Integer;
destructor destroy;
end;
implementation
constructor TFeld.create;
begin
x:= 0;
y:= 0;
end;
procedure TFeld.SetzeX (x : Integer);
begin
self.X:= x;
end;
procedure TFeld.SetzeY (y : integer);
begin
self.Y:= y;
end;
function TFeld.GibX : integer;
begin
result:= X;
end;
function TFeld.GibY : integer;
begin
result:= Y;
end;
destructor TFeld.destroy;
begin
self.Free;
end;
end.
In din Objekten von TFeld werden die X- und Y-Koordinaten geschrieben.
Jene Objekte werden wiederum von einem Objekt der Klasse TList verwaltet. Über diese wird auch auf den Inhalt zugegriffen.
1. Frage: Ist dies eine sinnvolle Art der Datenspeicherung?
2. Frage: Wenn 1. Frage = true, wie kann ich die ermittelten Daten in eine externe Datei schreiben und diese speichern bzw. dann auch wieder laden, ohne dass ich die ganzen Daten einzeln wieder in die Elemente eintragen muss?
Also ich will quasi das gesamte TList-Objekt mit all seinen TFeld-Objekten und deren Inhalten speichern und diese wieder mit den gleichen Inhalten laden.
Mit freundlichen Grüßen