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

📄 data.pas

📁 DelphiOPCClien delphi 编写的opc客户端 源程序代码
💻 PAS
字号:
unit Data;

interface

uses
  Windows, Classes, SysUtils;

type
  PGroupItem = ^TGroupItem;
  TGroupItem = record
    GroupHandle: THandle;
    ItemHandle: THandle;
    vt: TVarType;
    right: DWORD;
  end;

type
  TServerData = class
  public
    ServerName: string;
    HServer: THandle;
    Groups: TStringList;
    constructor Create;
    destructor Destroy; override;
    procedure RemoveAllGroup;
  end;

var
  ServerData: TServerData;

function GetRightStr(right: DWORD): string;
function GetQualityStr(Quality: DWORD): string;
function GetTimeStr(time: FILETIME): string;

implementation

{ TServerData }
uses
  HFOPCClient;

constructor TServerData.Create;
begin
  HServer := INVALID_HANDLE_VALUE;
  Groups := TStringList.Create;
end;

destructor TServerData.Destroy;
begin
  RemoveAllGroup;
  if Assigned(Groups) then
    FreeAndNil(Groups);
  inherited;
end;

procedure TServerData.RemoveAllGroup;
var
  I: Integer;
begin
  for I := 0 to Groups.Count - 1 do
  begin
    RemoveGroup(HServer, THandle(Groups.Objects[I]));
  end;
  Groups.Clear;
end;

function GetRightStr(right: DWORD): string;
begin
  if right = OPC_READABLE or OPC_WRITEABLE then
    result := '读写'
  else if right = OPC_READABLE then
    result := '只读'
  else if right = OPC_WRITEABLE then
    result := '只写';
end;

function GetQualityStr(Quality: DWORD): string;
begin
  if Quality = OPC_QUALITY_BAD then
    Result := '无效'
  else if Quality = OPC_QUALITY_UNCERTAIN then
    Result := '不确定'
  else if Quality = OPC_QUALITY_GOOD then
    Result := '正常';
end;

function GetTimeStr(time: FILETIME): string;
var
  st: SYSTEMTIME;
begin
  FileTimeToSystemTime(time, st);
  Result := DateTimeToStr(SystemTimeToDateTime(st));
end;


initialization
  ServerData := TServerData.Create;

finalization
  if Assigned(ServerData) then
    FreeAndNil(ServerData);

end.

⌨️ 快捷键说明

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