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

📄 ucamselect.pas

📁 delphi控制数码相机的例子.不知道要用哪个版本的驱动程序.
💻 PAS
字号:
unit uCamSelect;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, cdAPI, cdType, cdError, ExtCtrls;

type
  TFrmCamSelect = class(TForm)
    Panel1: TPanel;
    CamList: TComboBox;
    BtnCancel: TButton;
    BtnOk: TButton;
    procedure FormCreate(Sender: TObject);
    procedure BtnOkClick(Sender: TObject);
    procedure BtnCancelClick(Sender: TObject);
    procedure CamListChange(Sender: TObject);
  private
    { Private declarations }
    SourceInfo :Array of cdSourceInfo;
  public
    { Public declarations }
  end;

implementation

uses uMain;

//uses uConsts;


{$R *.dfm}

procedure TFrmCamSelect.FormCreate(Sender: TObject);
var Err        :cdErr;
    hEnum      :cdHEnum;
    i          :integer;
    Count      :cdUInt32;
    procedure ErrHandler;
    begin
      If hEnum <> 0 Then
        CDEnumDeviceRelease (hEnum);
      ShowMessage('ErrorCode = 0x'+ IntToHex(Err,8));
      Close;
    end;
begin
  Err := CDEnumDeviceReset(1, hEnum);
  if Err<>cdOK then
    ErrHandler;;

  Err := CDGetDeviceCount(hEnum, Count);
  If Err <> cdOK Then
       ErrHandler
  Else if Count=0 then
  begin
        CDEnumDeviceRelease (hEnum);
        hEnum := 0;
        exit;
  end;

  SetLength(SourceInfo,Count);

  For i := 0 To Count-1 do
  begin
    Err := CDEnumDeviceNext(hEnum, SourceInfo[i]);
    If Err = cdOK Then
        CamList.Items.Add(SourceInfo[i].Name);
  end;

  CamList.ItemIndex :=-1;
  Err := CDEnumDeviceRelease(hEnum);
  hEnum := 0;
  If err <> 0 Then
       ErrHandler;
end;

procedure TFrmCamSelect.CamListChange(Sender: TObject);
begin
  if CamList.ItemIndex>=0 then
    BtnOk.Enabled :=True
  else
    BtnOk.Enabled :=False;
end;

procedure TFrmCamSelect.BtnOkClick(Sender: TObject);
begin
  If CamList.ItemIndex <> -1 Then
    m_SourceInfo := SourceInfo[CamList.ItemIndex];
end;

procedure TFrmCamSelect.BtnCancelClick(Sender: TObject);
begin
  m_SourceInfo.SurceType :=cdSRC_TYPE_INVALID;
end;


end.

⌨️ 快捷键说明

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