formrun.pas

来自「16 relay output channels and 16 isolated」· PAS 代码 · 共 99 行

PAS
99
字号
unit formrun;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, Driver, Global;

type
  Tfrmrun = class(TForm)
    CmdExit: TButton;
    GroupSample: TGroupBox;
    hscrFreq: TScrollBar;
    labStart: TLabel;
    labEnd: TLabel;
    tmrRead: TTimer;
    shapHigh: TShape;
    labHighAlarm: TLabel;
    Label1: TLabel;
    shapLow: TShape;
    procedure CmdExitClick(Sender: TObject);
    procedure hscrFreqChange(Sender: TObject);
    procedure tmrReadTimer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    ErrCount: Integer;
  public
    { Public declarations }
  end;

var
  frmrun: Tfrmrun;

implementation

uses formstar;

var
   Response       : Integer;
{$R *.DFM}

procedure Tfrmrun.CmdExitClick(Sender: TObject);
begin
     tmrRead.Enabled := True;
     frmRun.Close;
     Formstar.frmstart.Show;
end;

procedure Tfrmrun.hscrFreqChange(Sender: TObject);
begin
     if hscrFreq.Position = 0 then
        tmrRead.Interval := 0
     else
        tmrRead.Interval := trunc(10000 / hscrFreq.Position);
     tmrRead.Enabled := True;
end;

procedure Tfrmrun.tmrReadTimer(Sender: TObject);
var
   LoState : Smallint;
   HiState : Smallint;
begin
  shapHigh.Brush.Color := clGray;
  shapLow.Brush.Color  := clGray;

  ptAlarmCheck.chan := AlarmChan;
  ptAlarmCheck.HiState := @HiState;
  ptAlarmCheck.LoState := @LoState;

  ErrCde := DRV_AlarmCheck(DeviceHandle, ptAlarmCheck);
  If (ErrCde <> 0) Then
  begin
       ErrCount := ErrCount + 1;
       if (ErrCount > 2) then
          close
       else
       begin
          DRV_GetErrorMessage(ErrCde, pszErrMsg);
          Response := Application.MessageBox(pszErrMsg, 'Error!!', MB_OK);
          Exit;
       end;
  end;

  if HiState <> 0 then
     shapHigh.Brush.Color := clRed;
  if LoState <> 0 then
     shapLow.Brush.Color := clRed;
end;

procedure Tfrmrun.FormCreate(Sender: TObject);
begin
     hscrFreq.Position := 10;
     ErrCount          := 0;
     tmrRead.Enabled   := False;
end;

end.

⌨️ 快捷键说明

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