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

📄 properties.~pas

📁 Led识别与统计系统,基于DELPHI 7.0下
💻 ~PAS
字号:
unit Properties;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, ComCtrls;

type
  TfrmProperties = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    GroupBox1: TGroupBox;
    GroupBox3: TGroupBox;
    GroupBox4: TGroupBox;
    GroupBox5: TGroupBox;
    HScrollShutter: TScrollBar;
    LabelShutterMin: TLabel;
    Label2: TLabel;
    LabelShutterMax: TLabel;
    TextShutter: TEdit;
    TextGain: TEdit;
    HScrollGain: TScrollBar;
    LabelGainMax: TLabel;
    Label5: TLabel;
    LabelGainMin: TLabel;
    GroupBox7: TGroupBox;
    LabelUMin: TLabel;
    Label8: TLabel;
    LabelUMax: TLabel;
    LabelVMax: TLabel;
    Label11: TLabel;
    LabelVMin: TLabel;
    HScrollU: TScrollBar;
    TextU: TEdit;
    TextV: TEdit;
    HScrollV: TScrollBar;
    ComboVideoMode: TComboBox;
    ComboADCLevel: TComboBox;
    Label13: TLabel;
    Label14: TLabel;
    ComboBayerToRGB: TComboBox;
    ComboConversionType: TComboBox;
    procedure ComboADCLevelChange(Sender: TObject);
    procedure ComboVideoModeChange(Sender: TObject);
    procedure ComboBayerToRGBChange(Sender: TObject);
    procedure ComboConversionTypeChange(Sender: TObject);
    procedure TextShutterExit(Sender: TObject);
    procedure TextGainExit(Sender: TObject);
    procedure TextUExit(Sender: TObject);
    procedure TextVExit(Sender: TObject);
    procedure TextVKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure TextShutterKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure TextUKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure TextGainKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormCreate(Sender: TObject);
    procedure HScrollShutterScroll(Sender: TObject;
      ScrollCode: TScrollCode; var ScrollPos: Integer);
    procedure HScrollGainScroll(Sender: TObject; ScrollCode: TScrollCode;
      var ScrollPos: Integer);
    procedure HScrollUScroll(Sender: TObject; ScrollCode: TScrollCode;
      var ScrollPos: Integer);
    procedure HScrollVScroll(Sender: TObject; ScrollCode: TScrollCode;
      var ScrollPos: Integer);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmProperties: TfrmProperties;

implementation

uses Main;

{$R *.dfm}

procedure TfrmProperties.FormCreate(Sender: TObject);
var
    Min:integer;
    Max:integer;
    Width:integer;
    Height:integer;
    i:integer;

begin
    frmMain.HVDevice.GetPropertyValueRange(2,Min,Max);
    LabelShutterMin.Caption := IntToStr(Min);
    LabelShutterMax.Caption := IntToStr(Max);
    HScrollShutter.Min :=  Min;
    HScrollShutter.Max := Max;
    HScrollShutter.Position := frmMain.HVDevice.Shutter;
    TextShutter.Text := IntToStr(frmMain.HVDevice.Shutter);
    
    frmMain.HVDevice.GetPropertyValueRange(3, Min, Max);
    LabelGainMin.Caption := IntToStr(Min);
    LabelGainMax.Caption := IntToStr(Max);
    HScrollGain.Min := Min;
    HScrollGain.Max := Max;
    HScrollGain.Position := frmMain.HVDevice.Gain;
    TextGain.Text := IntToStr(frmMain.HVDevice.Gain);

    LabelUMin.Caption := '10' ;
    LabelUMax.Caption := '500' ;
    HScrollU.Min := 10 ;
    HScrollU.Max := 500;
    HScrollU.Position := frmMain.HVDevice.GainB;
    TextU.Text := IntToStr(frmMain.HVDevice.GainB);
    
    LabelVMin.Caption := '10' ;
    LabelVMax.Caption := '500';
    HScrollV.Min := 10;
    HScrollV.Max := 500 ;
    HScrollV.Position  := frmMain.HVDevice.GainR;
    TextV.Text := IntToStr(frmMain.HVDevice.GainR);
    
    frmMain.HVDevice.GetPropertyValueRange(1, Min, Max);
    ComboVideoMode.Clear();
    For i := Min To Max do
    begin
        frmMain.HVDevice.GetSensorSize(i, Width, Height);
        ComboVideoMode.Items.Add ('Mode ' + IntToStr(i) + ' ( ' + IntToStr(Width) + ' * ' + IntToStr(Height) + ' )') ;
    end;
    ComboVideoMode.ItemIndex := frmMain.HVDevice.Resolution;

    ComboADCLevel.Clear();
    For i := 0 To 3 do
    begin
        ComboADCLevel.Items.Add('ADC Level ' + IntToStr(i));
    end;
    ComboADCLevel.ItemIndex := frmMain.HVDevice.ADCLevel;

    ComboBayerToRGB.Clear();
    ComboBayerToRGB.Items.Add ('Disabled');
    ComboBayerToRGB.Items.Add ('Enabled ( GBRG )');
    ComboBayerToRGB.Items.Add ('Enabled ( GRBG )');
    ComboBayerToRGB.Items.Add ('Enabled ( BGGR )');
    ComboBayerToRGB.Items.Add  ('Enabled ( RGGB )');
    ComboBayerToRGB.ItemIndex := frmMain.HVDevice.BayerToRGBConversion;

    ComboConversionType.Clear();
    ComboConversionType.Items.Add ('Fast');
    ComboConversionType.Items.Add  ('Normal');
    ComboConversionType.Items.Add ('Best');
    ComboConversionType.ItemIndex := frmMain.HVDevice.ConversionType;

