📄 main.~pas
字号:
unit Main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, ComCtrls,About,ExtCtrls,opcdefine,opcmodule, StdCtrls;
type
TMainFrm = class(TForm)
MainMenu1: TMainMenu;
OPC1: TMenuItem;
Register: TMenuItem;
Unregister: TMenuItem;
N1: TMenuItem;
ServerStatus: TMenuItem;
N2: TMenuItem;
AddItem: TMenuItem;
DeleteItem: TMenuItem;
DataTimer1: TMenuItem;
Stop: TMenuItem;
Start: TMenuItem;
Help1: TMenuItem;
About1: TMenuItem;
ListView1: TListView;
Sbar: TStatusBar;
N3: TMenuItem;
Exit1: TMenuItem;
Timer1: TTimer;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
procedure About1Click(Sender: TObject);
procedure RegisterClick(Sender: TObject);
procedure UnregisterClick(Sender: TObject);
procedure ServerStatusClick(Sender: TObject);
procedure AddItemClick(Sender: TObject);
procedure DeleteItemClick(Sender: TObject);
procedure StartClick(Sender: TObject);
procedure StopClick(Sender: TObject);
procedure Exit1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MainFrm: TMainFrm;
implementation
{$R *.DFM}
procedure TMainFrm.About1Click(Sender: TObject);
begin
with TAboutBox.Create(Application) do
try
ShowModal;
finally
Free;
end;
end;
procedure TMainFrm.RegisterClick(Sender: TObject);
var
bResult : BOOL;
sDisplayStr : string ;
begin
// register
bResult :=OnRegister();
if (bResult =true) then
sDisplayStr:='注册成功'
else
sDisplayStr:='注册失败';
Sbar.SimpleText :=sDisplayStr;
Application.MessageBox(
PChar(sDisplayStr),
'OPC Server For Delphi',
MB_OK + MB_DEFBUTTON1+MB_ICONINFORMATION) ;
end;
procedure TMainFrm.UnregisterClick(Sender: TObject);
var
bResult : BOOL;
sDisplayStr : string ;
begin
//UnRegister
bResult :=OnUnRegister();
if (bResult =true) then
sDisplayStr:='反注册成功'
else
sDisplayStr:='反注册失败';
Application.MessageBox(
PChar(sDisplayStr),
'OPC Server For Delphi',
MB_OK + MB_DEFBUTTON1+MB_ICONINFORMATION) ;
end;
procedure TMainFrm.ServerStatusClick(Sender: TObject);
begin
//ServerStatus
TL_AsNTService(PChar(lpOPCProgID));
TL_SetServerState( OPC_STATUS_RUNNING);
TL_SetMajorVersion(1);
TL_SetMinorVersion(2);
TL_SetBuildNumber(3);
TL_SetVendorInfo('TuoLin');
TL_SetBandWidth(50);
end;
procedure TMainFrm.AddItemClick(Sender: TObject);
begin
//Additem
OnAddItem();
Sbar.SimpleText :='Add Tag ...'
end;
procedure TMainFrm.DeleteItemClick(Sender: TObject);
begin
//DeleteItem
OnDeleteItem();
Sbar.SimpleText :='Delete Tag ...'
end;
procedure TMainFrm.StartClick(Sender: TObject);
begin
//Start
Timer1.Enabled :=true;
MainMenu1.Items [1].Find ('Start').Enabled :=false;
MainMenu1.Items [1].Find ('Stop').Enabled :=true;
Sbar.SimpleText :='Timer ...'
end;
procedure TMainFrm.StopClick(Sender: TObject);
begin
//Stop
Timer1.Interval :=3000;
Timer1.Enabled :=false;
MainMenu1.Items [1].Find ('Start').Enabled :=true;
MainMenu1.Items [1].Find ('Stop').Enabled :=false;
Sbar.SimpleText :='Stop Timer ...'
end;
procedure TMainFrm.Exit1Click(Sender: TObject);
begin
//Exit
if Application.MessageBox(
'是否关闭演示程序',
'OPC Server For Delphi',
MB_YESNO + MB_DEFBUTTON1+MB_ICONQUESTION) = IDYES then
begin
close;
Application.Terminate ;
end;
end;
procedure TMainFrm.FormCreate(Sender: TObject);
begin
// init
OnInitOpcServer();
end;
procedure TMainFrm.FormDestroy(Sender: TObject);
begin
//exit
OnUnInitOpcServer();
end;
procedure TMainFrm.FormShow(Sender: TObject);
begin
// menu
MainMenu1.Items [1].Find ('Stop').Enabled :=false;
end;
procedure TMainFrm.Timer1Timer(Sender: TObject);
begin
OnUpdateData();
OnRandomData();
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -