Forum: PC-Programmierung Daten von Dez in Hex in VB umwandlen


von Faller (Gast)


Lesenswert?

Ich möchte in VB die Daten (dezimal) die in eine Textbox geschrieben 
werden in ein Hex Zeichen umwandeln. Das ich widerum über die Serielle 
Schnittstelle senden möchte.

Soll heißen: Ich gebe in der Textbox 120 ein. In der Variable soll dann 
h78 stehen!!

Der Wert h78 soll dann gesendet werden.

Wie kann ich dies sehr einfach realisieren?

von Philipp K. (philippk) Benutzerseite


Lesenswert?

In HEX umwandeln geht so: Text = "h" & Hex(123)
siehe: http://msdn.microsoft.com/en-us/library/963zt96e%28VS.80%29.aspx

Nun musst du aber noch sagen, wie du die Zahl über RS232 sendest. Binär 
oder als String?

von Faller (Gast)


Lesenswert?

Vielen Dank. Ich möchte das ganze per String senden!! Wie kann ich dies 
dann am einbfachsten umwandeln?

von Philipp K. (philippk) Benutzerseite


Lesenswert?

Ich habe immer mit dieser Vorlage gearbeitet:
http://www.vbarchiv.net/tipps/details.php?id=393
umwandeln musst du das ganze in dem Fall nicht weiter, du kannst den 
String direkt an MSComm1.Output übergeben.

von Faller (Gast)


Lesenswert?

Ok. Soweit so gut.

Aber wie wandle ich meine Hex-Daten in einen String?

von juppi (Gast)


Lesenswert?

Imports System.Text    ' <=== !

Public Class Form1
    Dim s As String = "Test"
    'Codeabschnitt von Rod:

    Sub SendSerialData01xxxx(ByVal data As String)
        Dim enc As Encoding = Encoding.GetEncoding(1252)
        ' Send strings to a serial port.
        Using com1 As IO.Ports.SerialPort = _
        My.Computer.Ports.OpenSerialPort("COM1", 2400, 
IO.Ports.Parity.None, 8)
            com1.Encoding = enc
            com1.Write(data)
        End Using
    End Sub
    Sub SendSerialData02(ByVal data As String)
        Dim enc As Encoding = Encoding.GetEncoding(1252)
        ' Send strings to a serial port.
        'Using com1 As IO.Ports.SerialPort = _
        ' My.Computer.Ports.OpenSerialPort("COM1", 2400, 
IO.Ports.Parity.None, 8)
        SerialPort1.Encoding = enc
        SerialPort1.Write(data)
        'End Using
    End Sub


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles Button1.Click
        Dim a As Char = Chr(&H2F)
        s = a   '& test" & a
        SendSerialData02(s)
    End Sub
End Class


Reicht fast für alles

von juppi (Gast)


Lesenswert?

Wenn du VB<=6 sucht geht es eben nicht

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.