Hi,
habe mir eine GUI gebaut, die auf eine Zeichenfolge eines Barcode-Scanners reagieren sollte...
Der Barcorde-Scanner schickt eine Zahlenkombination im Format "xxxxxx.yyyyyy" wobei die Zeichenzahl unterschiedlich lang sein kann.
Abschließend schickt der Barcorde-Scanner auch eine "ENTER" als "Fertig-Meldung".
Problem an der Sache ist, dass offenbar nicht immer das "ENTER" durch den Scanner vom Script akzeptiert wird...
Mach ich den Scan ist Notepad, kein Problem. Ziffernfolge wird angezeigt und ein Enter wird "angefügt" und man landet in der nächsten Zeile.
Mache ich den Scan auch im Scite wird der erste Scan ignoriert, der zweite setzt dann 2x die Zeichenfolge xxxxxx.yyyyyy ein und dann ein "ENTER".
Nächste Zeile kommt dann 3x die Zeichenfolge xxxxxx.yyyyyy dann ein ENTER usw.
Spoiler anzeigen
#include <mysql.au3>
#include <array.au3>
#include <file.au3>
#include <MsgBoxConstants.au3>
#include <date.au3>
#include <GuiButton.au3>
#include <GuiEdit.au3>
#include <GuiStatusBar.au3>
#include <GUIConstantsEx.au3>
#include <FontConstants.au3>
#include <Misc.au3>
HotKeySet("{ESC}", "Terminate")
Global $oError = ObjEvent("AutoIt.Error", "_ErrFunc")
Global $zeitstempel
Global $value[7]
Global $inhalt[7]
Global $hDLL = DllOpen("user32.dll")
Main()
Func Main()
Global $key
GUICreate("")
Local Const $sFont = "Comic Sans Ms"
Global $label_1 = GUICtrlCreateLabel("Ich brauche Nachschub", 10, 10, 300, 35)
GUICtrlSetFont($label_1, 15, $FW_NORMAL, $GUI_FONTUNDER, $sFont)
Global $auftrags_nr = GUICtrlCreateInput("", 10, 70, 300, 35)
GUICtrlSetFont($auftrags_nr, 15, $FW_NORMAL, $sFont)
GUISetState(@SW_SHOW)
Local $idMsg
$trigger = 0
While $trigger = 0
$idMsg = GuiGetMsg()
Select
Case $idMsg = $GUI_EVENT_CLOSE
ExitLoop
Case _IsPressed("0D", $hDLL)
wasnun()
EndSelect
WEnd
EndFunc
Func wasnun()
$wasnun = GuiCtrlRead($auftrags_nr)
Consolewrite($wasnun & @CRLF)
GuiCtrlSetData($auftrags_nr, "")
;~ DllClose ($hDLL)
EndFunc
Func Terminate()
Exit
EndFunc
Alles anzeigen
Kann mal einer über den Code gucken, wo der Hund begraben liegt??? Ich vermute es liegt an _IsPressed?! Hat jemand eine andere (elegantere, bessere) Idee?
Ziel ist es Barcode Scannen, den String aufgrund des Punktes splitten und diese beiden Werte weiter verwenden im Script... (Abfrage in einer DB, aufgrund des zweiten Wertes muss ein weiterer Wert aus der Datenbank abgefragt werden)
Freue mich auf eure Ideen und Kritiken ,
Volumeman