Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Datenspeicherung auf anderes Formular (https://www.delphipraxis.net/173709-datenspeicherung-auf-anderes-formular.html)

Jerubicarmus 12. Mär 2013 06:21

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

s.h.a.r.k 12. Mär 2013 07:51

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.

DeddyH 12. Mär 2013 07:53

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?

Der schöne Günther 12. Mär 2013 09:03

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:
RadioGroup
- Damit kannst du einfach mit einer Zeile einen neuen RadioButton hinzufügen, oder alle entfernen, oder ....

Sir Rufo 12. Mär 2013 09:09

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:
TForm
und OOP einzuarbeiten. Dafür lernt man dabei eine ganze Menge und der Code wird sich auch leichter erweitern lassen.

Welchen Weg hättest du gerne?

Natcree 12. Mär 2013 11:07

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:
edit1.Parent:=form2;
Und so von form2 wieder auf Form1 zurück

Delphi-Quellcode:
form1.edit1.Parent:=form1;

Sir Rufo 12. Mär 2013 11:11

AW: Datenspeicherung auf anderes Formular
 
Zitat:

Zitat von Natcree (Beitrag 1207067)
Mit dem befehl kannste Edit1.text auf die Form2 schieben
Delphi-Quellcode:
edit1.Parent:=form2;
Und so von form2 wieder auf Form1 zurück

Delphi-Quellcode:
form1.edit1.Parent:=form1;

Was hat das mit der aktuellen Frage zu tun? :gruebel:

Natcree 12. Mär 2013 11:17

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:

Wie kann ich, wenn ich also z.B. Radiobuttons mache, programmieren, dass die gewählte Antwort gespeichert oder auf ein anderes Formular übertragen wird?

Sir Rufo 12. Mär 2013 11:36

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 ;)

Sir Rufo 12. Mär 2013 11:38

AW: Datenspeicherung auf anderes Formular
 
Zitat:

Zitat von Natcree (Beitrag 1207070)
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:

Wie kann ich, wenn ich also z.B. Radiobuttons mache, programmieren, dass die gewählte Antwort gespeichert oder auf ein anderes Formular übertragen wird?

Genau, er will die Daten übertragen und keine Controls.


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