📄 unit1.pas
字号:
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 + -