WinFuture-Forum.de: Sharp Devolop (if-anweisung) - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Sharp Devolop (if-anweisung)


#1 Mitglied ist offline   Leut 

  • Gruppe: Mitglieder
  • Beiträge: 5
  • Beigetreten: 29. März 05
  • Reputation: 0

geschrieben 29. März 2005 - 00:41

Hallo Leute!
Erst mal frohe Ostern :ph34r:
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
0

Anzeige



#2 Mitglied ist offline   XDestroy 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.911
  • Beigetreten: 08. August 02
  • Reputation: 0

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?
0

#3 Mitglied ist offline   lysar 

  • Gruppe: aktive Mitglieder
  • Beiträge: 177
  • Beigetreten: 21. März 05
  • Reputation: 0

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

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

0

#4 Mitglied ist offline   Leut 

  • Gruppe: Mitglieder
  • Beiträge: 5
  • Beigetreten: 29. März 05
  • Reputation: 0

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.
0

#5 Mitglied ist offline   lysar 

  • Gruppe: aktive Mitglieder
  • Beiträge: 177
  • Beigetreten: 21. März 05
  • Reputation: 0

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?
0

#6 Mitglied ist offline   Leut 

  • Gruppe: Mitglieder
  • Beiträge: 5
  • Beigetreten: 29. März 05
  • Reputation: 0

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!
0

#7 Mitglied ist offline   lysar 

  • Gruppe: aktive Mitglieder
  • Beiträge: 177
  • Beigetreten: 21. März 05
  • Reputation: 0

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?
0

#8 Mitglied ist offline   XDestroy 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.911
  • Beigetreten: 08. August 02
  • Reputation: 0

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.
0

#9 Mitglied ist offline   lysar 

  • Gruppe: aktive Mitglieder
  • Beiträge: 177
  • Beigetreten: 21. März 05
  • Reputation: 0

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.

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
0

#10 Mitglied ist offline   Leut 

  • Gruppe: Mitglieder
  • Beiträge: 5
  • Beigetreten: 29. März 05
  • Reputation: 0

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!
0

#11 Mitglied ist offline   lysar 

  • Gruppe: aktive Mitglieder
  • Beiträge: 177
  • Beigetreten: 21. März 05
  • Reputation: 0

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}>

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
0

#12 Mitglied ist offline   Leut 

  • Gruppe: Mitglieder
  • Beiträge: 5
  • Beigetreten: 29. März 05
  • Reputation: 0

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
0

#13 Mitglied ist offline   lysar 

  • Gruppe: aktive Mitglieder
  • Beiträge: 177
  • Beigetreten: 21. März 05
  • Reputation: 0

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

0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0