Natürlich ist das möglich. Wenn du den Code analysierst wirst du feststellen, dass die Daten in einem TPoint Array gespeichert sind. Den brauchst du nur abspeichern wie du willst. Und wenn du die Daten in einer Ini speichern willst, dann kannst du es auch als String speichern.
Ich hab hier mal spaßeshalber die Daten in ein String gespeichert und zurück
Delphi-Quellcode:
var
s: string;
i: Integer;
begin
//--- Zerlegt TPoint-Array in ein String
s := '';
for i := 0 to High(PolyArray) do
begin
s := s + Format('%d|%d', [PolyArray[i].X, PolyArray[i].Y]);
if i < High(PolyArray) then s := s + ',';
end;
//--- Ende. Daten sind im String als Datenkette übergeben
//Test, Ausgabe
ShowMessage(s);
ShowMessage('Jetzt wird alles gelöscht und neu gezeichnet.');
//--- Datenkette im String an TPoint-Array übergeben
SetLength(PolyArray, 0);
with TStringList.Create do
try
CommaText := s;
SetLength(PolyArray, Count);
for i := 0 to Count - 1 do
begin
PolyArray[i].X := StrToInt(Copy(Strings[i], 1, Pos('|', Strings[i]) - 1));
PolyArray[i].Y := StrToInt(Copy(Strings[i], Pos('|', Strings[i]) + 1, MaxInt));
end;
finally Free end;
//--- Ende. Daten aus String sind an TPoint-Array übergeben
//Test, Neuzeichnen
Button2Click(nil);
end;