end;

procedure TfrmProperties.ComboADCLevelChange(Sender: TObject);
begin
    frmMain.HVDevice.ADCLevel := ComboADCLevel.ItemIndex;
end;

procedure TfrmProperties.ComboVideoModeChange(Sender: TObject);
begin
    frmMain.HVDevice.Resolution := ComboVideoMode.ItemIndex;
end;

procedure TfrmProperties.ComboBayerToRGBChange(Sender: TObject);
begin
    frmMain.HVDevice.BayerToRGBConversion := ComboBayerToRGB.ItemIndex;
end;

procedure TfrmProperties.ComboConversionTypeChange(Sender: TObject);
begin
    frmMain.HVDevice.ConversionType := ComboConversionType.ItemIndex;
end;

procedure TfrmProperties.HScrollShutterScroll(Sender: TObject;
  ScrollCode: TScrollCode; var ScrollPos: Integer);
begin
    TextShutter.Text := IntToStr(HScrollShutter.Position);
    frmMain.HVDevice.Shutter := HScrollShutter.Position;
end;

procedure TfrmProperties.TextShutterKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    If Key = VK_RETURN	 Then
    begin
        HScrollShutter.Position := StrToInt(TextShutter.Text);
        frmMain.HVDevice.Shutter := HScrollShutter.Position ;
    end;
end;

procedure TfrmProperties.TextShutterExit(Sender: TObject);
begin
        HScrollShutter.Position := StrToInt(TextShutter.Text);
        frmMain.HVDevice.Shutter := HScrollShutter.Position ;
end;
procedure TfrmProperties.HScrollGainScroll(Sender: TObject;
  ScrollCode: TScrollCode; var ScrollPos: Integer);
begin
    TextGain.Text := IntToStr(HScrollGain.Position);
    frmMain.HVDevice.Gain := HScrollGain.Position;
end;
procedure TfrmProperties.TextGainKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    If Key = VK_RETURN	 Then
    begin
        HScrollGain.Position := StrToInt(TextGain.Text );
        frmMain.HVDevice.Gain := HScrollGain.Position;
    end;
end;

procedure TfrmProperties.TextGainExit(Sender: TObject);
begin
        HScrollGain.Position := StrToInt(TextGain.Text );
        frmMain.HVDevice.Gain := HScrollGain.Position;
end;
procedure TfrmProperties.HScrollUScroll(Sender: TObject;
  ScrollCode: TScrollCode; var ScrollPos: Integer);
begin
    TextU.Text := IntToStr(HScrollU.Position);
    frmMain.HVDevice.GainB := HScrollU.Position;
end;
procedure TfrmProperties.TextUKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    If Key = VK_RETURN	 Then
    begin
        HScrollU.Position := StrToInt(TextU.Text);
        frmMain.HVDevice.GainB := HScrollU.Position;
    end;
end;

procedure TfrmProperties.TextUExit(Sender: TObject);
begin
        HScrollU.Position := StrToInt(TextU.Text);
        frmMain.HVDevice.GainB := HScrollU.Position;
end;

procedure TfrmProperties.HScrollVScroll(Sender: TObject;
  ScrollCode: TScrollCode; var ScrollPos: Integer);
begin
    TextV.Text := IntToStr(HScrollV.Position );
    frmMain.HVDevice.GainR := HScrollV.Position;
end;

procedure TfrmProperties.TextVKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    If Key = VK_RETURN	 Then
    begin
        HScrollV.Position := StrToInt(TextV.Text );
        frmMain.HVDevice.GainR := HScrollV.Position;
    end;
end;


procedure TfrmProperties.TextVExit(Sender: TObject);
begin
        HScrollV.Position := StrToInt(TextV.Text);
        frmMain.HVDevice.GainR := HScrollV.Position ;
end;

end.

⌨️ 快捷键说明

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