EAN Codes prüfen und zählen.

  • Hallo,

    ich habe hier ein Projekt, welches ich als AutoIT Anfänger angehen möchte.
    Es werden (fast) immer gleiche EAN Codes erfasst mit einem Barcode Leser.
    Der Leser liest den EAN Code, übersetzt ihn in eine Tastatureingabe als Zahl und schickt ihn an den PC und schließt das ganze mit der Entertaste automatisch ab. Das funktioniert als würde man 1234567890 und ENTER mit der TAstatur eingeben

    Diese Zahl soll nun in einer grünen GUI mit großer Schrift 5cm hoch angezeigt werden.
    Unter dieser Zahl soll angezeigt werden als Nummernzähler, wie oft dieser EAN Code bereits in dieser Session erfaßt wurde.
    Dann wird immer der gleiche EAN Code gescannt und der Nummernzähler zählt hoch.
    Wird ein anderer EAN Code gescannt, piept das System laut, der Bildschirm wird rot und das System wartet darauf, dass mit dem richtigem Code weitergescannt wird.

    Ist das mit AutoIT realisierbar?

    Any Hints?

    Guido

  • Ist das mit AutoIT realisierbar?

    Ja.

    Zitat

    Any Hints?

    Du hast doch alles haarklein beschrieben?!
    Erstelle eine GUI mit einem Eingabefeld und 5cm hoher Schrift, lese dieses Eingabefeld in einen Textstring ein, stelle per stringreplace() und @extended die Anzahl der bereits gescannten Barcodes fest und gebe diese in deiner GUI aus.

    Um GUI´s zu erstellen kannst du mit dem KODA Formdesigner (findest du im AutoIt-Verzeichnis) anfangen.
    Wenn du bei deinem Script nicht weiterkommst, poste das Script und beschreibe dein Problem.

  • Gelöscht, da ich das Problem falsch verstanden habe. SORRY

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    Einmal editiert, zuletzt von Alina (22. Oktober 2014 um 11:48)

  • @Alina,
    der TE möchte keinen Barcode erstellen oder abfragen sondern Ziffernstrings darstellen und bearbeiten. Die Daten kannst du auch mit einer Tastatur eingeben.

    Ich denke mal, das hier kommt in etwa hin. "Barcode" 12345 mit ENTER zählt den Zähler hoch, jede andere Eingabe führt zur Fehlermeldung.
    GUI mit Koda erstellt und nur einige Zeilen eingefügt. Ideal für Anfänger^^

    Spoiler anzeigen
    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 625, 443, 192, 124)
    GUISetBkColor(0x00FF00)
    $Edit1 = GUICtrlCreateEdit("", 48, 80, 505, 49, BitOR($ES_WANTRETURN, $WS_VSCROLL))
    GUICtrlSetData(-1, "Edit1")
    GUICtrlSetFont(-1, 24, 400, 0, "MS Sans Serif")
    $Label1 = GUICtrlCreateLabel("Anzahl 12345", 48, 200, 117, 28)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Label2 = GUICtrlCreateLabel("0", 48, 256, 308, 41)
    GUICtrlSetFont(-1, 48, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0x00000FF)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    $Anzahl = 0

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch

    [/autoit] [autoit][/autoit] [autoit]

    ;******************************
    $inhalt = GUICtrlRead($Edit1) ;Inhalt Editbox
    If StringInStr($inhalt, @CRLF) Then ;nur wenn enter
    If $inhalt = "12345" & @CRLF Then ;wenn inhalt wie gewünscht
    $Anzahl = $Anzahl + 1 ;zähler hochzählen
    GUICtrlSetData($Label2, $Anzahl) ;und anzeigen
    Else ;ansonsten Fehlermeldung ausgeben
    MsgBox(16, "Falsche Eingabe!", "Es wurde " & @CRLF & $inhalt & @CRLF & "eingegeben!")
    EndIf
    GUICtrlSetData($Edit1, "") ;und feld löschen
    EndIf
    ;*******************************
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit]


    Die Hausaufgabe besteht darin, vor der Darstellung der Fehlermeldung den Hintergrund der GUI auf Rot zu wechseln. Und danach natürlich wieder auf grün 8o

    ciao
    Andy


    "Schlechtes Benehmen halten die Leute doch nur deswegen für eine Art Vorrecht, weil keiner ihnen aufs Maul haut." Klaus Kinski
    "Hint: Write comments after each line. So you can (better) see what your program does and what it not does. And we can see what you're thinking what your program does and we can point to the missunderstandings." A-Jay

    Wie man Fragen richtig stellt... Tutorial: Wie man Script-Fehler findet und beseitigt...X-Y-Problem

    Einmal editiert, zuletzt von Andy (22. Oktober 2014 um 11:55)

  • Andy:
    Wieso sagt er dann nicht kurz und bündiger: Ich brauche einen Counter.
    Sorry für o. g. Beitrag, habe es falsch verstanden. :(

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl