vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Eingabeabfrage aus dem Hintergrund 
Autor: Caron
Datum: 21.02.10 16:02

Ich weis ja nicht wie dieser Leser die daten weiterreicht aber wenn er normale Tastatureingaben simuliert (wovon ich ausgehe wenn er dir das so in den editor schreiben kann) könnte man das so abfangen:

Ich hab hier mal ein kleines Programm geschrieben das mit 2 Timern und 2 Labels auf einer Form arbeitet. Die Timer sind beide auf einem Interval von 1 in der Hoffnung das der Leser die eingaben nicht allzu schnell sendet. Ansonsten musst du den Timer durch eine Schleife ersetzen.


Außerdem habe ich hier die Eingabe zu testzwecken auf 6 Zeichen beschrenkt aber das kannst du handhaben wie du es brauchst..


Ich hoffe das Script hilft dir


Private Declare Function GetKeyState Lib "user32.dll" ( _
    ByVal nVirtKey As Long _
) As Integer
 
Private Declare Function GetAsyncKeyState Lib "user32.dll" ( _
    ByVal vKey As Long _
) As Integer
 
Private Const VK_MENU As Long = &H12&
Private Const VK_SHIFT As Long = &H10&
Private Const VK_CONTROL As Long = &H11&
Private Const VK_CAPITAL As Long = &H14&
 
Private Barcode As String
 
 
Private Sub Form_Load()
'Hier wird der Timer gestartet, der auf das Startsignal wartet
tmrStart.Enabled = True
End Sub
 
Private Sub tmrBarcode_Timer()
'um zu verhindern das Tastatureingaben das ergebnis verfälschen nach 6 Zeichen
'das Auslesen beenden und auf das Startzeichen warten
If Len(Barcode) < 6 Then
    Label1.Caption = Len(Barcode)
    If CBool(GetAsyncKeyState(vbKey0) And &H8000) Then
    'wenn die 0 gedrückt wird erweitere die Variable um eine 0
        Barcode = Barcode & "0"
    End If
 
    If CBool(GetAsyncKeyState(vbKey1) And &H8000) Then
    'wenn die 0 gedrückt wird erweitere die Variable um eine 1
        Barcode = Barcode & "1"
    End If
 
    If CBool(GetAsyncKeyState(vbKey2) And &H8000) Then
    'wenn die 0 gedrückt wird erweitere die Variable um eine 2
        Barcode = Barcode & "2"
    End If
 
    If CBool(GetAsyncKeyState(vbKey3) And &H8000) Then
    'wenn die 0 gedrückt wird erweitere die Variable um eine 3
        Barcode = Barcode & "3"
    End If
 
    If CBool(GetAsyncKeyState(vbKey4) And &H8000) Then
    'wenn die 0 gedrückt wird erweitere die Variable um eine 4
        Barcode = Barcode & "4"
    End If
 
    If CBool(GetAsyncKeyState(vbKey5) And &H8000) Then
    'wenn die 0 gedrückt wird erweitere die Variable um eine 5
        Barcode = Barcode & "5"
    End If
 
    If CBool(GetAsyncKeyState(vbKey6) And &H8000) Then
    'wenn die 0 gedrückt wird erweitere die Variable um eine 6
        Barcode = Barcode & "6"
    End If
 
    If CBool(GetAsyncKeyState(vbKey7) And &H8000) Then
    'wenn die 0 gedrückt wird erweitere die Variable um eine 7
        Barcode = Barcode & "7"
    End If
 
    If CBool(GetAsyncKeyState(vbKey8) And &H8000) Then
    'wenn die 0 gedrückt wird erweitere die Variable um eine 8
        Barcode = Barcode & "8"
    End If
 
    If CBool(GetAsyncKeyState(vbKey9) And &H8000) Then
    'wenn die 0 gedrückt wird erweitere die Variable um eine 9
        Barcode = Barcode & "9"
    End If
 
    lblBar.Caption = Barcode
Else
    tmrBarcode.Enabled = False
    tmrStart.Enabled = True
    Label1.Caption = "Warte auf Start"
End If
End Sub
 
Private Sub tmrStart_Timer()
    If CBool(GetAsyncKeyState(vbKeyInsert) And &H8000) Then
    'Wenn die Einüge-Taste gedückt wurde, starte den Aufnahmetimer um den 
    ' Barcode einzulesen
    tmrBarcode.Enabled = True
    'Den Starttimer brauchen wir einstweilen nicht mehr
    tmrStart.Enabled = False
    Label1.Caption = "Warte auf eingabe"
    End If
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Eingabeabfrage aus dem Hintergrund1.193freewareecke20.02.10 23:04
Re: Eingabeabfrage aus dem Hintergrund872Caron21.02.10 16:02

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel