Eingabe-Terminal unter VB6 // Zeichen Senden

  • hallo,


    ich habe leider wieder ein problem =(


    diesmal eher auf seiten des eingabeterminals... und zwar habe ich das beispielprogramm welches die winsock1.senddata verwendet abgeändert.


    ich habe die eingabe nicht wie im beispiel gemacht


    " winsock1.senddata (text1.text) " sondern mit einer variablen versehen " winsock1.senddata (a) " die varbiable wird in abhängigkeit der combobox verändert.


    die variable wurde als BYTE deklariert.... nun sagt mir der melfa, dass ein ilegales daten format vorliegt... warum?


    auch funktioniert das direkte senden z.b. "winsock1.senddata ("2")


    aber nicht wie ich es gemacht habe :



    wäre suuuuper wenn mir da jemmand weiterhelfen könnte =)


    grüße


    kamil

  • ANZEIGE
  • Hi,


    ich habe zwar seit Jahren kein VB6 mehr angefasst, aber ich würde mal vermuten, du hast ein grundlegendes Verständnisproblem mit der Zeichenkodierung.


    Ein senddata("2") sendet vermutlich ein komplette Zeile, so wie der Roboter das haben will, also zwei oder drei Bytes mit den Werten 50, 13 und evtl. noch 10. Das Zeichen 2 (nicht den Wert 2) und den Zeilenumbruch CR oder CR LF.


    Wenn du senddata(a) mit a = 20 machst, sendet VB vermutlich nur das eine Byte, es entspricht in diesem Beispiel dem Steuerzeichen "DC4" (was immer das sein mag). Sieht man in jeder ASCII-Tabelle, z.B. hier


    http://www.cppreference.com/wiki/ascii


    Mehr kann man dir da vielleicht in einem VB-Forum helfen ...


    Grüße

    Urmel

    Einmal editiert, zuletzt von Urmel ()

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden