📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, MotoP2KMode, StdCtrls, MotoATMode;
type
TForm1 = class(TForm)
MotoP2KMode1: TMotoP2KMode;
GroupBox2: TGroupBox;
Memo1: TMemo;
GroupBox1: TGroupBox;
ListBox1: TListBox;
GroupBox3: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
MotoATMode1: TMotoATMode;
GroupBox4: TGroupBox;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
GroupBox5: TGroupBox;
Memo3: TMemo;
Button12: TButton;
Label3: TLabel;
Edit1: TEdit;
Label4: TLabel;
Edit2: TEdit;
Button13: TButton;
Button14: TButton;
GroupBox6: TGroupBox;
Button15: TButton;
Button16: TButton;
Button17: TButton;
Edit3: TEdit;
Label5: TLabel;
GroupBox7: TGroupBox;
Label6: TLabel;
Label7: TLabel;
Button18: TButton;
Button19: TButton;
Edit4: TEdit;
Edit5: TEdit;
Button20: TButton;
Button21: TButton;
Label9: TLabel;
Edit7: TEdit;
Button23: TButton;
Button24: TButton;
Edit8: TEdit;
Label10: TLabel;
cbCameraFormat: TComboBox;
cbCameraOption: TComboBox;
Edit9: TEdit;
Button25: TButton;
Label11: TLabel;
GroupBox8: TGroupBox;
cbKeys: TComboBox;
Button26: TButton;
GroupBox9: TGroupBox;
cbVersion: TComboBox;
Button22: TButton;
Edit6: TEdit;
Label8: TLabel;
Edit10: TEdit;
Button27: TButton;
GroupBox10: TGroupBox;
cbLedsMode: TComboBox;
Button28: TButton;
CheckBox1: TCheckBox;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure MotoP2KMode1Arrival(Sender: TObject);
procedure MotoP2KMode1Remove(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure MotoP2KMode1Debug(const AMotoP2KModemItem: TMotoP2KModemItem;
const ADebugText: String; const ADebugType: TDebugType;
const ASubError: Boolean);
procedure Button12Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button17Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
procedure Button18Click(Sender: TObject);
procedure Button19Click(Sender: TObject);
procedure Button20Click(Sender: TObject);
procedure Button21Click(Sender: TObject);
procedure Button22Click(Sender: TObject);
procedure Button23Click(Sender: TObject);
procedure Button24Click(Sender: TObject);
procedure Edit9KeyPress(Sender: TObject; var Key: Char);
procedure Button25Click(Sender: TObject);
procedure Button26Click(Sender: TObject);
procedure Button27Click(Sender: TObject);
procedure Button28Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure AddDebug(AText:string);
begin
Form1.Memo3.Lines.Append(AText);
end;
procedure GetDevises;
var i : integer;
Dev : TMotoP2KModemItem;
begin
with Form1 do begin
ListBox1.Clear;
MotoP2KMode1.DeviceList.Update;
for i:=0 to MotoP2KMode1.DeviceList.Count-1 do begin
Dev := MotoP2KMode1.DeviceList.Items[i];
if Dev=nil then continue;
ListBox1.Items.Add(Dev.ModemInfo.DeviceDescr);
end;
if ListBox1.Items.Count>0 then
ListBox1.ItemIndex := 0;
ListBox1.OnClick(nil);
AddDebug(Format('I Found Phone P2K Mode Count: %d',[MotoP2KMode1.DeviceList.Count]));
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
GetDevises;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
GetDevises;
end;
procedure TForm1.ListBox1Click(Sender: TObject);
var item : TMotoP2KModemItem;
begin
Memo1.Lines.Clear;
Label2.Caption := 'DisConnect';
if (ListBox1.ItemIndex<0) and (ListBox1.ItemIndex>=ListBox1.Count) then exit;
// Get
item := MotoP2KMode1.DeviceList.Items[ListBox1.ItemIndex];
if item=nil then exit;
// Info
with item.ModemInfo do begin
Memo1.Lines.Add(Format('DeviceDescr %s',[DeviceDescr]));
Memo1.Lines.Add(Format('DeviceID %d',[DeviceID]));
Memo1.Lines.Add(Format('DevicePath %s',[DevicePath]));
Memo1.Lines.Add(Format('Capabilities %d',[Capabilities]));
Memo1.Lines.Add(Format('ClassDescr %s',[ClassDescr]));
Memo1.Lines.Add(Format('ClassGUID %s',[ClassGUID]));
Memo1.Lines.Add(Format('CompatibleIDs %s',[CompatibleIDs]));
Memo1.Lines.Add(Format('ConfigFlags %d',[ConfigFlags]));
Memo1.Lines.Add(Format('LowerFilters %s',[LowerFilters]));
Memo1.Lines.Add(Format('Mfg %s',[Mfg]));
Memo1.Lines.Add(Format('UpperFilters %s',[UpperFilters]));
Memo1.Lines.Add(Format('Address %s',[Address]));
Memo1.Lines.Add(Format('BusNumber %d',[BusNumber]));
Memo1.Lines.Add(Format('Driver %s',[Driver]));
Memo1.Lines.Add(Format('BusType %s',[BusType]));
Memo1.Lines.Add(Format('Characteristics %s',[Characteristics]));
Memo1.Lines.Add(Format('DevType %s',[DevType]));
Memo1.Lines.Add(Format('Exclusive %d',[Exclusive]));
Memo1.Lines.Add(Format('LegacyBusType %s',[LegacyBusType]));
Memo1.Lines.Add(Format('LocationInfo %s',[LocationInfo]));
Memo1.Lines.Add(Format('PhysDevObjName %s',[PhysDevObjName]));
Memo1.Lines.Add(Format('Security %s',[Security]));
Memo1.Lines.Add(Format('Service %s',[Service]));
Memo1.Lines.Add(Format('UINumber %d',[UINumber]));
Memo1.Lines.Add(Format('UINumberFormat %s',[UINumberFormat]));
end;
// Status
if item.IsOpened then
Label2.Caption := 'Connect'
else
Label2.Caption := 'DisConnect';
end;
procedure TForm1.Button2Click(Sender: TObject);
var item : TMotoP2KModemItem;
begin
if (ListBox1.ItemIndex<0) and (ListBox1.ItemIndex>=ListBox1.Count) then exit;
item := MotoP2KMode1.DeviceList.Items[ListBox1.ItemIndex];
if item=nil then exit;
item.Open;
ListBox1.OnClick(nil);
end;
procedure TForm1.Button3Click(Sender: TObject);
var item : TMotoP2KModemItem;
begin
if (ListBox1.ItemIndex<0) and (ListBox1.ItemIndex>=ListBox1.Count) then exit;
item := MotoP2KMode1.DeviceList.Items[ListBox1.ItemIndex];
if item=nil then exit;
item.Close;
ListBox1.OnClick(nil);
end;
procedure TForm1.MotoP2KMode1Arrival(Sender: TObject);
begin
GetDevises;
AddDebug('I Phone P2K mode Arrival');
end;
procedure TForm1.MotoP2KMode1Remove(Sender: TObject);
begin
GetDevises;
AddDebug('I Phone P2K mode Remove');
end;
procedure TForm1.Button4Click(Sender: TObject);
var item : TMotoP2KModemItem;
begin
if (ListBox1.ItemIndex<0) and (ListBox1.ItemIndex>=ListBox1.Count) then exit;
item := MotoP2KMode1.DeviceList.Items[ListBox1.ItemIndex];
if item=nil then exit;
Form1.Caption := 'P2K Mode - Restart';
item.Restart;
Form1.Caption := 'P2K Mode';
end;
procedure TForm1.Button5Click(Sender: TObject);
var item : TMotoP2KModemItem;
bSuspend : boolean;
begin
if (ListBox1.ItemIndex<0) and (ListBox1.ItemIndex>=ListBox1.Count) then exit;
item := MotoP2KMode1.DeviceList.Items[ListBox1.ItemIndex];
if item=nil then exit;
Form1.Caption := 'P2K Mode - Suspend';
bSuspend := item.isSuspend;
item.Suspend(not bSuspend);
Form1.Caption := 'P2K Mode';
end;
procedure TForm1.Button6Click(Sender: TObject);
var i:integer;
s:string;
item:TMotoATModemItem;
begin
if MotoATMode1.DeviceList.Count<1 then begin
ShowMEssage('玉蝠铋耱忄 礤 磬殇屙
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -