Entwickler-Ecke
Sonstiges (Delphi) - Wie kann man ein Formular speichern und öffnen???
Apollo - Di 16.10.07 14:46
Titel: Wie kann man ein Formular speichern und öffnen???
Hallo Delphianer :wave: ,
Als ihr den Titel hier gelesen habt, dachtet ihr bestimmt etwas anderes als
ich meinte. Ich weiß schon wie man Formulare speichern kann (Datei/Alles speichern).
Also mein Problem:
Ich habe ein Formumar auf dem ein paar Buttons und auch ein paar Panels sind.
Auf den Panels stehen Ergebnise von Mathematikaufgaben. Nun möchte ich alles so speichern
wie man es sieht. Und es auch so wieder öffnen. Ich hoffe, ihr wisst was ich meine.
Danke im voraus!
Klabautermann - Mi 17.10.07 08:16
Hallo,
du solltest dir überlegen welche Werte in deinem Formular Variabel sind. Nur die Ergebnisse der Mathe aufgaben? Die Ergebnisse und die Aufgaben? Die Ergebisse, Aufgaben und die Position des Formulars? Oder gar die Ergebisse, Aufgaben, die Position des Formulars und die Position der Panels im Formular?
Es macht definitiv keinen Sinn Dinge zu speichern die sich ohnehin nicht Verändern. Wenn sich die Buttons und Panels nicht ändern, warum sich die Arbeit machen die Zuspeichern?
Daher sollte die erste Frage für dich sein: Was musst du wirklich speichern?
Wenn du die beantwortet hast, dann kannst du den besten Weg suchen dies zu tun.
Gruß
Klabautermann
Apollo - Mi 17.10.07 17:11
Mir geht es viel mehr um die Ergebnisse aus der Matheaufgabe.
Wäre schön, das wenn man die Aufgabe öffnet, alles so aussieht als ob man es gerade
ausgerechnet hat. Muß aber nicht unbedingt so aussehen. Bin für alle Vorschläge um das Problem zu lösen offen - bin noch Anfänger.
TProgger - Mi 17.10.07 17:16
Eine Variante wäre, beim Schließen alle relevanten Werte (Zahlen, Positionen von Komponenten) in eine Ini-Datei zu schreiben.
Im OnCreate des Forms dann einlesen und alles nach den eingelesenen Werten positionieren und beschriften.
Jakob_Ullmann - Mi 17.10.07 19:57
So viel dazu: Ein Formular kann man nicht speichern. Du kannst nur Inhalte speichern. Bei manchen Komponenten (z.B. RichEdit) gibt es vordefinierte Methoden zum Speichern (genaugenommen gehört das zu TStrings). Du müsstest dir ein Prinzip überlegen, nachdem die Datei aufgebaut ist. Ich verwende gerne TXT als Kennung, du kannst dir aber auch selber etwas ausdenken (übrigens dürfen da nicht nur 3 Buchstaben enthalten sein).
Wenn du drei Panels mit drei Aufgaben hast:
Quelltext
1: 2: 3:
| Panel1.Caption Panel2.Caption Panel3.Caption |
Dann schreibst du:
Delphi-Quelltext
1: 2: 3: 4: 5:
| var filecontents: string; Break: string; begin Break := #10#13; filecontents := Panel1.Caption + Break + Panel2.Caption + Break + Panel3.Caption; end; |
Zum Speichern ist die einfachste Variante, ein Memo auf's Form, unsichtbar und per Text filecontents zuweisen und via SaveToFile(FileName: string) speichern. Das ist allerdings ziemlich unprofessionell. Ich habe lange nicht mehr mit Dateien gearbeitet, aber mein Gedächtnis sagt, erst AssignFile(), dann WriteLn() bzw. ReadLn, dann CloseFile(). Am Besten, du guckst dir das mal in der Delphi-Hilfe (F1) an.
BerTeL - Mi 17.10.07 20:58
Ich würde dir ne inifile empfehlen.
Am besten such mal nach TInifile
gibt tolle tut's dafür ;>
Beim schließen des programms speicherst du alles nötige (Formeln, Position des Fensters, Grööße und so..) und beim starten ladest du diese Daten aus der ini-file
Apollo - Mi 17.10.07 21:08
Vielen Dank
das ihr mir geholfen habt. :D
Ich werd alles mal ausprobieren. :zustimm:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!