Einzelnen Beitrag anzeigen

Benutzerbild von erich.wanker
erich.wanker

Registriert seit: 31. Jan 2008
Ort: im schönen Salzburger Land
454 Beiträge
 
Delphi XE4 Professional
 
#5

AW: Keyhook - wParam und lParam in ASCII umwandeln

  Alt 23. Jun 2010, 15: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 ..
  Mit Zitat antworten Zitat