Am 21.03.2013 16:26, schrieb Antonio Fortuny:
procedure TMyForm.FormKeyPress(Sender: TObject; var Key: char);
begin
  case Ord(Key) of
    {$IFDEF WIN32}
    Ord('>'),  // this helps to simulate on Win32
    {$ENDIF}
    Ord(#03): begin   // aka EOT
      Key := #0;
      try
        if Scann.Buffer = EmptyStr then
          Exit;
        codebarre := scann.buffer;
        ...
        ... do whatever has to be done with the scannes barcode
        ...
      finally
        Scann.Reset;
        Scann.Reading := False;
      end
    end;
    {$IFDEF WIN32}
    Ord('<'),   // this helps to simulate on Win32
    {$ENDIF}
    Ord(#02): begin   // aka STX
      Scann.Reset;
      Key := #0;   // ignore key
      Scann.Reading := True;
    end
    else begin
      Scann.Buffer := Scann.Buffer + Key;
      Key := #0;   // ignore key
    end
  end

end;

Out of curiosity: why do you use "Ord"? You can achieve the same by just using the chars:

=== code begin ===
  case Key of
    '>',
    #03: begin
      //...
    end;
    '<',
    #02: begin
      //...
    end;
    else begin
      //...
    end;
  end;
=== code end ===

Regards,
Sven

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to