Hallo an VB6 Profis, ich stehe im Moment voll auf dem Schlauch und komme nicht weiter. Hab schon hier im Forum diverses gelesen, auch den Artikel mit "binäre Daten senden" usw. - bin arg am verzweifeln und sehe den Wald vor lauter Bäumen nicht mehr. Hier mein Problem: Ich muss serielle binäre Daten empfangen. Das ganze hat funktioniert mit ASCII, muss es aber umstellen, der der µP halt Werte von 0x00 bis 0xFF sendet. Also Übertragungsrate, Anschluss, Hardware usw. stimmt alles - da es ja schon mit ASCII funktioniert hatte. Dann hab ich bei der Initialisierung ".InputMode = comInputModeBinary" eigefügt. Es kommt ein Zeichen an, das ich in ein Zahl (int) umwandeln möchte. Bisher habe ich viele Unterschiedliche Dinge versucht, aber es will einfach nicht klappen: Hier der Ausschnitt: Private Sub MSComm1_OnComm() Dim g As Byte Dim xa As String Dim y As Integer Dim feld(1) As Byte Select Case MSComm1.CommEvent Case comEvReceive g = MSComm1.Input Text2.Text = g Kann mir bitte jemand sagen wie das unter VB6 funktioniert? DANKE IM VOARAUS!!!
Moin, das sollte problemlos funktionieren. Was hindert dich den Debugger zu nutzen und dann dein Problem zu benennen?
Hallo Einhart, Danke dass Du Dich meldest. es kommt die Fehlermeldung "Runtime Error 13: Type mismatch" Ich habe es mit unterschiedlichen Datentypen versucht. Wenn ich die Variable "xa" nehme (String) erhalte ich keine Fehlermeldung. Es wird aber kein (Druckbarer Wert) angezeigt. Wie kann ich den "String" in eine Dezimalzahl umwandeln? Vielen Dank im voraus! Bernd
Moin Bernd, .Input liefert kein byte sondern ein Byte-Array. So sieht das bei einer meiner Anwendungen in einem Klassenmodul aus: objComm.InputMode = 1 . . . Dim baRcv() As Byte If objComm.InBufferCount > 0 Then baRcv = objComm.Input . . . Inputmode ist binary. Msgbox baRcv(0) sollte den Wert des ersten Zeichens zeigen. Gruß Einhart
Hallo Einhart, vieled Dank für den Tip, funktioniert jetzt so: Private Sub MSComm1_OnComm() Dim g As Byte Dim xa As String Dim y As Integer Dim RcvField() As Byte Select Case MSComm1.CommEvent Case comEvReceive RcvField = MSComm1.Input Text2.Text = Val(RcvField(0)) . . . Tausend Dank! LG Bernd
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.