📄 formstar.pas
字号:
unit Formstar;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Driver, Global, Menus;
type
Tfrmstart = class(TForm)
labSelDev: TLabel;
cmdRun: TButton;
labIOAddr: TLabel;
cmdExit: TButton;
lstDevice: TListBox;
txtIOAddr: TEdit;
procedure cmdExitClick(Sender: TObject);
procedure cmdRunClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure lstDeviceClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmstart: Tfrmstart;
implementation
uses formrun;
var
lpDevFeatures : DEVFEATURES;
gnNumOfSubdevices : Smallint;
Response : Integer;
{$R *.DFM}
procedure Tfrmstart.cmdExitClick(Sender: TObject);
begin
if bRun then
DRV_DeviceClose(DeviceHandle);
close;
end;
procedure Tfrmstart.cmdRunClick(Sender: TObject);
var
I, Code: Integer;
begin
ErrCde := DRV_DeviceOpen(dwDeviceNum, DeviceHandle);
If (ErrCde <> 0) Then
begin
DRV_GetErrorMessage(ErrCde, pszErrMsg);
Response := Application.MessageBox(pszErrMsg, 'Error!!', MB_OK);
Exit;
end;
{ Get text from TEdit control }
Val('$' + txtIOAddr.Text, gwPort, Code);
FormRun.frmRun.Show;
end;
procedure Tfrmstart.FormCreate(Sender: TObject);
var
MaxEntries, OutEntries : Smallint;
NumOfDevice : Smallint;
i, ii : Integer;
tempStr : String;
testRes : boolean;
begin
gwPort := $300;
bRun := False;
{ Here MaxEntries = OutEntries }
ErrCde := DRV_DeviceGetNumOfList(MaxEntries);
If (ErrCde <> 0) Then
begin
DRV_GetErrorMessage(ErrCde, pszErrMsg);
Response := Application.MessageBox(pszErrMsg, 'Error!!', MB_OK);
Exit;
end;
{ Add type of PC Laboratory Card }
ErrCde := DRV_DeviceGetList(DeviceList[0], MaxEntries, OutEntries);
If (ErrCde <> 0) Then
begin
DRV_GetErrorMessage(ErrCde, pszErrMsg);
Response := Application.MessageBox(pszErrMsg, 'Error!!', MB_OK);
Exit;
end;
For i := 0 To (MaxEntries - 1) do
begin
tempStr := '';
For ii := 0 To MaxDevNameLen do
tempStr := tempStr + DeviceList[i].szDeviceName[ii];
lstDevice.Items.Add(tempStr);
end;
labIOAddr.Enabled := False;
txtIOAddr.Enabled := False;
cmdRun.Enabled := False;
end;
procedure Tfrmstart.lstDeviceClick(Sender: TObject);
var
tempNum, i, ii : Integer;
nOutEntries : Smallint;
TestRes : Boolean;
TempStr : String;
begin
tempNum := Pos('DEMO', lstDevice.Items[lstDevice.ItemIndex]);
if (tempNum <> 0) then
TestRes := True
else
TestRes := False;
{ Avoid to open Advantech Demo Card }
If (TestRes) Then
begin
labIOAddr.Enabled := False;
txtIOAddr.Enabled := False;
cmdRun.Enabled := False;
end;
If (Not TestRes) Then
begin
{ Check if there is any device attached on this COM or CAN }
dwDeviceNum := DeviceList[lstDevice.ItemIndex].dwDeviceNum;
txtIOAddr.Text := '300';
labIOAddr.Enabled := True;
txtIOAddr.Enabled := True;
cmdRun.Enabled := True;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -