Seite 1 von 1
Sharp Devolop (if-anweisung)
#1
geschrieben 29. März 2005 - 00:41
Hallo Leute!
Erst mal frohe Ostern
wie der Zufall es will hab ich ein grosses Problem mit meinen Programmierungskünsten!
Und zwar möchte ich einen Button programmieren der je nach Klick eine andere Aktion ausführt!
Bei mir sieht das dann so aus
Private Sub BtnweiterClick(sender As System.Object, e As System.EventArgs)
Dim btnweiter as short
btnweiter = 0
If btnweiter = 0 Then
lbl1.Text = "Das Gestein, welches in Höhlen von unten nach oben wächst nennt man Stalagmiten?"
End If
If btnweiter > 0 Then
btnweiter = btnweiter +1
lbl1.Text = "Die Hauptstadt der Niederlande ist Rotterdam?"
End If
If btnweiter = 1 Then
btnweiter = btnweiter +1
lbl1.Text = "Ein Würfel hat 22 Augen?"
End If
end sub
ABER es will nicht klappen !
Noch mal zur Erklärung:
Wenn ich den button weiter klicke soll im Label die erste frage stehen
und wenn ich das zweite mal klicke sollte sich die frage im label ändern!
aber es tut sich da nichts!
hatte es auch schon anders probiert aber dann übersprang der button die anderen Fragen und das läbel zeigte nur die letzte Frage an .... und übersprang die anderen!
THX schon mal im Vorraus
MfG Leut
Erst mal frohe Ostern
wie der Zufall es will hab ich ein grosses Problem mit meinen Programmierungskünsten!
Und zwar möchte ich einen Button programmieren der je nach Klick eine andere Aktion ausführt!
Bei mir sieht das dann so aus
Private Sub BtnweiterClick(sender As System.Object, e As System.EventArgs)
Dim btnweiter as short
btnweiter = 0
If btnweiter = 0 Then
lbl1.Text = "Das Gestein, welches in Höhlen von unten nach oben wächst nennt man Stalagmiten?"
End If
If btnweiter > 0 Then
btnweiter = btnweiter +1
lbl1.Text = "Die Hauptstadt der Niederlande ist Rotterdam?"
End If
If btnweiter = 1 Then
btnweiter = btnweiter +1
lbl1.Text = "Ein Würfel hat 22 Augen?"
End If
end sub
ABER es will nicht klappen !
Noch mal zur Erklärung:
Wenn ich den button weiter klicke soll im Label die erste frage stehen
und wenn ich das zweite mal klicke sollte sich die frage im label ändern!
aber es tut sich da nichts!
hatte es auch schon anders probiert aber dann übersprang der button die anderen Fragen und das läbel zeigte nur die letzte Frage an .... und übersprang die anderen!
THX schon mal im Vorraus
MfG Leut
Anzeige
#2
geschrieben 29. März 2005 - 00:52
also ich habe zwa rkeine ahnung von der sprache, aber sagst du nicht immer btnweiter = 0? d.h. er geht immer in die if... oder täusche ich mich da?
#3
geschrieben 29. März 2005 - 00:57
Zitat
Private Sub BtnweiterClick(sender As System.Object, e As System.EventArgs)
Dim btnweiter as short
btnweiter = 0
If btnweiter = 0 Then
lbl1.Text = "Das Gestein, welches in Höhlen von unten nach oben wächst nennt man Stalagmiten?"
End If
If btnweiter > 0 Then
btnweiter = btnweiter +1
lbl1.Text = "Die Hauptstadt der Niederlande ist Rotterdam?"
End If
If btnweiter = 1 Then
btnweiter = btnweiter +1
lbl1.Text = "Ein Würfel hat 22 Augen?"
End If
end sub
Dim btnweiter as short
btnweiter = 0
If btnweiter = 0 Then
lbl1.Text = "Das Gestein, welches in Höhlen von unten nach oben wächst nennt man Stalagmiten?"
End If
If btnweiter > 0 Then
btnweiter = btnweiter +1
lbl1.Text = "Die Hauptstadt der Niederlande ist Rotterdam?"
End If
If btnweiter = 1 Then
btnweiter = btnweiter +1
lbl1.Text = "Ein Würfel hat 22 Augen?"
End If
end sub
Ich würde sagen der fettgedruckte Teil muss raus. Jetzt rate mal wieso?
EDIT: XDestroy hat somit natürlich recht; wenn Du btnweiter = 0 machst, springt er automatisch in die erste und zwar nur in die erste Schleife ...
Dieser Beitrag wurde von lysar bearbeitet: 29. März 2005 - 00:59
#4
geschrieben 29. März 2005 - 01:04
Private Sub BtnweiterClick(sender As System.Object, e As System.EventArgs)
Dim btnweiter as short
If btnweiter = 0 Then
btnweiter = btnweiter +1
lbl1.Text = "Das Gestein, welches in Höhlen von unten nach oben wächst nennt man Stalagmiten?"
End If
If btnweiter = 1 Then
btnweiter = btnweiter +1
lbl1.Text = "Die Hauptstadt der Niederlande ist Rotterdam?"
End If
If btnweiter = 2 Then
btnweiter = btnweiter +1
lbl1.Text = "Ein Würfel hat 22 Augen?"
End If
end sub
also ich habs jetzt mal so probiert aber er überspringt halt die ersten beiden fragen
und geht direkt zu lbl1.Text = "Ein Würfel hat 22 Augen?"
es muss doch irgendeine möglichkeit geben das alle fragen je nach KLICK nach einander abgespielt werden können.
Dim btnweiter as short
If btnweiter = 0 Then
btnweiter = btnweiter +1
lbl1.Text = "Das Gestein, welches in Höhlen von unten nach oben wächst nennt man Stalagmiten?"
End If
If btnweiter = 1 Then
btnweiter = btnweiter +1
lbl1.Text = "Die Hauptstadt der Niederlande ist Rotterdam?"
End If
If btnweiter = 2 Then
btnweiter = btnweiter +1
lbl1.Text = "Ein Würfel hat 22 Augen?"
End If
end sub
also ich habs jetzt mal so probiert aber er überspringt halt die ersten beiden fragen
und geht direkt zu lbl1.Text = "Ein Würfel hat 22 Augen?"
es muss doch irgendeine möglichkeit geben das alle fragen je nach KLICK nach einander abgespielt werden können.
#5
geschrieben 29. März 2005 - 01:18
was meinst Du mit ' je nach KLICK'?
Wenn der Rückgabewert des klicks '2' ist springt eben in die entsprechende Schleife.
Wie soll denn das gehen, das eine Rückgabewert eines klicks mal '0', mal '1' oder eben '2' ist? Wodurch wird das gesteuert?
Wenn der Rückgabewert des klicks '2' ist springt eben in die entsprechende Schleife.
Wie soll denn das gehen, das eine Rückgabewert eines klicks mal '0', mal '1' oder eben '2' ist? Wodurch wird das gesteuert?
#6
geschrieben 29. März 2005 - 01:40
eben das ist das problem!
ich hatte gedacht das wenn ich klicke die frage dagestellt wird
anscheinend ist es falsch das ich btnweiter = btnweiter +1 als befehl angebe
es ist praktisch EINE abfolge einer IF-Anweisung
aber er soll ja nach einem klick die Pause machen
und wenn ich nochmal klicke das btnweiter +1 sein soll und die nächste frage eingeblendet werden soll!
da muss es doch einen befehl geben der die If-Anweisung pausiert oder irgend ein
kleiner trick!
ich hatte gedacht das wenn ich klicke die frage dagestellt wird
anscheinend ist es falsch das ich btnweiter = btnweiter +1 als befehl angebe
es ist praktisch EINE abfolge einer IF-Anweisung
aber er soll ja nach einem klick die Pause machen
und wenn ich nochmal klicke das btnweiter +1 sein soll und die nächste frage eingeblendet werden soll!
da muss es doch einen befehl geben der die If-Anweisung pausiert oder irgend ein
kleiner trick!
#7
geschrieben 29. März 2005 - 01:44
Benutze eine andere Variable zum hochzählen, da btnweiter statisch ist. Ab der zweiten Schleife musst Du dann wieder auf btnweiter = 2 und der variablen mit entsprechenden Wert verweisen.
Verstanden was ich meine?
Verstanden was ich meine?
#8
geschrieben 29. März 2005 - 01:46
hmm. also ich hab wie gesagt keine ahnung davon, aber ich täte das strukturell so lösen:
ist der button geklickt, kriegt er eine 'signatur'. dann geht er durch und nimmt über random irgendwas das != der signatur ist.
ist der button geklickt, kriegt er eine 'signatur'. dann geht er durch und nimmt über random irgendwas das != der signatur ist.
#9
geschrieben 29. März 2005 - 01:51
Zitat (XDestroy: 29.03.2005, 01:46)
hmm. also ich hab wie gesagt keine ahnung davon, aber ich täte das strukturell so lösen:
ist der button geklickt, kriegt er eine 'signatur'. dann geht er durch und nimmt über random irgendwas das != der signatur ist.
ist der button geklickt, kriegt er eine 'signatur'. dann geht er durch und nimmt über random irgendwas das != der signatur ist.
Aha, hm ... also das habe ich jetzt nicht verstanden ...
Probiere mal das da:
Private Sub BtnweiterClick(sender As System.Object, e As System.EventArgs)
Dim btnweiter as short
dim i as integer
i=0
If btnweiter = 2 and i= 0 Then
lbl1.Text = "Das Gestein, welches in Höhlen von unten nach oben wächst nennt man Stalagmiten?"
i=1
End If
If btnweiter = 2 and i= 1 Then
btnweiter = btnweiter +1
lbl1.Text = "Die Hauptstadt der Niederlande ist Rotterdam?"
i=2
End If
If btnweiter = 2 and i= 2 Then
btnweiter = btnweiter +1
lbl1.Text = "Ein Würfel hat 22 Augen?"
End If
end sub
#10
geschrieben 29. März 2005 - 02:15
hmm jo thx für die arbeit
aber irgendwie tut sich da nicht im label sobald ich klick!
aber irgendwie tut sich da nicht im label sobald ich klick!
#11
geschrieben 29. März 2005 - 02:19
Zitat (Leut: 29.03.2005, 02:15)
hmm jo thx für die arbeit
aber irgendwie tut sich da nicht im label sobald ich klick!
<{POST_SNAPBACK}>
aber irgendwie tut sich da nicht im label sobald ich klick!
<{POST_SNAPBACK}>
dann lass mal ganz oben das erste i=0 weg. Kanns leider nicht selbst testen, da bei mir das SharpDevelop net läuft.
Jetz aber muss i ins Bett, morgen können wir weiter grübeln
n8
#12
geschrieben 29. März 2005 - 03:40
ich hab die antwort ein kollege von mir hat sie mir gesteckt
für alle die es interessiert:
Public i As Integer = 0
Private Sub BtnweiterClick(sender As System.Object, e As System.EventArgs)
If i = 0 Then
lbl1.Text = "Das Gestein, welches in Höhlen von unten nach oben wächst nennt man Stalagmiten?"
ElseIf i = 1 Then
lbl1.Text = "Die Hauptstadt der Niederlande ist Rotterdam?"
ElseIf i = 2 Then
lbl1.Text = "Ein Würfel hat 22 Augen?"
ElseIf i = 3 Then
lbl1.Text = "Eine Tomate ist eine Frucht"
ElseIf i = 4 Then
lbl1.Text = "Die Landessprache in Brasilien ist Portugiesisch?"
ElseIf i = 5 Then
lbl1.Text = "Ein Kilo Blei ist schwerer als ein Kilo Federn?"
ElseIf i = 6 Then
lbl1.Text = "Ein Pädagoge ist ein Arzt?"
ElseIf i = 7 Then
lbl1.Text = "Vielen Dank fürs Mitmachen!"
End If
i = i + 1
MfG Leut
für alle die es interessiert:
Public i As Integer = 0
Private Sub BtnweiterClick(sender As System.Object, e As System.EventArgs)
If i = 0 Then
lbl1.Text = "Das Gestein, welches in Höhlen von unten nach oben wächst nennt man Stalagmiten?"
ElseIf i = 1 Then
lbl1.Text = "Die Hauptstadt der Niederlande ist Rotterdam?"
ElseIf i = 2 Then
lbl1.Text = "Ein Würfel hat 22 Augen?"
ElseIf i = 3 Then
lbl1.Text = "Eine Tomate ist eine Frucht"
ElseIf i = 4 Then
lbl1.Text = "Die Landessprache in Brasilien ist Portugiesisch?"
ElseIf i = 5 Then
lbl1.Text = "Ein Kilo Blei ist schwerer als ein Kilo Federn?"
ElseIf i = 6 Then
lbl1.Text = "Ein Pädagoge ist ein Arzt?"
ElseIf i = 7 Then
lbl1.Text = "Vielen Dank fürs Mitmachen!"
End If
i = i + 1
MfG Leut
#13
geschrieben 29. März 2005 - 10:33
herzlichen Glückwunsch zur Lösung; sowas in der Art meinte ich; wenn mans nicht testen kann, ist das immer schlecht. Ich code eher aus dem Bauch heraus ... was nicht unbedingt schlecht sein muss
Dieser Beitrag wurde von lysar bearbeitet: 29. März 2005 - 10:35
Thema verteilen:
Seite 1 von 1