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

📄 unit1.pas

📁 PDIUSBD12 应用层演示软件(DELPHI)
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Lede, ExtCtrls;

type
  /////////////////////////////////////
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Led1: TLed;
    Led2: TLed;
    Button3: TButton;
    Button4: TButton;
    Led3: TLed;
    Led4: TLed;
    Button5: TButton;
    Label1: TLabel;
    Memo1: TMemo;
    Button6: TButton;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    flag: BOOL;
  end;

  TLedStatus = (LedOn, LedOff, LedFlash);
  TBroadInfo = record
    	szDevicePath: array[0..127] of Char;
	szManufacturer: array[0..127] of Char;
	szProduct: array[0..127] of Char;
	szSerialNo: array[0..127] of Char;
	szUserInfo: array[0..127] of Char;
  end;

  PBroadInfo = ^TBroadInfo;
  MyPchar = ^Byte;

var
  Form1: TForm1;
  PtrBroadinfo: PBroadInfo;
  BInfo: TBroadInfo;

implementation

function ReadPort1(pstr: PChar;len: Byte):Integer;
                            stdcall; external'EasyD12.dll';
function WritePort1(pstr: PChar;len: Byte):Integer;
                            stdcall; external'EasyD12.dll';
function ZBMgr_Init(hWnd: HWND): BOOL;
                            stdcall; external'ZBMGR.dll';
function ZBMgr_Uninit(hWnd: HWND): BOOL;
                            stdcall; external'ZBMGR.dll';
function ZBMgr_LED(nIndex: Integer; led: TLedStatus): BOOL;
                            stdcall; external'ZBMGR.dll';
function ZBMgr_GetBoardInfo(nIndex: Integer; lpBoardInfo: PBroadInfo): BOOL;
                            stdcall; external'ZBMGR.dll';
function ZBMgr_GetBoardCount(): Integer;
                            stdcall; external'ZBMGR.dll';
function ZBMgr_ReadCode(nIndex: Integer; dwAddr: Integer;
                  StrBuf: MyPchar; dwLength: Integer): BOOL;
                            stdcall; external'ZBMGR.dll';

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 buf: array[0..16] of byte;
 tp: PChar;
 //i: integer;

begin
 buf[0]:=0;
 buf[3]:=1;
 buf[4]:=0;
 tp:=@buf;
 WritePort1(tp,4);


end;

procedure TForm1.Button2Click(Sender: TObject);
var
 buf: array[0..16] of byte;
 tp: PChar;
 //i: integer;

begin
 buf[0]:=0;
 buf[3]:=2;
 buf[4]:=0;
 tp:=@buf;
 WritePort1(tp,4);

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   ZBMgr_Init(Application.Handle);

end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
   ZBMgr_Uninit(Application.Handle);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  flag:=ZBMgr_LED(0,LedOff);
  led3.LedOn:=flag;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  flag:=ZBMgr_LED(0,LedFlash);
  led4.LedOn:=flag;
end;

procedure TForm1.Button5Click(Sender: TObject);

begin
  Label1.Caption:=IntToStr(ZBMgr_GetBoardCount());
  PtrBroadinfo:=@BInfo;
  flag:=ZBMgr_GetBoardInfo(0,PtrBroadinfo);
  led4.LedOn:=flag;
  if flag then
  begin
     //Memo1.Lines.SetText(BInfo.szManufacturer);

  end;
end;

procedure TForm1.Button6Click(Sender: TObject);
var
  str: array[0..4096] of Byte;
  i,j,temp1,temp2: Longint;
  //ss: string;
  RecF: File of Byte;
  //tp: string;
  //tp: PChar;
begin
  Button6.Enabled:=false;
  AssignFile(RecF,'Rec000');
  Rewrite(RecF);

  //tp:=str;
  temp1:=GetTickCount();
  for i:=0 to 32 do
  begin
      for j:=0 to 4096 do str[j]:=0;
      flag:= ZBMgr_ReadCode(0,0,@str,4096);
      if not flag then break;
      BlockWrite(RecF,str,4096);
  end;
  temp2:=GetTickCount();
  //if i
  i:=temp2-temp1;
  //ss:=String     BlockWrite  WriteFile
  if flag then
  begin
     Label1.Caption:=IntToStr(i);
     //Memo1.Lines.SetText(tp);

  end;
  CloseFile(RecF);
  Button6.Enabled:=true;
end;

end.

⌨️ 快捷键说明

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