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

📄 adtsel_my.pas

📁 自动语音应答系统
💻 PAS
字号:
unit AdTSel_My;

interface
   
uses
  WinProcs,
  WinTypes,
  Messages,
  SysUtils,
  Classes,
  Controls,
  Forms,registry,
  Dialogs,
  StdCtrls,
  Buttons,
  AwUser,
  AdPort,
  AdExcept,
  AdTUtil,
  OOMisc,
  AdSelCom,AdTapi,
  AwWin32, ExtCtrls;

  function SelectDevice_My(ApdTapiDevice:TApdTapiDevice;wait:boolean;RegPath:string) : TModalResult;

type
  TDeviceSelectionForm_My = class(TForm)
    dsfComboBox    : TComboBox;
    dsfOkBitBtn    : TBitBtn;
    dsfCancelBitBtn: TBitBtn;
    Timer1: TTimer;
    procedure dsfOkBitBtnClick(Sender: TObject);
    procedure dsfCancelBitBtnClick(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
  public
  end;

var
  DeviceSelectionForm_My: TDeviceSelectionForm_My;

implementation


{$R *.DFM}

function SelectDevice_My(ApdTapiDevice:TApdTapiDevice;wait:boolean;RegPath:string):TModalResult;
var
    E:TDeviceSelectionForm_My;
    reg:TRegistry;
    DeviceName:string;
begin
    if ApdTapiDevice.TapiDevices.Count=0 then
    begin
       Result := mrCancel;
       exit;
    end;
    
    E := TDeviceSelectionForm_My.Create(Application);

    E.dsfComboBox.items:=ApdTapiDevice.TapiDevices;
    E.dsfComboBox.itemindex:=0;
    
    reg:=Tregistry.create;
    reg.RootKey:=HKEY_LOCAL_MACHINE;
    reg.OpenKey(regpath,true);
    if reg.ValueExists('Modem') then
    begin
       E.dsfComboBox.ItemIndex:=E.dsfComboBox.Items.IndexOf(reg.ReadString('Modem'));
       if E.dsfComboBox.ItemIndex=-1 then
          E.dsfComboBox.ItemIndex:=0
       else
          if not wait then E.timer1.enabled:=true;
    end;
    reg.closekey;
    reg.free;

    try
      if E.ShowModal = mrOK then
      begin
         DeviceName := E.dsfComboBox.Items[E.dsfComboBox.ItemIndex];
         reg:=Tregistry.create;
         reg.RootKey:=HKEY_LOCAL_MACHINE;
         reg.OpenKey(regpath,true);
         reg.writestring('Modem',DeviceName);
         reg.closekey;
         reg.free;

         ApdTapiDevice.SelectedDevice := DeviceName;
         Result := mrOK;
      end
      else
        Result := mrCancel;
    finally
      E.Free;
    end;
end;

procedure TDeviceSelectionForm_My.dsfOkBitBtnClick(Sender: TObject);
begin
    if dsfComboBox.ItemIndex=-1 then exit;
    ModalResult := mrOK;
end;

procedure TDeviceSelectionForm_My.dsfCancelBitBtnClick(Sender: TObject);
begin
    ModalResult := mrCancel;
end;

procedure TDeviceSelectionForm_My.Timer1Timer(Sender: TObject);
begin
    dsfOkBitBtnClick(Sender);
end;

end.

⌨️ 快捷键说明

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