Denkfehler - Binäre Minuten werden falsch dargestellt

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Rainshadow.

    Denkfehler - Binäre Minuten werden falsch dargestellt

    Hallo zusammen,

    ich habe ein einfaches Form, im Prinzip nur mit ein paar Panels. Diese sollen eine Binäruhr darstellen.
    Spoiler anzeigen
    Das Projekt ist nur "Just-for-Fun" und es geht mit Sicherheit schöner, fürs Erste soll es nur funktionieren, sorry. Option Strict IST on; keine Fehler. Fenster der Binäruhr ist im Anhang.


    Hier die Stelle, an der es hapert, ohne dass ich kapiere, woran es liegt:
    Spoiler anzeigen
    Stunden funktionieren, sind nur als Beispiel mit dabei.


    VB.NET-Quellcode

    1. 'Panels nach Stunden binär codieren
    2. If (stunde - 16) >= 0 Then
    3. Panel5.BackColor = Color.DarkRed
    4. stunde = stunde - 16
    5. End If
    6. If (stunde - 8) > 0 Then
    7. Panel4.BackColor = Color.DarkRed
    8. stunde = stunde - 8
    9. End If
    10. If (stunde - 4) > 0 Then
    11. Panel3.BackColor = Color.DarkRed
    12. stunde = stunde - 4
    13. End If
    14. If (stunde - 2) > 0 Then
    15. Panel2.BackColor = Color.DarkRed
    16. stunde = stunde - 2
    17. End If
    18. If (stunde - 1) = 0 Then
    19. Panel1.BackColor = Color.DarkRed
    20. stunde = stunde - 1
    21. End If
    22. 'Minuten
    23. If (minuten - 32) > 0 Then
    24. Panel11.BackColor = Color.DarkRed
    25. minuten = minuten - 32
    26. End If
    27. If (minuten - 16) > 0 Then
    28. Panel10.BackColor = Color.DarkRed
    29. minuten = minuten - 16
    30. End If
    31. If (minuten - 8) > 0 Then
    32. Panel9.BackColor = Color.DarkRed
    33. minuten = minuten - 8
    34. End If
    35. If (minuten - 4) > 0 Then
    36. Panel8.BackColor = Color.DarkRed
    37. minuten = minuten - 4
    38. End If
    39. If (minuten - 2) > 0 Then
    40. Panel7.BackColor = Color.DarkRed
    41. minuten = minuten - 2
    42. End If
    43. If (minuten - 1) = 0 Then
    44. Panel6.BackColor = Color.DarkRed
    45. minuten = minuten - 1
    46. End If


    Wahrscheinlich sehe ich nur den Wald vor lauter Bäume nicht und würde mich tierisch freuen, wenn jemand den wichtigen Baum für mich hervorheben könnte :)

    LG

    Rainshadow
    Bilder
    • 2015-10-19 17 16 18.png

      3,27 kB, 314×146, 52 mal angesehen

    Rainshadow schrieb:

    den wichtigen Baum
    findest Du in der korrekten Konvertierung:

    VB.NET-Quellcode

    1. Dim stunde = 13
    2. Dim bin = Convert.ToString(stunde, 2)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!