AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Datenspeicherung auf anderes Formular
Thema durchsuchen
Ansicht
Themen-Optionen

Datenspeicherung auf anderes Formular

Offene Frage von "Sir Rufo"
Ein Thema von Jerubicarmus · begonnen am 12. Mär 2013 · letzter Beitrag vom 12. Mär 2013
Antwort Antwort
Jerubicarmus

Registriert seit: 12. Mär 2013
4 Beiträge
 
#1

Datenspeicherung auf anderes Formular

  Alt 12. Mär 2013, 06:21
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
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

AW: Datenspeicherung auf anderes Formular

  Alt 12. Mär 2013, 07:51
Herzlich Willkommen in der 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.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Datenspeicherung auf anderes Formular

  Alt 12. Mär 2013, 07:53
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?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Datenspeicherung auf anderes Formular

  Alt 12. Mär 2013, 09:03
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 RadioGroup - Damit kannst du einfach mit einer Zeile einen neuen RadioButton hinzufügen, oder alle entfernen, oder ....
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Datenspeicherung auf anderes Formular

  Alt 12. Mär 2013, 09:09
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 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?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: Datenspeicherung auf anderes Formular

  Alt 12. Mär 2013, 11:07
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
edit1.Parent:=form2; Und so von form2 wieder auf Form1 zurück

form1.edit1.Parent:=form1;

Geändert von Natcree (12. Mär 2013 um 11:09 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Datenspeicherung auf anderes Formular

  Alt 12. Mär 2013, 11:11
Mit dem befehl kannste Edit1.text auf die Form2 schieben
edit1.Parent:=form2; Und so von form2 wieder auf Form1 zurück

form1.edit1.Parent:=form1;
Was hat das mit der aktuellen Frage zu tun?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#8

AW: Datenspeicherung auf anderes Formular

  Alt 12. Mär 2013, 11:17
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?
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: Datenspeicherung auf anderes Formular

  Alt 12. Mär 2013, 11:36
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 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
Angehängte Dateien
Dateityp: zip PunkteZähler.zip (823,8 KB, 14x aufgerufen)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (12. Mär 2013 um 11:41 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Datenspeicherung auf anderes Formular

  Alt 12. Mär 2013, 11:38
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.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:52 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