Ergebnis 1 bis 15 von 54

Thema: Übergabe an Access

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registriert seit
    17.11.2005
    Beiträge
    23
    also ich habe über Projekt>>Komponenten das Microsoft Winsock Control eingefügt.
    Das funktioniert soweit auch ganz gut.
    Wenn ich den Code mal nur so weit eingebe...

    Private Sub Form_Load()
    Dim ServerIP As String
    ServerIP = "localhost"
    Winsock1.Connect ServerIP, 9300
    End Sub

    Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim Eingangstext As String
    Winsock1.GetData Eingangstext 'Die Variable "Eingangstext" enthält jetzt das Telegramm

    Dim Eingang() As String
    Eingang() = Split(Eingangstext, Chr$(9))
    'Die Variablen "Eingang(0)", "Eingang(1), "Eingang (...)" enthalten jetzt die einzelnen Felder

    End Sub



    ...kann ich die Variable "Eingangstext" ausgeben und erhallte das komplette Telegramm.

    Mit dieser Split Funktion funktioniert es nur leider nicht...
    Ick kann z.B. Die Variable "Eingang(0)" ausgeben und bekomme die Art des Telegramm also z.b. "FMSTlg".
    Mit der Variable "Eingang(1) funktioniert es nicht.
    Ich bekomme die Fehlermeldung "Index auserhalb des Gültigen Bereich"

    Hab ich Irgendetwas falsch gemacht oder vergessen?

    Mfg

  2. #2
    inselhopper Gast
    Müsste eigentlich gehen.

    Wie gibst du denn Eingang(*) aus?

  3. #3
    Registriert seit
    17.11.2005
    Beiträge
    23
    hab es einfach nur mal zum test in einer MsgBox ausgegeben.

  4. #4
    inselhopper Gast
    poste mal den genauen Code

  5. #5
    Registriert seit
    17.11.2005
    Beiträge
    23
    Also so funktioniert es:

    Private Sub Form_Load()
    Dim ServerIP As String
    ServerIP = "localhost"
    Winsock1.Connect ServerIP, 9300
    End Sub

    Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim Eingangstext As String
    Winsock1.GetData Eingangstext 'Die Variable "Eingangstext" enthält jetzt das Telegramm

    Dim Eingang() As String
    Eingang() = Split(Eingangstext, Chr$(9))
    'Die Variablen "Eingang(0)", "Eingang(1), "Eingang (...)" enthalten jetzt die einzelnen Felder

    MsgBox Eingang(0)

    End Sub


    Ich bekomme z.B. bei einem Status ein Fenster geöfnet mit dem Inhalt "FMSTlg"

    --------------------------------------------------------------------------------------
    So funktioniert es nicht:
    Private Sub Form_Load()
    Dim ServerIP As String
    ServerIP = "localhost"
    Winsock1.Connect ServerIP, 9300
    End Sub

    Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim Eingangstext As String
    Winsock1.GetData Eingangstext 'Die Variable "Eingangstext" enthält jetzt das Telegramm

    Dim Eingang() As String
    Eingang() = Split(Eingangstext, Chr$(9))
    'Die Variablen "Eingang(0)", "Eingang(1), "Eingang (...)" enthalten jetzt die einzelnen Felder

    MsgBox Eingang(1)

    End Sub


    Also mit "Eingang(1) bekomme ich schon eine Fehlermeldung wenn ich das "Programm" starte.

    Eigentlich könnte es doch nur ein Fehler beim Spliten sein oder???
    Bin was sowas angeht auch nicht so der Experte... bin halt nur son bischen am üben.
    Mein Ziel ist es ein kleines Programm zu schreiben das mir die Alarmierungen(5-Ton), Status und die FMS Leitstellentexte in eine MySql Datenbank schreibt.
    Also im prinzip fast so etwas wie das Programm das man hier in diesem Thread schon runterladen kann.

    Mfg

  6. #6
    inselhopper Gast
    Hmm. Warum nimmst du denn das Prog nicht was es hier im Thema als Download gibt? Es funktioniert! Nur halt noch nicht mit 5 Ton Alarmierung (kommt sicher noch)

    Aber trotz alledem müsste es klappen. Ein Fehler im Split ist es nicht, da ich genau so das Telegramm aufschlüssel.

    Was zeigt der denn an wenn der Debugger läuft und du mit dem Cursor über Eingang(1) gehst?

  7. #7
    Registriert seit
    16.03.2002
    Beiträge
    110
    Hallo,

    Du hast geschrieben, dass Du Winsock über "Projekt>>Komponenten eingefügt hast.
    Das läst vermuten, dass Du nicht mit Access sondern mit VB 6 arbeitest.

    Dann musst Du bei

    Eingang() = Split(Eingangstext, Chr$(9))

    das Klammerpaar hinter Eingang weglassen, also

    Eingang = Split(Eingangstext, Chr$(9))

    Bei

    Dim Eingang() As String

    muss es aber stehen bleiben!

    Gruss Ralf

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •