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

📄 main.pas

📁 Simpke opc delphi client
💻 PAS
字号:
{************************************************************************
*  this is a demo program for dOPCEventServer Component
*
*  Copyright  2002  Dipl.-Ing. H.-D. Kassl  All rights reserved.
*
*  http://www.dopc.kassl.de
*  e-mail: dopc@kassl.de
*
*************************************************************************}
unit Main;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, dOPCComn, dOPCAE, Menus, ExtCtrls, dOPCIntf;

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    File1: TMenuItem;
    Connect1: TMenuItem;
    Disconnect1: TMenuItem;
    N1: TMenuItem;
    Exit1: TMenuItem;
    dOPCEventServer1: TdOPCEventServer;
    Memo1: TMemo;
    Panel1: TPanel;
    Label1: TLabel;
    eSeverity: TEdit;
    bUpdate: TButton;
    procedure Connect1Click(Sender: TObject);
    procedure Disconnect1Click(Sender: TObject);
    procedure Exit1Click(Sender: TObject);
    procedure dOPCEventServer1Event(Sender: TObject; Event: TdOPCEvent);
    procedure FormCreate(Sender: TObject);
    procedure bUpdateClick(Sender: TObject);
    procedure dOPCEventServer1Connect(Sender: TObject);
    procedure dOPCEventServer1Disconnect(Sender: TObject);
    procedure dOPCEventServer1ServerShutdown(Sender: TObject;
      Reason: String);
  private
    procedure AddLog(Str: string);
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
var
  Filter : tdOPCEventFilter;
begin
  Filter := dOPCEventServer1.Filter.Add;  // make a new Filter
  Filter.SeverityLow  := 1;               // only Events with Severity > 0
end;

procedure TForm1.Connect1Click(Sender: TObject);
begin
 if dOPCEventServer1.SelectServer then
   dOPCEventServer1.Active := true;
end;

procedure TForm1.Disconnect1Click(Sender: TObject);
begin
  dOPCEventServer1.Active := false;
end;

procedure TForm1.Exit1Click(Sender: TObject);
begin
  close;
end;

procedure TForm1.AddLog(Str: string);
begin
  Memo1.Lines.Insert (0,Str);
end;

procedure TForm1.dOPCEventServer1Event(Sender: TObject; Event: TdOPCEvent);
begin
 with Event do
  AddLog(format('%s %s (%s) %d',[DateTimetoStr(Time),Msg,Source,Severity]));
end;


procedure TForm1.bUpdateClick(Sender: TObject);
var
  Filter : tdOPCEventFilter;
begin
  Filter := dOPCEventServer1.Filter[0];         // get first Filter
  Filter.SeverityLow:= StrToInt(eSeverity.Text);// only Events with Severity > xx
  Filter.Refresh;                               // if you change any Filter
                                                // properties ,you must call Refresh
  AddLog(format('only events with severity >= %s',[eSeverity.Text]));
end;

procedure TForm1.dOPCEventServer1Connect(Sender: TObject);
begin
  AddLog('connected');
end;

procedure TForm1.dOPCEventServer1Disconnect(Sender: TObject);
begin
  AddLog('disconnected');
end;

procedure TForm1.dOPCEventServer1ServerShutdown(Sender: TObject;
  Reason: String);
begin
  AddLog('server shutdown');
end;

end.

⌨️ 快捷键说明

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