Scannen
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;
}
}
}
}