![]() |
Datenspeicherung auf anderes Formular
Hi, ich will ein Textaddventure programmieren. Dazu hab ich relativ viele Formulare. Je nachdem welche Antwort man wählt, soll im Hintergrund die Antwort auf ein weiteres Formular übertragen werden, dass dann die guten und schlechten Entscheidungen berechnet. Wie kann ich, wenn ich also z.B. Radiobuttons mache, programmieren, dass die gewählte Antwort gespeichert oder auf ein anderes Formular übertragen wird? Bin selbst ein Anfänger, deshalb schreibt bitte Verständlich, danke im Voraus für eure Anregungen
|
AW: Datenspeicherung auf anderes Formular
Herzlich Willkommen in der DP :dp:
Du solltest die Daten von deinen Formularen trennen und die Formulare nur zur Anzeige deiner Daten nutzen. Schau dir vielleicht mal das MVC-Pattern an. Du musst es nicht so machen, aber das Prinzip sollte damit ziemlich deutlich werden. |
AW: Datenspeicherung auf anderes Formular
Und dass Du angeblich so viele Formulare brauchst, erscheint mir etwas merkwürdig. Wäre es nicht besser, allenfalls eine Handvoll Formulare zu benutzen und nur deren Inhalt anzupassen?
|
AW: Datenspeicherung auf anderes Formular
Anfänger bedeutet Anfänger in Sachen Programmierung allgemein?
Ich würde allerdings auch sagen, dass es keinen Sinn macht, quasi unendlich viele Formulare von Hand zu erzeugen. Die alten Textadventures hatten ... Text. Theoretisch brauchst du doch nur ein Textfeld in welchem dein Text steht und darunter ganz simpel RadioButtons. Schau mal nach dem Element
Delphi-Quellcode:
- Damit kannst du einfach mit einer Zeile einen neuen RadioButton hinzufügen, oder alle entfernen, oder ....
RadioGroup
|
AW: Datenspeicherung auf anderes Formular
Für dieses gibt es einen einfachen und direkten aber auch (programmiertechnisch) schlechten Weg. Diesen sollte man sich eigentlich nicht aneignen.
Der andere und richtigere Weg ist (zunächst) etwas aufwändiger, weil man sich Gedanken über die Kommunikationswege machen muss. Weiterhin erfordert es sich in die Funktionsweise von
Delphi-Quellcode:
und OOP einzuarbeiten. Dafür lernt man dabei eine ganze Menge und der Code wird sich auch leichter erweitern lassen.
TForm
Welchen Weg hättest du gerne? |
AW: Datenspeicherung auf anderes Formular
Die Jungs haben recht Ich hatte das Problem letztens auch. Daten und visuelle Wiedergabe trennen ist wirklich besser. Bin zwar auch noch nicht so ganz fit drinn aber mit ein zwei selbst geprogten Programmen haste die Grundlagen ersteinmal.
Mit dem befehl kannste Edit1.text auf die Form2 schieben
Delphi-Quellcode:
Und so von form2 wieder auf Form1 zurück
edit1.Parent:=form2;
Delphi-Quellcode:
form1.edit1.Parent:=form1;
|
AW: Datenspeicherung auf anderes Formular
Zitat:
|
AW: Datenspeicherung auf anderes Formular
er wollte daten verschieben. Mir ist klar das er erstmal daten speichern sollte. Aber wenn er genauso wie ich Daten vom visuellen nicht trennen kann hat er mit dem Parent befehl erstmal die möglichkeit wie er es wollte daten(info´s) auf eine andere Form zu schieben... .
Zitat:
|
AW: Datenspeicherung auf anderes Formular
Liste der Anhänge anzeigen (Anzahl: 1)
So ich habe da mal ein kleines Klick-das-Shape Spiel zusammengestellt (sehr einfach) um die Kommunikation zwischen unterschiedlichen Formularen zu demonstrieren (über Events).
Der Quelltext ist soweit dokumentiert und eine Exe-Datei hängt auch dran (so als Vorgucker). (Ist mit XE3 erstellt, aber ich habe alles, was XE3 spezifisch ist eigentlich da rausgenommen) Das sollte helfen konkrete Fragen zu stellen, bzw. sich mit dem Debugger mal den Ablauf anzuschauen. Wer das spielen möchte, einfach auf Start und das Quadrat anklicken. Punkte werden abhängig von der Größe des Ziels und der Reaktionszeit vergeben. Ein Leben verliert man, wenn man neben das Ziel klickt oder es innerhalb von 1 Sekunde nicht trifft (10 Leben hat man beim Start). EDIT: Bevor hier noch einer meckert :mrgreen: die Informationen zum Punktestand und Leben werden in privaten Form-Feldern gespeichert ... aber ich wollte den Bogen nicht noch weiter überspannen und auch noch mit ViewModels anfangen ;) |
AW: Datenspeicherung auf anderes Formular
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz