📄 mainunit.pas
字号:
unit MainUnit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
FBUS,INIFiles, ExtCtrls, Menus, ComCtrls, FBUSStatusBar, StdCtrls, Mask,
FileCtrl, FBUSOpenPictureDialog, SMS, FbusUnicode,phonebook, functions,
FBUSSMSList, AxCtrls, OleCtrls, Clipbrd, FBUSLogoMgr,FBUSLogoEditor,logomisc,
ToolWin, ImgList,ringtone, FthSBar, FBGIFimage, ExtDlgs;
var
fFont : TFont;
bFirstTime : boolean;
bContinueLoop : Boolean;
bSMSLoaded : boolean;
type
PMyRec = ^TMyRec;
TMyRec = record
Caption: WideString;
end;
type
TfrmMain = class(TForm)
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;
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;
grpNetMonScreen: TGroupBox;
UpDown1: TUpDown;
Edit1: TEdit;
Button7: TButton;
Button8: TButton;
Button6: TButton;
moNetMonitor: TMemo;
btnClear: TButton;
btnDownload: TButton;
btnLoadfromfile: TButton;
btnSendToPhone: TButton;
SendThruSMS: TButton;
btnSaveLogo: TButton;
GroupBox1: TGroupBox;
cmboLogoType: TComboBox;
btnReset: 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;
frpUsedPB: TGroupBox;
progressbarPB: TProgressBar;
GroupBox2: TGroupBox;
smsMemory: TProgressBar;
grpDefaultLang: TGroupBox;
cmboCharSet: TComboBox;
lvSMS: TFBUSSMSList;
pnlHidden: TPanel;
lblDestination: TLabel;
txtDestination: TEdit;
cbUniCode: TCheckBox;
txtPictureMessage: TfbTextBox;
PopupMenu1: TPopupMenu;
CopyPhoneNumbertoClipboard1: TMenuItem;
Timer1: TTimer;
FBUSLogoEditor1: TFBUSLogoEditor;
FBUSLogoMgr1: TFBUSLogoMgr;
Panel1: TPanel;
ImageList1: TImageList;
ToolBar1: TToolBar;
tbEraser: TToolButton;
tbFloodFill: TToolButton;
tbMagnifier: TToolButton;
tbPencil: TToolButton;
ToolButton10: TToolButton;
tbText: TToolButton;
tbFrameRect: TToolButton;
tbFillRect: TToolButton;
tbRect: TToolButton;
tbFrameRoundRect: TToolButton;
tbFillRoundRect: TToolButton;
tbRoundRect: TToolButton;
tbFrameEllipse: TToolButton;
tbFillEllipse: TToolButton;
tbEllipse: TToolButton;
Shape1: TShape;
Shape2: TShape;
ToolButton1: TToolButton;
cmboToneStyle: TComboBox;
Label2: TLabel;
tbUndo: TToolButton;
tbRedo: TToolButton;
ImageList2: TImageList;
FourthShortcutBar1: TFourthShortcutBar;
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image5: TImage;
Image6: TImage;
Image7: TImage;
Image8: TImage;
Image9: TImage;
Image10: TImage;
Image11: TImage;
Image12: TImage;
Image13: TImage;
Image14: TImage;
Image15: TImage;
Image16: TImage;
Image17: TImage;
Image18: TImage;
Image19: TImage;
Image20: TImage;
Image21: TImage;
Image23: TImage;
Image22: TImage;
Image24: TImage;
Image25: TImage;
Image26: TImage;
Image27: TImage;
Image28: TImage;
Image31: TImage;
Image32: TImage;
Image33: TImage;
Image34: TImage;
Image35: TImage;
Image36: TImage;
Image37: TImage;
Image38: TImage;
Image39: TImage;
Image40: TImage;
Image41: TImage;
Image42: TImage;
Image43: TImage;
Image44: TImage;
btnSiemens: TButton;
SaveDialog1: TSaveDialog;
OpenDialog1: TOpenDialog;
tbCopy: TToolButton;
tbPaste: TToolButton;
btnClearRingtone: TButton;
Help1: TMenuItem;
Version1: TMenuItem;
N10: TMenuItem;
OtherComponentVersions1: TMenuItem;
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 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 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 btnClearClick(Sender: TObject);
procedure btnLoadfromfileClick(Sender: TObject);
procedure btnDownloadClick(Sender: TObject);
procedure Notebook1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SendThruSMSClick(Sender: TObject);
procedure btnSaveLogoClick(Sender: TObject);
procedure btnSendToPhoneClick(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);
procedure FBUS1NewSMSMessage(iIndex: Integer);
procedure progressbarPBMouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure ShowPhoneBookUsage;
procedure cmboCharSetChange(Sender: TObject);
procedure LoadCharSets;
procedure LoadSMSMessages;
procedure CopyPhoneNumbertoClipboard1Click(Sender: TObject);
procedure FBUS1NewPIctureMessage(NewPIcture: Boolean);
procedure Button4Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure cmboLogoTypeClick(Sender: TObject);
procedure FBUSLogoEditor1Change(Sender: TObject);
procedure FBUSLogoMgr1SentViaSMS(Sent: Boolean);
procedure tbPencilClick(Sender: TObject);
procedure Shape1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Shape2MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure tbTextClick(Sender: TObject);
procedure EnableButtons;
procedure DisableButtons;
procedure tbUndoClick(Sender: TObject);
procedure tbRedoClick(Sender: TObject);
procedure FourthShortcutBar1Panels1Buttons0Click(Sender: TObject);
procedure FourthShortcutBar1Panels1Buttons1Click(Sender: TObject);
procedure FourthShortcutBar1Panels1Buttons2Click(Sender: TObject);
procedure FourthShortcutBar1Panels1Buttons3Click(Sender: TObject);
procedure FourthShortcutBar1Panels1Buttons4Click(Sender: TObject);
procedure FourthShortcutBar1Panels1Buttons5Click(Sender: TObject);
procedure FourthShortcutBar1Panels1Buttons6Click(Sender: TObject);
procedure FourthShortcutBar1Panels0Buttons0Click(Sender: TObject);
procedure FourthShortcutBar1Panels1Buttons7Click(Sender: TObject);
procedure Image3Click(Sender: TObject);
procedure Notebook1PageChanged(Sender: TObject);
procedure btnSiemensClick(Sender: TObject);
procedure PopulateListViews;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure PopulatePhoneBookListView;
procedure FBUS1CallInProgress(bCallInProgress: Boolean;
CurrentCallNumber: String);
procedure FBUS1PhoneCallStatus(iStatus: Integer);
procedure tbCopyClick(Sender: TObject);
procedure tbPasteClick(Sender: TObject);
procedure FBUSLogoMgr1SavedLogotToFile(SavedToFile: Boolean);
procedure btnClearRingtoneClick(Sender: TObject);
procedure Version1Click(Sender: TObject);
procedure OtherComponentVersions1Click(Sender: TObject);
private
{ Private declarations }
fWin95:Boolean;
public
{ Public declarations }
sApplicationPath:string;
sMessage:WideString;
procedure ShowLogoFromBrowser(iIndex,iType:integer);
end;
var
frmMain: TfrmMain;
Const
fbOutgoingMessage = 11;
fbDeliveryReport = 12;
fbIncommingMessage = 13;
implementation
uses ComSelect,Misc,newpbEntry, SendSMS, SMSReply,providers,ConnectionEst,PicIndex,logoBrowse,
uploadringtone;
{$R *.DFM}
procedure TfrmMain.FormShow(Sender: TObject);
begin
tmpTimer.Enabled:=true;
end;
procedure TfrmMain.tmpTimerTimer(Sender: TObject);
var
iPhonebookCount : integer;
begin
tmpTimer.enabled:=false;
show;
bFirstTime:=true;
sApplicationPath:=GetCurrentDir+'\';
FBUS1.Comport:=TCOMPORT(ComportToUse); //Set the comport to use
Connect1Click(self);
if (FBUS1.Connected) and (FBus1.PhoneBook.EntryCount=0) then
begin
messagedlg('No phonebook data exists for this Phone. Please press Ok and wait a few moments while the phonebook entries are gathered',mtInformation,[mbOk],0);
application.processmessages;
screen.cursor:=crHourGlass;
FBUS1.PhoneBook.SyncPhoneandDB(fbSimMemory);
screen.cursor:=crDefault;
messagedlg('thank you...all the information required has been gathered',mtInformation,[mbOk],0);
end;
iPhonebookCount:=frmMain.FBus1.phonebook.PhoneBookEntriesUsed(TMemType(1));
if iPhonebookCount = 0 then iPhonebookCount:=frmMain.FBus1.phonebook.PhoneBookEntriesUsed(TMemType(1)); //sometimes this is not triggered straight away
if FBus1.PhoneBook.UsedRecords <> iPhonebookCount then
if MessageDlg('The number of phonebook entries has changed on the phone. Sync the database ?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
MessageDlg('Please wait while Sync. takes place',mtINformation,[mbOk],0);
FBUS1.PhoneBook.SyncPhoneandDB(fbSimMemory);
end;
timer1.enabled:=true;
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
begin
bFirstTime:=False;
FBUS1.PhoneBook.OpenDatebase(sApplicationPath+GetPhoneIMEI+'.pbf');
end
else
begin
try // we do a try and except here as this data might not be availible first time round
if lvPhoneInfo.items.Item[3].SubItems[0] <> FBUS1.PhoneInfo.Model then
PopulateListViews;
bFirstTime:=False;
if FormatDateTime('dd MMM YYYY',FBUS1.GetTime) <> '01 Jan 0001' 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:='';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -