mscomm

  • VB6

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Unknown.

    Hallo ich brauche schnell einen
    Rat:
    Problem:

    Private Sub Verbinden_Click()

    MSComm1.CommPort = 1
    MSComm1.Settings = "2400,n,8,1"
    MSComm1.RThreshold = 1
    MSComm1.SThreshold = 1
    MSComm1.InputLen = 0
    MSComm1.PortOpen = True
    'MSComm1.InputMode = comInputModeBinary
    End Sub

    Private Sub mscomm1_oncomm()
    If (MSComm1.CommEvent = comEvReceive) Then
    Text1.Text = Text1.Text & MSComm1.Input
    End If
    End Sub


    Das geht soweit aber

    ich benötige die empfangenen Daten aber als Byte
    (comInputModeBinary)
    das bedeutet das ich den gesamten Empfangspuffer
    (mscomm1.InBufferCount)der auch hochzählt
    auslesen muss. Aber wie? denn ich brauche die
    Werte im Hex format (ist ja einfach wenn man an die
    Bytes herrankommt).
    Es scheitert an der zuweisung, die ich aus der hilfe habe (Buffer = mscomm1.input sowie dann Arr = Buffer)

    und das geht nicht.

    Frage Wie bekomme den Eingangspuffer
    ausgelesen. ??????????????????


    (Vorstellung:

    Eine Variable z.B. Variable(1) = Wert byte 1
    variable(2) = Wert byte 2 usw.

    Geht das in VB ? denn eine demo terminal in Del.
    hat da 2 Textfelder 1 * Text(ascii sind dan zeichen & ziffern)
    AAA????AAA
    AASSDFDEA
    aAAAAAAA
    usw.

    Sowie (benötige ich) 1 * Textfeld(hex werte also 00aa531a00
    122a3a4a11 (sind dann die einzelnen Bytes)
    0000000000
    0000000000
    usw

    Für Hilfe wäre ich Dankbar.


    E-Mail: T-lohmann@gmx.de
    Es scheitert beim einlesen des Empfangspeichers, welcher fehler tritt denn auf ? Zugegeben, ich hab bisher so gut wie gar nicht mit dem mscomm Objekt gearbeitet aber wenn du InputMode auf comInputModeBinary setzt dann wird auch nur ein Byte zurückgegeben es kann gar nich anders sein, oder kommt bei der Anweisung Text.Text = Text.Text & MSComm.Input
    ein String raus ? Waere seltsam, desweiteren kann ich nur sagen : Wie waers wenn du mal ein Byte Array deklarierst und dem den Wert von Input zuweist (nurn Gedanke is ja beim Internet´Transfer Control genau so)

    Und -nimms mir nich uebel- deine Vorstellung versteh ich nich ganz

    :D

    Edit : Ich hab grad in die MSDN geguckt (was mal viele machen sollten bevor sie hier fragen stellen die Antwort is da meistens drin), dum usst ein Byte Datenfeld (also Array) deklarieren sonst wird dat nix !



    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Unknown“ ()