Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Komplette Form und deren Inhalte speichern (https://www.delphipraxis.net/121929-komplette-form-und-deren-inhalte-speichern.html)

WS1976 7. Okt 2008 07:42


Komplette Form und deren Inhalte speichern
 
Hallo,

wir haben ein relativ einfaches Problem:
Es existieren x Forms, in diesen Forms werden Editfelder (als Bsp) usw verändert.
Was wir suchen ist eine einfache Möglichkeit die Inhalte der Form vor dem Bearbeiten zu sichern und sie
eventuell (Abbruch Button) wieder herzustellen.
Es gibt im Forum mehrere Ansätze wie man das machen kann. Wir nutzen jedoch sehr viele Forms, sodass es sich anbietet eine Prozedur zum laden und sichern zu erstellen die sich auf verschiedene Forms anwenden lässt.

Hat jemand eine Ahnung wie man so etwas möglichst allgemeingültig realisieren kann?

Grüsse
Rainer

Gruber_Hans_12345 7. Okt 2008 07:45

Re: Komplette Form und deren Inhalte speichern
 
würde das per RTTI machen

irgendwo eine Liste der Componenten/Properties, die gespeichert werden soll und dann alle Forms/Komponenten durchgehen

mquadrat 7. Okt 2008 07:49

Re: Komplette Form und deren Inhalte speichern
 
Ich würd auch durch die Conrol-Collections durchgehen und je nach Typ dann einen Datensatz z.B. in nem XML File ablegen. Funktionioert aber nur, wenn die tatsächlich die Werte (Text / Checked Eigenschaften) langen und du nicht abhängig vom Inhalt irgendwelche Dictionarys oder sonstige Sachen laden musst. Dann dürfte es mit einer generischen Lösung eher schwierig werden

WS1976 7. Okt 2008 08:56

Re: Komplette Form und deren Inhalte speichern
 
Hallo,

versteh ich im Moment noch nicht. Kann mir das jemand noch mal genauer beschreiben.

Grüsse
Rainer

Sharky 7. Okt 2008 09:00

Re: Komplette Form und deren Inhalte speichern
 
Hai Rainer,

eventuell kannst Du ja die Gundidee von diesem Demo weiter entwickeln bzw. anpassen.

WS1976 8. Okt 2008 10:34

Re: Komplette Form und deren Inhalte speichern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Sharky, hallo DP'ler,

wir bzw ich habe eine Lösung, basierend auf dem Vorschlag von Sharky, gefunden.
Mein Beispielcode besteht aus 2 Forms. Auf der ersten Form sind die Sicherungsroutinen untergbracht, die 2. wird gesichert.
Achtung auf der zweiten Form dürfen nur Komponenten vorkommen die ein Property "Text" besitzen. (Ist ein Fehler der noch beseitigt wird). Als Stack wird eine Tstringlist verwendet.

Zum Beispielcode:

PUSH - Sichern der Form (Inhalte)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if s=nil then s:=tstringlist.create;
  Push(s,form2);
end;
POP - Rückholen der Form (Inhalte)
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
begin
  Pop(s,form2);
  s.clear;
end;
Die Stringlist "s" muss natürlich noch mit create erzeugt werden. Das gleiche gilt für das verlassen des Programms mit free.
Endgültiges Ziel meiner Arbeit ist es eine fertige Komponente zu erstellen und diese dann hier zu veröffentlichen.

Grüsse
Rainer


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz