📄 mainunit.pas
字号:
unit MainUnit;
interface
{$DEFINE REGISTRED}
{.$DEFINE UNREGISTRED}
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Outlook, FBUS,INIFiles, ExtCtrls, Menus, ComCtrls, FBUSStatusBar,
StdCtrls, Mask,phonebook, FileCtrl, VSSLogoEditor, FBUSOpenPictureDialog;
var
fFont : TFont;
bFirstTime : boolean;
bContinueLoop : Boolean;
type
TfrmMain = class(TForm)
Outlook1: TOutlook;
FBUS1: TFBUS;
tmpTimer: TTimer;
Notebook1: TNotebook;
MFBUSStatusBar1: TMFBUSStatusBar;
MainMenu1: TMainMenu;
File1: TMenuItem;
Exit1: TMenuItem;
Phone1: TMenuItem;
N1: TMenuItem;
Connect1: TMenuItem;
Disconnect1: TMenuItem;
Settings1: TMenuItem;
ChangeComport1: TMenuItem;
Reset1: TMenuItem;
SoftReset1: TMenuItem;
N2: TMenuItem;
HardReset1: TMenuItem;
grpPhoneInfo: TGroupBox;
lvPhoneInfo: TListView;
grpNetworkInfo: TGroupBox;
lvNetworkInfo: TListView;
grpPhoneDateTime: TGroupBox;
DateTimeLabel: TLabel;
GroupBox3: TGroupBox;
txtTime: TMaskEdit;
Button3: TButton;
lvPhoneBook: TListView;
grpMemoryType: TGroupBox;
btnPBAddnew: TButton;
btnPBDelete: TButton;
btnPBRefresh: TButton;
btnPBSendSMS: TButton;
cmbpMemType: TComboBox;
imgPhone: TImage;
Image4: TImage;
btnAddSpeedDial: TButton;
btnEditSpeedDial: TButton;
cmboSpeedMem: TComboBox;
txtSpeedGroup: TEdit;
txtSpeedNumber: TEdit;
txtSpeedName: TEdit;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
lblLocation: TLabel;
lvSpeedDial: TListView;
btnDeleteSMS: TButton;
Label25: TLabel;
smsMemory: TProgressBar;
lvSMS: TListView;
grpSMSMemoryType: TGroupBox;
cmboSMSMemType: TComboBox;
btnSMSSendSMS: TButton;
btnPlayTone: TButton;
rgrpPlayDevice: TRadioGroup;
btnSendVIASMS: TButton;
btnRingToneUpload: TButton;
btnRingToneWrite: TButton;
gtpringtoneLoc: TGroupBox;
DriveComboBox1: TDriveComboBox;
DirectoryListBox1: TDirectoryListBox;
FileListBox1: TFileListBox;
FilterComboBox1: TFilterComboBox;
grpDTMF: TGroupBox;
btnDTMF1: TButton;
btnDTMF2: TButton;
btnDTMF3: TButton;
btnDTMF4: TButton;
btnDTMF5: TButton;
btnDTMF6: TButton;
btnDTMF7: TButton;
btnDTMF8: TButton;
btnDTMF9: TButton;
btnDTMF0: TButton;
txtVoiceCall: TEdit;
btnCall: TButton;
btnHangup: TButton;
btnDTMFPlus: TButton;
btnDTMFhash: TButton;
rgrpDTMFType: TRadioGroup;
logoPanel: TPanel;
grpNetMonScreen: TGroupBox;
UpDown1: TUpDown;
Edit1: TEdit;
Button7: TButton;
Button8: TButton;
Button6: TButton;
moNetMonitor: TMemo;
btnClear: TButton;
btnDownload: TButton;
btnLoadfromfile: TButton;
btnSendToPhone: TButton;
Button1: TButton;
btnSaveLogo: TButton;
GroupBox1: TGroupBox;
cmboLogoType: TComboBox;
btnReset: TButton;
GroupBox4: TGroupBox;
txtLogo: TEdit;
Button17: TButton;
Button19: TButton;
GroupBox5: TGroupBox;
DisplayLogo: TImage;
dlgOpenImageFile: TFBUSOpenPictureDialog;
FontDialog1: TFontDialog;
View1: TMenuItem;
PhoneInfo1: TMenuItem;
N3: TMenuItem;
PhoneBook1: TMenuItem;
N4: TMenuItem;
SMS1: TMenuItem;
N5: TMenuItem;
SpeedDial1: TMenuItem;
N6: TMenuItem;
RingTone1: TMenuItem;
N7: TMenuItem;
Logo1: TMenuItem;
N8: TMenuItem;
DTMF1: TMenuItem;
N9: TMenuItem;
NetMonitor1: TMenuItem;
lblText: TLabel;
Label1: TLabel;
lblSpeedPosition: TLabel;
btnChangeProvider: TButton;
btnExport: TButton;
LogoEditor: TVSSLogoEditor;
procedure FormShow(Sender: TObject);
procedure tmpTimerTimer(Sender: TObject);
procedure FBUS1Connected(iResult: Integer; msg: String);
procedure Connect1Click(Sender: TObject);
procedure Disconnect1Click(Sender: TObject);
procedure ChangeComport1Click(Sender: TObject);
procedure SoftReset1Click(Sender: TObject);
procedure HardReset1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Outlook1ItemClick(Sender: TObject; Item: String);
procedure cmbpMemTypeClick(Sender: TObject);
procedure btnPBRefreshClick(Sender: TObject);
procedure btnPBAddnewClick(Sender: TObject);
procedure Exit1Click(Sender: TObject);
procedure btnPBDeleteClick(Sender: TObject);
procedure imgPhoneMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure imgPhoneMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure imgPhoneMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FindSpeedDialDetails(iValue:integer);
procedure btnAddSpeedDialClick(Sender: TObject);
procedure btnEditSpeedDialClick(Sender: TObject);
procedure cmboSMSMemTypeClick(Sender: TObject);
procedure FBUS1DelivaryCount(iSMSCount: Integer);
procedure FBUS1InboxCount(iSMSCount: Integer);
procedure FBUS1OutBoxCount(iSMSCount: Integer);
procedure lvSMSClick(Sender: TObject);
procedure btnSMSSendSMSClick(Sender: TObject);
procedure lvSMSDblClick(Sender: TObject);
function FindSendersName(sNumber:string):string;
procedure FBUS1SMSSent;
procedure FBUS1SMSSendError;
procedure FBUS1NewSMSMessage;
procedure btnDeleteSMSClick(Sender: TObject);
procedure btnPBSendSMSClick(Sender: TObject);
procedure btnPlayToneClick(Sender: TObject);
procedure btnSendVIASMSClick(Sender: TObject);
procedure btnRingToneUploadClick(Sender: TObject);
procedure btnRingToneWriteClick(Sender: TObject);
procedure rgrpDTMFTypeClick(Sender: TObject);
procedure ProcessDTMF(sender : TObject);
procedure btnCallClick(Sender: TObject);
procedure btnHangupClick(Sender: TObject);
procedure UpDown1Click(Sender: TObject; Button: TUDBtnType);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure cmboLogoTypeClick(Sender: TObject);
procedure btnClearClick(Sender: TObject);
procedure btnLoadfromfileClick(Sender: TObject);
procedure btnDownloadClick(Sender: TObject);
procedure LogoEditorSentViaSMS(Sent: Boolean);
procedure LogoEditorGridPos(X, Y: Integer);
procedure Notebook1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Button1Click(Sender: TObject);
procedure btnSaveLogoClick(Sender: TObject);
procedure btnSendToPhoneClick(Sender: TObject);
procedure Button17Click(Sender: TObject);
procedure Button19Click(Sender: TObject);
procedure btnResetClick(Sender: TObject);
procedure FBUS1RingToneSent(Sent: Boolean);
procedure FBUS1IncommingCall(Number: String);
procedure PhoneInfo1Click(Sender: TObject);
procedure PhoneBook1Click(Sender: TObject);
procedure SMS1Click(Sender: TObject);
procedure SpeedDial1Click(Sender: TObject);
procedure RingTone1Click(Sender: TObject);
procedure Logo1Click(Sender: TObject);
procedure DTMF1Click(Sender: TObject);
procedure NetMonitor1Click(Sender: TObject);
procedure btnChangeProviderClick(Sender: TObject);
procedure btnExportClick(Sender: TObject);
private
{ Private declarations }
fWin95:Boolean;
public
{ Public declarations }
sApplicationPath:string;
end;
var
frmMain: TfrmMain;
Const
fbOutgoingMessage = 11;
fbDeliveryReport = 12;
fbIncommingMessage = 13;
implementation
uses ComSelect,Misc,newpbEntry, SendSMS, SMSReply,providers,ConnectionEst;
{$R *.DFM}
procedure TfrmMain.FormShow(Sender: TObject);
begin
tmpTimer.Enabled:=true;
end;
procedure TfrmMain.tmpTimerTimer(Sender: TObject);
begin
tmpTimer.enabled:=false;
show;
bFirstTime:=true;
//sApplicationPath:=ExtractFilePath(Paramstr(0));
sApplicationPath:=GetCurrentDir+'\';
FBUS1.Comport:=TCOMPORT(ComportToUse); //Set the comport to use
If Not FileExists(sApplicationPath+'PhoneBook.da0') then
begin
messagedlg('Since this is the first time you have run this application, we need to do a couple of things. Please press Ok and wait a few moments',mtInformation,[mbOk],0);
Connect1Click(self);
CompareAndUpdatePhoneBooks(fbSimMemory); //demo only syncronizes the sim memory
messagedlg('thank you...all the information required has been gathered',mtInformation,[mbOk],0);
end
else
Connect1Click(self);
end;
procedure TfrmMain.FBUS1Connected(iResult: Integer; msg: String);
begin
//0 = connected (or no error), 25 = Disconnected
case iResult of
0: begin
MFBUSStatusBar1.panels[0].text:='Connected to '+ FBUS1.PhoneInfo.Model;
Connect1.enabled:=false;
Disconnect1.enabled:=True;
if bFirstTime then
bFirstTime:=False
else
begin
try // we do a try and except here as this data might not be availible first time round
bFirstTime:=False;
if FormatDateTime('dd MMM YYYY',FBUS1.GetTime) <> '30 Dec 1899' then
DateTimeLabel.caption:=DateTimetoStr(FBUS1.GetTime)
else
DateTimeLabel.caption:='';
except
end;
end
end;
25: begin
bFirstTime:=true;
MFBUSStatusBar1.panels[0].text:=msg;
Connect1.enabled:=True;
Disconnect1.enabled:=False;
MFBUSStatusBar1.Panels[0].text:='Disconnected';
MFBUSStatusBar1.panels[1].text:='';
exit;
end;
else
begin
MessageDlg(msg,mtWarning,[mbOk],0);
bContinueLoop:=false;
if frmConnEst.visible then
begin
frmConnEst.Label1.caption:='Error Connecting to Phone';
end;
end;
end
end;
procedure TfrmMain.Connect1Click(Sender: TObject);
var
ListViewItem : TListItem;
begin
Application.createForm(TfrmConnEst,frmConnEst);
frmConnEst.show;
application.ProcessMessages;
sleep(500);
FBus1.Connect;
repeat
application.processmessages;
until (fBUS1.Connected) or (bContinueLoop=false);
if fBUS1.Connected then
begin
if frmConnEst.visible then frmConnEst.close;
sleep(500);
if FormatDateTime('dd MMM YYYY',FBUS1.GetTime) <> '30 Dec 1899' then
DateTimeLabel.caption:=DateTimetoStr(FBUS1.GetTime)
else
DateTimeLabel.caption:='';
lvPhoneInfo.items.clear;
ListViewItem:=lvPhoneInfo.items.add;
ListViewItem.Caption:='IMEI';
ListViewItem.Subitems.add(FBUS1.PhoneInfo.IMEI);
ListViewItem:=lvPhoneInfo.items.add;
ListViewItem.Caption:='SW Version';
ListViewItem.Subitems.add(FBUS1.PhoneInfo.SWVersion);
ListViewItem:=lvPhoneInfo.items.add;
ListViewItem.Caption:='HW Version';
ListViewItem.Subitems.add(FBUS1.PhoneInfo.HWVersion);
ListViewItem:=lvPhoneInfo.items.add;
ListViewItem.Caption:='Model';
ListViewItem.Subitems.add(FBUS1.PhoneInfo.Model);
ListViewItem:=lvPhoneInfo.items.add;
ListViewItem.Caption:='Sw Date';
ListViewItem.Subitems.add(FBUS1.PhoneInfo.SWDate);
lvNetworkInfo.items.Clear;
ListViewItem:=lvNetworkInfo.items.add;
ListViewItem.Caption:='Provider Name';
ListViewItem.Subitems.add(FBUS1.NetworkInfo.NetworkCode);
ListViewItem:=lvNetworkInfo.items.add;
ListViewItem.Caption:='Country';
ListViewItem.Subitems.add(FBUS1.NetworkInfo.Country);
ListViewItem:=lvNetworkInfo.items.add;
ListViewItem.Caption:='SMS Center';
ListViewItem.Subitems.add(FBUS1.NetworkInfo.SMSCenter);
ListViewItem:=lvNetworkInfo.items.add;
ListViewItem.Caption:='Cell ID';
ListViewItem.Subitems.add(FBUS1.NetworkInfo.CellID);
ListViewItem:=lvNetworkInfo.items.add;
ListViewItem.Caption:='LAC';
ListViewItem.Subitems.add(FBUS1.NetworkInfo.LAC);
end;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -