myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Userform (https://mygully.com/showthread.php?t=2132811)

gymnozist 04.10.10 14:11

Userform
 
Servus,

hier die zweite Frage eines Anfängers.
Ich habe ein kleines Programm geschrieben, dass ein Pferderennen simuliert. In einer Userform kann man zu Beginn das Pferd auswählen, auf das man setzen will und den Wetteinsatz.

Nach Abschluss eines Rennens möchte ich nun gerne eine zweite userform mit den Optionen "weiter" und "auszahlen" schalten. Bei "auszahlen" soll das Spiel enden, bei "weiter" das Rennen wieder von vorne anfangen. Allerdings soll die Variable für das Guthaben aus dem ersten Rennen übernommen werden.
Wie kann ich aus der zweiten userform an eine bestimmte Stelle des Programms spirngen und dann wieder anfangen (inklusive der Mitnahme des Variablenwertes)? Ich habe es mit goto versucht, aber das lief irgendwie nicht.

Wäre super, wenn mir jemand trotz dieser etwas mkomischen Umschreibung helfen könnte.

Mr_Braun 04.10.10 14:23

Bin zwar überhaupt kein Programmiercrack und besitze nur Grundkenntnisse mit C#, aber macht nichts.
Besteht nicht die Möglichkeit den Wert einfach in einer Variable oder Array zu speichern? :eek:

Cobain78 04.10.10 15:56

alles in eine Funktion setzen und die variabel als rückgabewert festlegen

bei ende Programm beenden
bei weiter Funktion wieder aufrufen mit der variabel als anfangswert.

wenn du später eine Übersicht über Gewinn und Verlust mache willst dann mach die variabel als array.

PornoPenner 04.10.10 19:06

Welche Programmiersprache???

ro88ro 04.10.10 22:49

im web mit get ?=geld oder post
als programm wie schon gesagt: variable

das sind aber sowas von basic fragen, dass steht in jedem howto drinn

Zitat:

... alles in eine Funktion setzen ...
etwas überdosiert oder ? die funktion heisst nämlich addieren und die geht so
konto=konto+gewinn

PS:goto soll das evt. uralt basic sein?
also entweder sub oder function zur user/konten verwaltung
dann die forms

Xalir 05.10.10 03:39

Ich nehme mal an, Du schreibst in VB .NET

Code:

Class Form1

    Private Shared Auszahlung As Single = 0

'Form-Ereignisse hier
    Form_Load(ByVal....)

Mit Shared behält eine Variable ihren Wert auch wenn die Funktion erneut aufgerufen wird. Ist der gesamte Code in derselben Form kannst Du auf Shared auch verzichten. Wichtig ist dann halt das Du die Variable direkt unter der Klassendefinition erstellst.

Du kannst auch mit dem MsgBox-Befehl ein Dialogfeld erstellen und anhand des Rückgabewerts entscheiden, ob das Programm weiterläuft oder beendet wird.

Code:

Dim returnCode as Boolean

returnCode = MsgBox("Spiel zu Ende!", "Möchtest Du weitermachen?", vbYesNo)

If returnCode Then StarteRennen Else Me.Close()

Du kannst die Dialogbuttons selbst auch editieren, weiß aber nicht die genaue Syntax dafür.

Und goto-Anweisungen sind ganz böse Fallen. Nicht nur, das der Compiler meckern wird, auch machen sie den gesamten Code nicht mehr gut lesbar. Besser alles in Functions, Subs, Properties packen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:13 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.