⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 用Delphi开发的USB源程序
💻 PAS
📖 第 1 页 / 共 2 页
字号:
 begin
  set_red();
  Application.Title:='Navtex数据转移终端软件v1.x-未挂接';
  Form1.Caption:='Navtex数据终端v1.x-未挂接';
 end else
     begin
      set_green();//Application.Icon.Handle := LoadIcon(hInstance,'green_icon');
      Application.Title:='Navtex数据转移终端软件v1.x-已挂接';
      Form1.Caption:='Navtex数据终端v1.x-已挂接';
     end;
 CloseHandle(hDevice);
end;

procedure TForm1.set_green;
begin
 Application.Icon.Handle := LoadIcon(hInstance,'xxgreen_icon');
end;

procedure TForm1.set_red;
begin
 Application.Icon.Handle := LoadIcon(hInstance,'red_icon');
end;
//---------------------------------------------------------------------------------------------------------------------
//【创建人  】 gliethttp
//【创建日期】 2006-07-24
//【功能描述】
//--------------------------------------------------------
//【修改人  】
//【修改日期】
//【修改原因】
//---------------------------------------------------------------------------------------------------------------------
procedure TForm1.FormCreate(Sender: TObject);
var count:integer;
    s:string;
begin
// GMythread:=mythread.Create(false);
 Form1.Caption:='Navtex数据转移终端软件';
 Application.Title:='Navtex数据转移终端软件-未挂接';
 form1.Left:=(screen.Width - form1.Width) div 2;
 form1.Top :=(screen.Height - form1.Height) div 3;
end;

procedure TForm1.Button2Click(Sender: TObject);
var count:integer;
    s:string;
begin
 count:=suiTreeView1.Items.Count+1;
 FmtStr(s,'%d%d%d%d',[count div 1000,(count div 100)mod 10,(count div 10)mod 10,count mod 10]);
 suiTreeView1.Items.Add(nil,s+':2006年07月03日10时23分');
 count:=suiTreeView1.Items.Count-1;
 suiTreeView1.Items[count].SelectedIndex:=0;
 suiTreeView1.Items[count].ImageIndex:=0;
end;

procedure TForm1.Button3Click(Sender: TObject);
var count:integer;
    s:string;
begin
 count:=suiTreeView1.Items.Count+1;
 FmtStr(s,'%d%d%d%d',[count div 1000,(count div 100)mod 10,(count div 10)mod 10,count mod 10]);
 suiTreeView1.Items.Add(nil,s+':2006年03月01日32时55分');
 count:=suiTreeView1.Items.Count-1;
 suiTreeView1.Items[count].SelectedIndex:=1;
 suiTreeView1.Items[count].ImageIndex:=1;
end;
//---------------------------------------------------------------------------------------------------------------------
//【创建人  】 gliethttp
//【创建日期】 2006-07-24
//【功能描述】 数据下传
//--------------------------------------------------------
//【修改人  】
//【修改日期】
//【修改原因】
//---------------------------------------------------------------------------------------------------------------------
procedure TForm1.Button4Click(Sender: TObject);
var hDevice:THandle;
    bulkControl:BULK_TRANSFER_CONTROL;
    nBytes:DWORD;
    bResult:boolean;
    output:array[0..255]of byte;
   const write_num = 63; //下传63K数据
begin
 hDevice:=0;
 if(not UsbOpenDriver(hDevice,USB_DEVICE_NAME))then
 begin
  exit;
 end;
 bulkControl.pipeNum:=0;
 nBytes:=255;
 output[0]:=1;
 output[1]:=2;
 output[2]:=3;
 output[3]:=4;
 output[4]:=5;
 bResult:=DeviceIoControl(hDevice,
                          IOCTL_GlxNavtex_BULK_WRITE,
                          @bulkControl,
                          sizeof(BULK_TRANSFER_CONTROL),
                          @output[0],
                          write_num,
                          nBytes,
                          nil);
 showmessage(inttostr(nBytes));
 CloseHandle(hDevice);
end;

const write_num = 1024*64-1; //下传64K数据
procedure TForm1.Button5Click(Sender: TObject);
var hDevice:THandle;
    bulkControl:BULK_TRANSFER_CONTROL;
    nBytes:DWORD;
    bResult:boolean;
    output:array[0..write_num]of byte;
begin
 hDevice:=0;
 if(not UsbOpenDriver(hDevice,USB_DEVICE_NAME))then
 begin
  exit;
 end;

 Form1.CMD_Send(hDevice,$FA,$01,write_num);

 bulkControl.pipeNum:=0;
 output[0]:=1;
 output[1]:=2;
 output[2]:=3;
 output[3]:=4;
 output[4]:=5;
 bResult:=DeviceIoControl(hDevice,
                          IOCTL_GlxNavtex_BULK_WRITE,
                          @bulkControl,
                          sizeof(BULK_TRANSFER_CONTROL),
                          @output[0],
                          write_num,
                          nBytes,
                          nil);
 showmessage(inttostr(nBytes));
 CloseHandle(hDevice);
end;
//---------------------------------------------------------------------------------------------------------------------
//【创建人  】 gliethttp
//【创建日期】 2006-07-24
//【功能描述】 数据上传
//--------------------------------------------------------
//【修改人  】
//【修改日期】
//【修改原因】
//---------------------------------------------------------------------------------------------------------------------
procedure TForm1.Button6Click(Sender: TObject);
var hDevice:THandle;
    nBytes:DWORD;
    bResult:boolean;
    bulkControl:BULK_TRANSFER_CONTROL;
    input:array[0..65535]of byte;
    read_num:WORD;
begin
 read_num:=1024*64-1;

 hDevice:=0;
 if(not UsbOpenDriver(hDevice,USB_DEVICE_NAME))then
 begin
  exit;
 end;

 Form1.CMD_Send(hDevice,$FA,$00,read_num);

 bulkControl.pipeNum:=1;
 bResult:=DeviceIoControl(hDevice,
                          IOCTL_GlxNavtex_BULK_READ,
                          @bulkControl,
                          sizeof(BULK_TRANSFER_CONTROL),
                          @input[0],
                          read_num,
                          nBytes,
                          nil);
 showmessage(inttostr(nBytes));
 CloseHandle(hDevice);
end;

procedure TForm1.CMD_Send(hDevice:THandle;flag:byte;cmd:byte;len:WORD);
var bulkControl:BULK_TRANSFER_CONTROL;
    nBytes:DWORD;
begin
  bulkControl.pipeNum:=0;
  USB_CMD.flag:= flag;
  USB_CMD.cmd := cmd;
  USB_CMD.len := len;
  DeviceIoControl(        hDevice,
                          IOCTL_GlxNavtex_BULK_WRITE,
                          @bulkControl,
                          sizeof(BULK_TRANSFER_CONTROL),
                          @USB_CMD,
                          sizeof(xUSB_CMD),
                          nBytes,
                          nil);
end;

procedure TForm1.suiTreeView1Collapsed(Sender: TObject; Node: TTreeNode);
begin
 //showmessage('合');
 Node.SelectedIndex:=2;
 Node.ImageIndex:=2;
end;

procedure TForm1.suiTreeView1Enter(Sender: TObject);
begin
 //showmessage('a');
end;

procedure TForm1.suiTreeView1Expanded(Sender: TObject; Node: TTreeNode);
begin
 //showmessage('开');
 Node.SelectedIndex:=3;
 Node.ImageIndex:=3;
end;

end.

⌨️ 快捷键说明

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