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