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

📄 main.~pas

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

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ComCtrls, OleCtrls, HVDEVICELib_TLB, ExtCtrls,Properties;

type
  TfrmMain = class(TForm)
    HVDevice: THVDevice;
    MainMenu1: TMainMenu;
    StatusBar1: TStatusBar;
    File1: TMenuItem;
    SaveImage1: TMenuItem;
    Exit1: TMenuItem;
    Camera1: TMenuItem;
    SingleGrab1: TMenuItem;
    ContinousGrab1: TMenuItem;
    CancelGrab1: TMenuItem;
    AutoWhiteBalance1: TMenuItem;
    Properties1: TMenuItem;
    SaveDialog1: TSaveDialog;
    procedure FormResize(Sender: TObject);
    procedure SingleGrab1Click(Sender: TObject);
    procedure SaveImage1Click(Sender: TObject);
    procedure Exit1Click(Sender: TObject);
    procedure ContinousGrab1Click(Sender: TObject);
    procedure CancelGrab1Click(Sender: TObject);
    procedure AutoWhiteBalance1Click(Sender: TObject);
    procedure Properties1Click(Sender: TObject);
    procedure HVDeviceGrabContinuousChange(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }

    bIsGrabContinous:boolean;

  end;

var
  frmMain: TfrmMain;

implementation


{$R *.dfm}

procedure TfrmMain.FormCreate(Sender: TObject);
begin
    bIsGrabContinous := false;
end;



procedure TfrmMain.FormResize(Sender: TObject);
begin
    HVDevice.Left := 0;
    HVDevice.Top := 0;
    HVDevice.Width := frmMain.Width;
    HVDevice.Height := frmMain.Height;

    if frmMain.Width > 200  then
    begin
        StatusBar1.Panels[0].Width := frmMain.Width - 200;
        StatusBar1.Panels[1].Width := 200;
    end
    else
    begin
        StatusBar1.Panels[0].Width := 0;
        StatusBar1.Panels[1].Width := frmMain.Width;
    end;
end;

procedure TfrmMain.SingleGrab1Click(Sender: TObject);
begin
    HVDevice.GrabSingle();
    HVDevice.Draw(0, 0, HVDevice.Width, HVDevice.Height, 0, 0, HVDevice.Width, HVDevice.Height);
end;

procedure TfrmMain.SaveImage1Click(Sender: TObject);
begin
    SaveDialog1.Filter := 'Bmp files|*.bmp|Jpeg files|*.jpg';
    SaveDialog1.FilterIndex := 1;
    SaveDialog1.DefaultExt := 'bmp' ;
    SaveDialog1.Title:= 'Select the destination file ' ;
    if (SaveDialog1.Execute()) then
    begin
        HVDevice.SaveImage(SaveDialog1.FileName);
    end;
end;

procedure TfrmMain.Exit1Click(Sender: TObject);
begin
    frmMain.Close();
end;

procedure TfrmMain.ContinousGrab1Click(Sender: TObject);
begin
    HVDevice.GrabContinuous();
    bIsGrabContinous :=  true;

end;

procedure TfrmMain.CancelGrab1Click(Sender: TObject);
begin
    HVDevice.GrabCancel();
    bIsGrabContinous :=  false;
end;

procedure TfrmMain.AutoWhiteBalance1Click(Sender: TObject);
begin
    HVDevice.AutoWhiteBalance();
    bIsGrabContinous :=  true;
end;

procedure TfrmMain.Properties1Click(Sender: TObject);
begin
    frmProperties.ShowModal();
end;

procedure TfrmMain.HVDeviceGrabContinuousChange(Sender: TObject);
begin
     HVDevice.Draw(0, 0, HVDevice.Width, HVDevice.Height, 0, 0, HVDevice.Width, HVDevice.Height);
     HVDevice.Continue();
end;


procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    if  bIsGrabContinous then
        HVDevice.GrabCancel();
end;

end.

⌨️ 快捷键说明

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