unit1.pas

来自「usb hid 控件」· PAS 代码 · 共 86 行

PAS
86
字号
unit Unit1;

interface

uses
   Windows, Messages, SysUtils, Classes, Graphics, Controls,
   Forms, Dialogs, StdCtrls, Registry, Menus,
   HidControllerClass, Hid;

type
   // the simple form we show
   THidClassDemoForm = class(TForm)
      ListBox1:     TListBox;
      MainMenu:     TMainMenu;
      QuitMenuItem: TMenuItem;
      FileMenu:     TMenuItem;
      procedure DeviceChanges    (Sender: TObject);
      procedure DeviceUnplug     (HidDev: TJvHidDevice);
      function  Enumeration      (HidDev: TJvHidDevice; Index: Integer): Boolean;
      procedure FormCreate       (Sender: TObject);
      procedure QuitMenuItemClick(Sender: TObject);
    private
      { Private declarations }
    public
      { Public declarations }
       HidController: TJvHidDeviceController;
   end;

var
   HidClassDemoForm: THidClassDemoForm;

implementation

{$R *.DFM}

procedure THidClassDemoForm.DeviceChanges(Sender: TObject);
begin
   ListBox1.Clear;
   HidController.Enumerate;
end;

procedure THidClassDemoForm.DeviceUnplug(HidDev: TJvHidDevice);
var
   p: String;
begin
   p := HidDev.VendorName;
   if p = '' then
      p := HidDev.RegDescr;
   ShowMessage('Unplug of ' + Format('%x %x %s: %s',[HidDev.Attributes.VendorID,HidDev.Attributes.ProductID,p,HidDev.ProductName]));
end;

function THidClassDemoForm.Enumeration(HidDev: TJvHidDevice; Index: Integer): Boolean;
var
   p: string;
begin
   with HidDev do
   begin
      p := VendorName;
      if p = '' then
         p := RegDescr;
      ListBox1.Items.Add(Format('VendorID=%x ProductID=%x %s: %s',[Attributes.VendorID,Attributes.ProductID,p,ProductName]));
   end;
   Result := True;
end;

procedure THidClassDemoForm.FormCreate(Sender: TObject);
begin
   // the HidController handles all HidDevices
   // later this will be replaced by a placeable component
   HidController := TJvHidDeviceController.Create(Self);
   with HidController do
   begin
      OnDeviceChange := DeviceChanges;
      OnEnumerate    := Enumeration;
      OnDeviceUnplug := DeviceUnplug;
      Enumerate;
   end;
end;

procedure THidClassDemoForm.QuitMenuItemClick(Sender: TObject);
begin
   Close;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?