📄 gainunit.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 + -