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

📄 gainunit.pas

📁 使用研华DAQ和Delphi实现研华数据采集卡的多种功能.包括数据输入输出。内含多个源码
💻 PAS
字号:
unit GainUnit;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, Variants, ExtCtrls, ValEdit, Grids;

type
  TfrmGainList = class(TForm)
    Label1: TLabel;
    cmbGainList: TComboBox;
    cmdOK: TBitBtn;
    Label2: TLabel;
    GainCodeGrid: TValueListEditor;
    procedure FormShow(Sender: TObject);
    procedure cmbGainListClick(Sender: TObject);
    procedure GainCodeGridSelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
  WideStringArray = array[0..15] of WideString;
  MyGainCodeArray = array[0..128] of Integer;

var
  frmGainList: TfrmGainList;
  gGainCodeList : Variant;
  gNumOfInputRange : Integer;
  gInputRangeList : WideStringArray;
  gGainCodeSave : MyGainCodeArray;
  gNumOfChan : Integer;

implementation

uses AIUnit;

{$R *.DFM}

procedure TfrmGainList.FormShow(Sender: TObject);
var
   j : Integer;
   pos1 : Integer;
   pos2 : Integer;
begin
   cmbGainList.Clear;
   GainCodeGrid.Strings.Clear;

   if gNumOfChan = 0 then
      exit;

   pos1 := Form1.DAQAI1.StartChannel;
   pos2 := Form1.DAQAI1.StartChannel + Form1.DAQAI1.NumberOfChannels - 1;

   for j := 0 to gNumOfInputRange - 1 do
      cmbGainList.Items.Add(gInputRangeList[j]);
   cmbGainList.ItemIndex := gGainCodeSave[pos1];

   for j := pos1 to pos2 do
      GainCodeGrid.InsertRow(IntToStr(j), cmbGainList.Items.Strings[gGainCodeSave[j]], True);
end;

procedure TfrmGainList.cmbGainListClick(Sender: TObject);
var
   pos : Integer;
begin
   pos := Form1.DAQAI1.StartChannel + GainCodeGrid.Row - 1;
   gGainCodeSave[pos] := cmbGainList.ItemIndex;
   GainCodeGrid.Cells[2, GainCodeGrid.Row] := cmbGainList.Text;
end;

procedure TfrmGainList.GainCodeGridSelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
var
   pos : Integer;
begin
   if ACol = 1 then
   begin
      pos := Form1.DAQAI1.StartChannel + ARow - 1;
      cmbGainList.ItemIndex := gGainCodeSave[pos];
   end;
end;

end.

⌨️ 快捷键说明

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