Ungültige Konvertierung von typ Byte() in Integer

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Ungültige Konvertierung von typ Byte() in Integer

    Hi habe immer das Problem, das ich wenn ich mein kleines Block spiel Veröffentlichen will. Die Fehlermeldung bekomme Ungültige Konvertierung von Typ Byte() in Integer. Habe den Code schon mehrmals durchsucht aber bekomme da keine Fehlermeldung.Kann ihn auch so Debuggen aber einfach nicht veröffentlichen.
    Bsp.:
    String -> Int

    VB.NET-Quellcode

    1. Dim strTest As String = "123"
    2. Convert.ToInt16(strTest)


    du übergibst irgendwo im code ggf. einem Integer einen Byte..
    damit die fehlermeldung entfällt musst du diese Deklaration vorher Convertieren.

    Gruß
    Verwende Option Strict On!
    Stelle dies in deinem Projekt->Eigenschaften->Kompilieren ein.
    Dies ist Standardmässig auf Off.

    Wenn du dies auf On setzt wirst du jede Menge Fehler sehen ;)

    Cheers Mono
    Das ist meine Signatur und sie wird wunderbar sein!
    Willst Du ein Byte-Feld in ein Integer konvertieren?
    Wenn das Feld genau 4 Byte lang ist, geht das so:

    VB.NET-Quellcode

    1. Dim bb() As Byte = {&H1, &H2, &H3, &H4}
    2. Dim ii As Integer = 0
    3. For i As Integer = 0 To 3
    4. ii = (ii << 8) Or bb(i)
    5. Next
    Bilder
    • ByteToInt.jpg

      21,27 kB, 779×158, 125 mal angesehen
    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!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „RodFromGermany“ ()

    VB.NET-Quellcode

    1. Private Sub NächsterBlock()
    2. Dim Farbe As Integer
    3. ' Neuen Block zum Fomular hinzufügen
    4. Block.Add(New Panel)
    5. 'Nummer des aktuellen Block's ermitteln
    6. B = Block.Count - 1
    7. ' Neuen Block platzieren
    8. Block(B).Location = New Point(130, 400)
    9. Block(B).Size = New Size(20, 20)
    10. 'Farbauswahl für neue Blöcke
    11. Farbe = Math.Floor(Rnd() * 8)
    12. Block(B).BackColor = Farbenfeld(Farbe)
    13. 'zum Fomular hinzufügen
    14. Controls.Add(Block(B))
    15. ' Aktuelle Zeile, Spalte
    16. Bze = 1
    17. Bsp = 5
    18. End Sub


    Farbe = Math.Floor(Rnd() * 8) ich habe mal strict on gemacht hier ist ein Fehler ungültig von double in integer
    timtick.Interval = 5000 / (Stufe) und hier der gleich aber kein Byte Fehler erschienen.
    Komm aber auch auf keine lösung für das problem. Kann mir da einer weiter helfen?
    Warum kommt diese Information nicht in Deiner Fragestellung? :S
    Wie wäre es mit

    VB.NET-Quellcode

    1. Me.BackColor = Color.FromArgb(12345)
    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!