unit NB5100PMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, JvComponentBase, JvHidControllerClass, StdCtrls;
type
TForm1 =
class(TForm)
HidCtl: TJvHidDeviceController;
Label1: TLabel;
ListBox1: TListBox;
procedure HidCtlDeviceChange(Sender: TObject);
procedure HidCtlDeviceData(HidDev: TJvHidDevice; ReportID: Byte;
const Data: Pointer; Size: Word);
public
Dev: TJvHidDevice;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.HidCtlDeviceChange(Sender: TObject);
begin
// pruefen ob das bereits benutzte Geraet ausgesteckt wurde
if Assigned(Dev)
and not Dev.IsPluggedIn
then
begin
// das Geraet zurueckgeben
HidCtl.CheckIn(Dev);
Label1.Caption := '
No device';
end;
// noch kein Geraet in Benutzung
if not Assigned(Dev)
then
// pruefen ob die Fernbedienung angesteckt wurde, wenn ja in Benutzung nehmen
if HidCtl.CheckOutByID(Dev, $147A, $E019)
then
begin
Label1.Caption := '
Device connected';
Listbox1.Items.Clear;
end;
end;
procedure TForm1.HidCtlDeviceData(HidDev: TJvHidDevice; ReportID: Byte;
const Data: Pointer; Size: Word);
var
I: Word;
P: PChar;
S:
string;
begin
P := Data;
S := '
';
for I := 0
to Size - 1
do
S := S + Format('
%.2x ', [Cardinal(P[I])]);
ListBox1.Items.Add(S);
end;
end.