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

📄 main.~pas

📁 OPCserver OPCserver.rar
💻 ~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 + -