📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, PCI8408;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Timer1: TTimer;
Label1: TLabel;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
m_cardNO: Longint;
m_saveData: array[0..31] of SmallInt;
m_timer1Finish: Boolean;
STxt_AD:array[0..31] of TStaticText;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
//生成控件数组
for i:=0 to 16-1 do
begin
STxt_AD[i] := TStaticText.create(self);
STxt_AD[i].Parent := form1;
STxt_AD[i].BorderStyle := sbsSunken;
STxt_AD[i].Visible := true;
STxt_AD[i].Width := 70;
STxt_AD[i].Height := 17;
STxt_AD[i].Left := 30 + (STxt_AD[i].Width+3)*((i) mod 8 );
STxt_AD[i].Top := 50 + (STxt_AD[i].Height+3)*((i) div 8 );
STxt_AD[i].AutoSize := false;
STxt_AD[i].Caption := 'DI' + inttostr(i+1);
end;
//打开设备
m_cardNO := 1;
if (ZT8408_OpenDevice(m_cardNO) <> 0) then
MessageBox(form1.Handle,'打开失败','',MB_OK)
else
//MessageBox(form1.Handle,'打开成功','',MB_OK);
begin
form1.Caption := '打开成功';
m_timer1Finish := True;
Timer1.Interval := 100;
Timer1.Enabled := True;
end;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
//关闭设备
m_cardNO := 1;
if (ZT8408_CloseDevice(m_cardNO) <> 0) then
MessageBox(form1.Handle,'关闭失败','',MB_OK);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var chCount:Longint;
i:Longint;
begin
if m_timer1Finish = False then exit;
m_timer1Finish := False;
chCount := 16;
for i:=0 to chCount-1 do
begin
STxt_AD[i].Caption := inttostr(ZT8408_DIBit(m_cardNO, i+1));
end;
label1.Caption := '错误号: ' + inttostr(ZT8408_GetLastErr); //返回函数执行的状态
m_timer1Finish := True;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
//所有开关量输出高
ZT8408_DOAll(m_cardNO, $FFFF);
label1.Caption := '错误号: ' + inttostr(ZT8408_GetLastErr); //返回函数执行的状态
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
//所有开关量输出低
ZT8408_DOAll(m_cardNO, $0);
label1.Caption := '错误号: ' + inttostr(ZT8408_GetLastErr); //返回函数执行的状态
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -