Zufall?

Janares

Mitglied
Also ich hab jetzt was geschrieben und zwar wenn ich ne Taste drücke bekomme ich 2 Zufallszahlen in 2 textfenster geschrieben und ich als Anwender soll nun in ein drittes Textfenster das Ergebniss schreiben nur funzt das nicht ich zeig mal was ich hab

Dim ZufallErgebniss As Integer

Private Sub Command1_Click()
Randomize -Timer
Ergebniss = ""
Zahl1 = Int(300 * Rnd) + 1
Zahl2 = Int(50 * Rnd) + 1
End Sub

Private Sub Command2_Click()
ZufallErgebniss = Zahl1 + Zahl2
If Ergebniss = ZufallErgebniss Then
LabelRichtig.Visible = True
Else
MsgBox ("Leider Falsch")
End If
End Sub

komm da nicht weiter danke im vorraus
 
Dann setz doch einfach einen Haltepunkt in dem Code (möglichst gleich am Anfang der Routine), lass das ganze in einzelnen Schritten durch den Debugger laufen und achte darauf, was in den Variablen steht.
 
Wie ist denn die Fehlermeldung? Könnte daran liegen wie du Zahl1 und Zahl2 deklariert hast. Die Deklaration musst du zu der von Zufallergebniss packen, damit du Sie in beiden Prozeduren verwenden kannst.

mfg Grimreaper
 
Soweit ich das verstanden hab, gibt es gar keine richtige Fehlermeldung, der Code läuft nur in die falsche Verzweigung.
Das könnte aber trotzdem mit der Lebensdauer der Variablen zusammenhängen: ZufallErgebnis ("Ergebnis" schreibt man so ganz nebenbei auch nach der neuen Rechtschreibung mit nur einem S) ist eine globale Variable, Zahl1 und Zahl2 sind laut Deinem Code aber nirgendwo deklariert. Deswegen werden die wahrscheinlich als lokale Variablen interpretiert und enthalten demnach falsche Werte.

Setz mal in die erste Zeile von Deinem Code die Anweisung "Option Explicit" und versuch dann nochmal zu debuggen. Dabei sollte in dem Fall ein Fehler auftreten, weil die Symbole nicht definiert sind.

Ansonsten musst Du einfach mal die Werte der Variablen genauer ansehen (ggf. hier posten) und dann versuchen, nachzuvollziehen, was da schief läuft. Sowas gehört sowieso zum Alltag.
 
Ich hab die Zahlen jetzt so geschrieben

Dim ZufallErgebnis, Zahl1, Zahl2 As Integer

aber jetzt bekomm ich ne fehlermeldung

"Fehler beim Kompilieren
Das Mitglied ist bereits in einem Objektmodul vorhanden,von dem dieses Objekt Modul abgeleitet wird"
 
hey...

da du das ganze ja wohl mit textboxes realisieren möchtest, versuch mal folgenden code:
Code:
Option Explicit

Private Sub Command1_Click()
    Text3.Text = ""
    Label1.Visible = False
    
    Randomize -Timer
    Text1.Text = CStr(Int(300 * Rnd) + 1)
    Text2.Text = CStr(Int(50 * Rnd) + 1)
End Sub

Private Sub Command2_Click()
    Dim intErgebnis As Integer
    
    intErgebnis = CInt(Text1.Text) + CInt(Text2.Text)
    
    If intErgebnis = CInt(Text3.Text) Then
        Label1.Visible = True
    Else
        MsgBox ("Leider Falsch")
    End If
End Sub

du brauchst nun nur nocht 3 textboxes, 2 command buttons und 1 label zu erstellen.

greetings para
 
Zurück