Barcodescanner - Einlesen ohne zusätzlichen Button-Click



  • Hallo,

    ich habe ein Edit-Feld und einen Button. Jetzt kann ich eine Zahl eingeben und mit dem Button eine Aktion auslösen.
    Ich möchte jetzt aber die Zahl über einen Barcodescanner in das Edit-Feld einlesen und anschließend automatisch den Button-Click auslösen.

    Der Barcodescanner liefert mir die Zahl + "newline" ins Edit-Fenster. Wie kann ich die "newline" dazu benutzen den Button-Click auszulösen?

    Ich hoffe ich habe mich verständlich ausgedrückt 😕

    Danke



  • ralf123 schrieb:

    Der Barcodescanner liefert mir die Zahl + "newline" ins Edit-Fenster.

    Wie passiert das genau?



  • mittel OnChange des Edits. Musst nur warten, bis kompletter Inhalt im Edit steht.

    grüssle 🙂



  • Hallo.
    Du musst bloß aufpassen, weil die OnChange Methode dann immer aufgerufen wird wenn eine Ziffer hinzuggefügt wrid. Was passiert denn mit der Zahl . Also was passiert wenn man cf den Button drückt 🕶



  • Ich würde es im KeyUp()-Event machen, dort auf VK_RETURN prüfen und einfach die Button-Click()-Methode aufrufen.



  • Ich habs jetzt mit OnKeyPress und OnChange gelöst.

    Bei OnKeyPress überprüfe ich zum Einen ob gültige Zahlen kommen (nur 0...9 zulässig) und zum Anderen zähle ich bei jeder gültigen Zahl eine Variable hoch.

    Bei OnChange führe ich die Aktion erst aus wenn die benötigte Anzahl an Stellen eingegeben wurde.

    Den Button kann ich mir jetzt auch sparen 🙂

    Danke für die Hilfe!



  • ralf123 schrieb:

    Ich habs jetzt mit OnKeyPress und OnChange gelöst.

    Bei OnKeyPress überprüfe ich zum Einen ob gültige Zahlen kommen (nur 0...9 zulässig) und zum Anderen zähle ich bei jeder gültigen Zahl eine Variable hoch.

    Bei OnChange führe ich die Aktion erst aus wenn die benötigte Anzahl an Stellen eingegeben wurde.

    Den Button kann ich mir jetzt auch sparen 🙂

    Danke für die Hilfe!

    OnKeyPress kannst du dir auch sparen. 😉
    In OnChange des Edits:

    if(  Edit->Length() < benötigte Anzahl an Stellen )
        return;
    

    und mit dem BCB2009 z. B. kannst du die Eingabe in Edits auf Zahlen beschränken

    grüssle 🙂


Anmelden zum Antworten