uItemStatus.pas
上传用户:fuyouda
上传日期:2015-08-19
资源大小:6876k
文件大小:1k
源码类别:

家庭/个人应用

开发平台:

Visual C++

  1. unit uItemStatus;
  2. interface
  3. uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
  4.   Buttons, ExtCtrls, Grids, ValEdit;
  5. type
  6.   TItemStatus = class(TForm)
  7.     OKBtn: TButton;
  8.     RefreshBtn: TButton;
  9.     Props: TValueListEditor;
  10.     procedure RefreshBtnClick(Sender: TObject);
  11.     procedure FormShow(Sender: TObject);
  12.   private
  13.     FServer: DWORD;
  14.     FItemName: string;
  15.     procedure SetItemName(const Value: string);
  16.     procedure SetServer(const Value: DWORD);
  17.   public
  18.   published
  19.     property Server: DWORD read FServer write SetServer;
  20.     property ItemName: string read FItemName write SetItemName;
  21.   end;
  22. var
  23.   ItemStatus: TItemStatus;
  24. implementation
  25. uses DACLTSDK;
  26. {$R *.dfm}
  27. { TItemStatus }
  28. procedure TItemStatus.SetItemName(const Value: string);
  29. begin
  30.   FItemName := Value;
  31. end;
  32. procedure TItemStatus.SetServer(const Value: DWORD);
  33. begin
  34.   FServer := Value;
  35. end;
  36. procedure TItemStatus.RefreshBtnClick(Sender: TObject);
  37. var
  38.   I: Integer;
  39.   IDList, DescList, DataTypeList: Variant;
  40.   v: Variant;
  41.   Count: Integer;
  42. begin
  43.   Props.Strings.Clear;
  44.   Count:=ASDAC_GetItemProperties(FServer, PChar(FItemName), @IDList, @DataTypeList, @DescList);
  45.   for I := 0 to Count-1 do
  46.   begin
  47.     VarClear(v);
  48.     if ASDAC_GetItemPropertyValue(FServer, PChar(FItemName), IDList[I], @v) then
  49.       Props.InsertRow(DescList[I], v, true);
  50.   end;
  51. end;
  52. procedure TItemStatus.FormShow(Sender: TObject);
  53. begin
  54.   RefreshBtnClick(nil);
  55. end;
  56. end.