| |

VB.NET - Ein- und UmsteigerIf Else Abfrage durch Modulo ersetzen | |  | Autor: TH0R | Datum: 15.01.16 14:35 |
| Ich habe ein Programm geschrieben mit dem man jeweis einen Button für +- für die Wert 10,5 und 1 hat.
Diese werden je nach Fall im counter gezählt dann im Label ausgegeben. Mit den Schleifen wird dann jeweils alles überprüft, damit die Werte immer zwischen 0 und 359 liegen, dass ab dem Wert 360 wie bei 0 beginn und man somit fortlaufend arbeiten kann.
Allerdings finde ich die Lösung mit den ganzen If else und ElseIf nicht gerade schön gelöst, falls man etwas ändern möchte an dem Wertebereich.
Die Idee ist, dass man es mit der Modulo function lösen könnte. D.h. bei 360 mod 360 wäre der Wert ja 0 und bei 361 mod 360 wäre der Wert =1 . Bei 10 mod 360 wäre der Rest =10.
Das würde ja meine oben genannten Schleifen ergeben vom Prinzip. D.h. ich möchte jetzt den aktuellen counter mit der modulo funktion verknüpfen um mir die else if Schleifen zu sparen. Allerdings ist mir noch nicht so klar wie ich das definieren muss im Code.
Kann mir jmd. einen Tipp geben wie man das Abfragt?
Hier mein Code:
Public Class Form1
Dim count As Integer = 0 ' Aktuelle Startzahl
Private Sub btUp10_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles btUp10.Click
If count = 350 Then
count = 0
ElseIf count = 351 Then
count = 1
ElseIf count = 352 Then
count = 2
ElseIf count = 353 Then
count = 3
ElseIf count = 354 Then
count = 4
ElseIf count = 355 Then
count = 5
ElseIf count = 356 Then
count = 6
ElseIf count = 357 Then
count = 7
ElseIf count = 358 Then
count = 8
ElseIf count = 359 Then
count = 9
Else
count += 10 ' Zahl um 10 erhöhen
End If
lbValue.Text = count.ToString() ' Zahl im Label anzeigen
End Sub
Private Sub btDown10_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles btDown10.Click
If count = 0 Then
count = 350
ElseIf count = 1 Then
count = 351
ElseIf count = 2 Then
count = 352
ElseIf count = 3 Then
count = 353
ElseIf count = 4 Then
count = 354
ElseIf count = 5 Then
count = 355
ElseIf count = 6 Then
count = 356
ElseIf count = 7 Then
count = 357
ElseIf count = 8 Then
count = 358
ElseIf count = 9 Then
count = 359
Else
count -= 10 ' Zahl um 10 erniedrigen
End If
lbValue.Text = count.ToString() 'Zahl im Label anzeigen
End Sub
Private Sub btUp5_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles btUp5.Click
If count = 355 Then
count = 0
ElseIf count = 356 Then
count = 1
ElseIf count = 357 Then
count = 2
ElseIf count = 358 Then
count = 3
ElseIf count = 359 Then
count = 4
Else
count += 5 ' Zahl um 5 erhöhen
End If
lbValue.Text = count.ToString() ' Zahl im Label anzeigen
End Sub
Private Sub btDown5_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles btDown5.Click
If count = 0 Then
count = 355
ElseIf count = 1 Then
count = 356
ElseIf count = 2 Then
count = 357
ElseIf count = 3 Then
count = 358
ElseIf count = 4 Then
count = 359
Else
count -= 5 ' Zahl um 5 erniedrigen
End If
lbValue.Text = count.ToString() 'Zahl im Label anzeigen
End Sub
Private Sub btUp1_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles btUp1.Click
If count >= 359 Then
count = 0
Else
count += 1 ' Zahl um 1 erhöhen
End If
lbValue.Text = count.ToString() ' Zahl im Label anzeigen
End Sub
Private Sub btDown1_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles btDown1.Click
If count <= 0 Then
count = 359
Else
count -= 1 ' Zahl um 1 erniedrigen
End If
lbValue.Text = count.ToString() 'Zahl im Label anzeigen
End Sub
Private Sub btConfirm_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles btConfirm.Click
Select Case MessageBox.Show("Do you want to set Heading to " & count & _
" ?", "Heading", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
Case Windows.Forms.DialogResult.Yes
MsgBox("Heading set to " & count & " !", , "Heading")
Case Windows.Forms.DialogResult.No
'Do Nothing
End Select
End Sub
End Class |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevOutBar 4.0 
Vertikale Menüleisten á la Outlook
Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Weitere InfosTipp des Monats Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|