Registriert seit: 31. Jan 2008
Ort: im schönen Salzburger Land
461 Beiträge
Delphi XE4 Professional
|
AW: Keyhook - wParam und lParam in ASCII umwandeln
23. Jun 2010, 16:39
OK .. Test funktioniert ..
Delphi-Quellcode:
function mylength(s: String): Integer;
var
len: Integer;
begin
len := 1;
while s[len] <> #0 do
inc(len);
result := len-1;
end;
Delphi-Quellcode:
var
zeit1,zeit2,zeit3,zeit4,zeit5,zeit6,zeit7,zeit8,zeit9,zeit10,zeit11,zeit12 :TTime;
barcodestring :String;
barcodelaenge :Integer;
hilfestring :String;
Delphi-Quellcode:
procedure TVersatile_main_handle.DllMessage(var Msg: TMessage);
begin
//*********************************************************
//*********************************************************
//********************* Barcodesachen..... **********
//*********************************************************
//*********************************************************
if (Msg.wParam >47) AND (Msg.wParam <58) then
begin
//das Ding ist eine Zahl
zeit12 :=zeit11;
zeit11 :=zeit10;
zeit10 :=zeit9;
zeit9 :=zeit8;
zeit8 :=zeit7;
zeit7 :=zeit6;
zeit6 :=zeit5;
zeit5 :=zeit4;
zeit4 :=zeit3;
zeit3 :=zeit2;
zeit2 :=zeit1;
zeit1 :=now;
barcodestring:=barcodestring+char(Msg.wParam);
if mylength(barcodestring) > 12 then
begin
hilfestring:=copy(barcodestring,2,12); {-->} barcodestring:= hilfestring;
end;
memo1.Lines.Append('barcodestring= '+barcodestring);
if mylength(barcodestring) = 12 then
begin
// ich hab eine Anzahl von 12 Zahlen gesammelt
if zeit1-zeit12 <3 then
begin
memo1.Lines.Append('***** Barcode : '+barcodestring);
barcodestring:='';
end;
end;
end
else
begin
//das Ding ist KEINE Zahl
barcodestring:='';
end;
Erich Wanker - for life:=1971 to lebensende do begin ..
|
|
Zitat
|