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

📄 mainunit.pas

📁 Gestione Cellulari Nokia
💻 PAS
📖 第 1 页 / 共 4 页
字号:
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 + -