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

📄 levellst.pas

📁 16 relay output channels and 16 isolated digital input channels LED indicators to show activated
💻 PAS
字号:
unit LevelLst;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Mask;

type
  TfrmLevels = class(TForm)
    GroupBox0: TGroupBox;
    labHighLevel: TLabel;
    Label1: TLabel;
    GroupBox1: TGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    GroupBox2: TGroupBox;
    Label4: TLabel;
    Label5: TLabel;
    GroupBox3: TGroupBox;
    Label6: TLabel;
    Label7: TLabel;
    GroupBox4: TGroupBox;
    Label8: TLabel;
    Label9: TLabel;
    GroupBox5: TGroupBox;
    Label10: TLabel;
    Label11: TLabel;
    GroupBox6: TGroupBox;
    Label12: TLabel;
    Label13: TLabel;
    GroupBox7: TGroupBox;
    Label14: TLabel;
    Label15: TLabel;
    GroupBox8: TGroupBox;
    Label16: TLabel;
    Label17: TLabel;
    GroupBox9: TGroupBox;
    Label18: TLabel;
    Label19: TLabel;
    GroupBox10: TGroupBox;
    Label20: TLabel;
    Label21: TLabel;
    GroupBox11: TGroupBox;
    Label22: TLabel;
    Label23: TLabel;
    GroupBox12: TGroupBox;
    Label24: TLabel;
    Label25: TLabel;
    GroupBox13: TGroupBox;
    Label26: TLabel;
    Label27: TLabel;
    GroupBox14: TGroupBox;
    Label28: TLabel;
    Label29: TLabel;
    GroupBox15: TGroupBox;
    Label30: TLabel;
    Label31: TLabel;
    butCancel: TButton;
    butOk: TButton;
    editHigh0: TMaskEdit;
    editLow0: TMaskEdit;
    editHigh1: TMaskEdit;
    editLow1: TMaskEdit;
    editHigh2: TMaskEdit;
    editLow2: TMaskEdit;
    editHigh3: TMaskEdit;
    editLow3: TMaskEdit;
    editHigh4: TMaskEdit;
    editLow4: TMaskEdit;
    editHigh5: TMaskEdit;
    editLow5: TMaskEdit;
    editHigh6: TMaskEdit;
    editLow6: TMaskEdit;
    editHigh7: TMaskEdit;
    editLow7: TMaskEdit;
    editHigh8: TMaskEdit;
    editLow8: TMaskEdit;
    editHigh9: TMaskEdit;
    editLow9: TMaskEdit;
    editHigh10: TMaskEdit;
    editLow10: TMaskEdit;
    editHigh11: TMaskEdit;
    editLow11: TMaskEdit;
    editHigh12: TMaskEdit;
    editLow12: TMaskEdit;
    editHigh13: TMaskEdit;
    editLow13: TMaskEdit;
    editHigh14: TMaskEdit;
    editLow14: TMaskEdit;
    editHigh15: TMaskEdit;
    editLow15: TMaskEdit;

    Procedure DeleteBlank(var S : string);

    procedure FormCreate(Sender: TObject);
    procedure butOkClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    Function EnableSelection( iStart : integer; iStop : integer;
                               bEnable : boolean ) : integer;
    procedure butCancelClick(Sender: TObject);

  private
    { Private declarations }
    editHigh : array [0..15] of ^TEdit;
    editLow  : array [0..15] of ^TEdit;
  public
    { Public declarations }
    gfHigh : array [0..15] of Extended;
    gfLow  : array [0..15] of Extended;
    gbOkPushed : Boolean;      {Does press th OK button}

  end;

var
  frmLevels: TfrmLevels;

implementation

{$R *.DFM}
{******************************************************************************
 * Function : Enable/disable the Level setting.
 * Paramater: iStar, input, start working channel. start from 0
 *            iStop, input, stop active channel(included). between 0 to 15.
 *            bEnable, input, Enable or disable the List.
 * retunrn:   Count of action list
 ******************************************************************************}
Function TfrmLevels.EnableSelection( iStart : integer;
                                     iStop : integer;
                                     bEnable : boolean ) : integer;
var
  i : integer;
begin
  if iStop > 15 then iStop := 15;
  i := 0;

  while iStart <= iStop do
  begin
    editHigh[iStart]^.Enabled := bEnable;
    editLow[iStart]^.Enabled := bEnable;
    iStart := iStart + 1;
    i := i + 1;
  end;
  EnableSelection := i;
end;

{*****************************************************************************
 * Fucntion : Delete the Blank space.
 * Input    : S, In/Out, String for modifing.
 * return   : none
 *****************************************************************************}
Procedure TfrmLevels.DeleteBlank(var S : string);
var
  i : Integer;
begin
  i := Pos(' ', s);
  while (i > 0) do
  begin
    Delete(S, i, 1);
    i := Pos(' ', s);
  end;

end;

procedure TfrmLevels.FormCreate(Sender: TObject);
var
  i : integer;
begin
  editHigh[0]  := @editHigh0;
  editHigh[1]  := @editHigh1;
  editHigh[2]  := @editHigh2;
  editHigh[3]  := @editHigh3;
  editHigh[4]  := @editHigh4;
  editHigh[5]  := @editHigh5;
  editHigh[6]  := @editHigh6;
  editHigh[7]  := @editHigh7;
  editHigh[8]  := @editHigh8;
  editHigh[9]  := @editHigh9;
  editHigh[10] := @editHigh10;
  editHigh[11] := @editHigh11;
  editHigh[12] := @editHigh12;
  editHigh[13] := @editHigh13;
  editHigh[14] := @editHigh14;
  editHigh[15] := @editHigh15;

  editLow[0]  := @editLow0;
  editLow[1]  := @editLow1;
  editLow[2]  := @editLow2;
  editLow[3]  := @editLow3;
  editLow[4]  := @editLow4;
  editLow[5]  := @editLow5;
  editLow[6]  := @editLow6;
  editLow[7]  := @editLow7;
  editLow[8]  := @editLow8;
  editLow[9]  := @editLow9;
  editLow[10] := @editLow10;
  editLow[11] := @editLow11;
  editLow[12] := @editLow12;
  editLow[13] := @editLow13;
  editLow[14] := @editLow14;
  editLow[15] := @editLow15;

  for i := 0 to 15 do
  begin
    gfHigh[i] := 0;
    gfLow[i] := 0;
  end;

end;

procedure TfrmLevels.butOkClick(Sender: TObject);
var
  i     : integer;
  szTmp : string;
begin

  for i := 0 to 15 do
  begin
    szTmp := editHigh[i]^.Text;
    DeleteBlank(szTmp);
    gfHigh[i] := StrToFloat(szTmp);

    szTmp := editLow[i]^.Text;
    DeleteBlank(szTmp);
    gfLow[i] := StrToFloat(szTmp);
  end;

  gbOkPushed := True;
  close;
end;

procedure TfrmLevels.butCancelClick(Sender: TObject);
begin
  gbOkPushed := False;
  close;
end;

procedure TfrmLevels.FormShow(Sender: TObject);
var
  i : integer;
begin

  for i := 0 to 15 do
  begin
    editHigh[i]^.Text := FormatFloat('000.00000;-00.00000', gfHigh[i]);
    editLow[i]^.Text := FormatFloat('000.00000;-00.00000', gfLow[i]);
  end;
end;

end.

⌨️ 快捷键说明

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