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

📄 mainunit.pas

📁 请使用Mobile FBUS——用来创建与NOKIA手机连接的软件的理想解决方案!功能包括:发送SMS
💻 PAS
📖 第 1 页 / 共 3 页
字号:
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 + -