Visual Basic Intenger erhöhen?

... komplette Frage anzeigen

7 Antworten

Gibt es einen bestimmten Sinn, dass du einen Integer inkrementierst?
Sollte doch auch so gehen:

If (Checkbox1.Checked = False) And (Checkbox2.Checked = False) And (Checkbox3.Checked = False) Then
MsgBox("Du hast was vergessen.")
Else
Form3.Show()
End If

Kannst dir auch ein bisschen Code folgendermaßen sparen:



If (Checkbox1.Checked) Or (Checkbox2.Checked) Or(Checkbox3.Checked) Then
Form3.Show()
Else

MsgBox("Du hast etwas vergessen.")
End If



Kommentar von beney
20.07.2016, 15:41

Oh danke.

Hatte das mit dem "And" völlig verdrängt. 

Funktioniert bestens. :)

1

Hier mal was fertiges.

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim Weiter As Integer
Weiter = 0
If CheckBox1.Checked Then
Weiter = Weiter + 1
End If
If CheckBox2.Checked Then
Weiter = Weiter + 1
End If
If CheckBox3.Checked Then
Weiter = Weiter + 1
End If
If Weiter > 0 Then
Form2.Show()
End If
End Sub

Die Funktion wird Dir nicht viel bringen, da man die Checkboxen auch wieder unchecken kann, also muss da auch ein Event her ;)

Dein Code prüft in der ersten Zeile, ob die CheckBox1 aktiviert ist. Falls nein, dann erhöht sie "Weiter" um 1. Danach ist aber die Bedingung abgehandelt und er springt sofort zum Ende des If-Statements (EndIf). somit wird deine Variable "Weiter" immer nur 0 oder 1 annehmen können. Sobald er nen Treffer hat, beendet er.

Es heißt ja schließlich "ElseIf" also "ansonsten, wenn..."

Tipp fürs Debuggen:

Ersetze das mit "Else...Form3.show" durch ein einfaches

MsgBox(Weiter)

Dann weißt du immer, welchen Wert "Weiter" am Ende erhalten hat. Wenn es klappt, stellst du es wieder um.

Kommentar von beney
20.07.2016, 15:42

Dir auch vielen Dank. Jetzt kann ich es nachvollziehen :)

1

Gehen würde auch: if CheckBox1.checked = true then form3.show. Und das für jede checkbox. Ist zwar nicht schön aber es funzt.

Kommentar von Dominic121219
20.07.2016, 15:37

Oder doch nicht kleiner fehler von mir.

0

Erhöhen kanst Du Weiter indem Du 1 zu Weiter zuaddierst.

Weiter = Weiter + 1
Kommentar von beney
20.07.2016, 15:22

Habe ich schon korrigiert. Funktioniert trotzdem nicht.

Vielen Dank aber schon mal für deine Antwort. :)

0

Weiter as Integer = 0

Sonst hast du ein NULL Pointer exception weil der Integer = NULL ist also keinen Wert hat. Und was sollte nichts + 1 schon geben?

Kommentar von beney
20.07.2016, 15:23

Okay danke:)

Funzt leider immer noch nicht.

0
Kommentar von Dominic121219
20.07.2016, 15:24

Ach und weiter = weiter + 1

0

Was möchtest Du wissen?