Scannen

  • 2 minutes to read

Control-Addin CFLScanner

Met deze control-addin is het mogelijk input van een scanner te verwerken.
De control-addin is zelf geen zichtbaar onderdeel maar capteert wel de key-strokes.
Scanners sturen immers de barcode-inhoud als key-strokes terug. De scanner dient ingesteld te worden om na de barcode een Enter te sturen.
wanneer we een Enter detecteren in de keystrokes, dan wordt alles voor de enter als barcode gestuurd in de Scanned-trigger.

procedure SetFocus

Gebruik deze functie om de focus terug op de scanner controladdin te plaatsen.

procedure StartScan

Gebruik deze functie om aan te geven dat je het scannen wil starten. Pas wanneer deze functie is aangeroepen, zal de control-addin data terugsturen via de Scanned-trigger.

procedure StopScan

Gebruik deze functie om aan te geven dat je het scannen wil stoppen.
Er zal geen data meer gestuurd worden via de Scanned-trigger.

procedure SetMilliseconds(Milliseconds : integer)

Gebruik deze functie om het aan te geven tot welke tijd keystrokes die na elkaar komen als scanning worden gezien. De standaard instelling is 40 milliseconden.
Wanneer toetsenaanslagen met een grotere tussentijd komen, dan wordt de ingave aanzien als manuele ingaven.

Triggers

event Scanned(Barcode: Text);

event ManualInput(Input: Text);

event F1();

event F2();

event F3();

event F4();

event F5();

event F6();

event F7();

event F8();

event F9();

event F10();

event F11();

event F12();

Voorbeeld

Deze control-addin is verwerkt in de POS, page "CFL Cash Receipt".

Om dit op een pagina in te bouwen heb je volgende nodig:

page 50000 "Test Scan"
{
    layout
    {
        area(content)
        {
            usercontrol(Scanner; CFLScannerInterface)
            {
                ApplicationArea = all;
                trigger Scanned(Barcode: Text)
                var
                begin
                    //process the barcode here
                end;

                trigger ManualInput(Input : text)
                var
                begin
                    //process the input here
                end;

                trigger F1()
                begin 
                    //process the F1 keystroke here
                end
            }

        }
    }
    actions
    {
        area(processing)
        {
            action(CFLStartScan)
            {
                caption = 'Start scanning';
                Ellipsis = true;
                image = BarCode;
                Promoted = true;
                PromotedCategory = Category8;
                PromotedIsBig = true;
                PromotedOnly = true;
                ApplicationArea = All;
                Enabled = (Status = Status::Open);
                ShortCutKey = 'F2';

                trigger OnAction()
                begin
                    CurrPage.Scanner.StartScan();
                end;
            }
            action(CFLStopScan)
            {
                caption = 'Stop scanning';
                Ellipsis = true;
                image = BarCode;
                Promoted = true;
                PromotedCategory = Category8;
                PromotedIsBig = true;
                PromotedOnly = true;
                ApplicationArea = All;
                Enabled = (Status = Status::Open);

                trigger OnAction()
                begin
                    CurrPage.Scanner.StopScan();
                end;
            }
        }
    }
}