--- /dev/null
+unit MainUnit;\r
+\r
+interface\r
+\r
+{$I-}\r
+\r
+uses\r
+ Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,\r
+ Dialogs, ComCtrls, GnokiiAPI, ExtCtrls, Menus, StdCtrls, Spin, IniFiles;\r
+\r
+type\r
+ TMainForm = class(TForm)\r
+ StatusBar1: TStatusBar;\r
+ TreeView1: TTreeView;\r
+ Splitter1: TSplitter;\r
+ MainMenu1: TMainMenu;\r
+ File1: TMenuItem;\r
+ Quit1: TMenuItem;\r
+ Help1: TMenuItem;\r
+ About1: TMenuItem;\r
+ Timer1: TTimer;\r
+ OpenDialog1: TOpenDialog;\r
+ SaveDialog1: TSaveDialog;\r
+ PageControl1: TPageControl;\r
+ NetmonitorTabSheet: TTabSheet;\r
+ GroupBox1: TGroupBox;\r
+ Label1: TLabel;\r
+ NetmonGroupBox: TGroupBox;\r
+ NetmonLabel: TLabel;\r
+ SpinEdit1: TSpinEdit;\r
+ Button11: TButton;\r
+ PhonebookTabSheet: TTabSheet;\r
+ GroupBox2: TGroupBox;\r
+ Panel1: TPanel;\r
+ Label2: TLabel;\r
+ ComboBox1: TComboBox;\r
+ ListView1: TListView;\r
+ PhoneTabSheet: TTabSheet;\r
+ GroupBox3: TGroupBox;\r
+ GroupBox12: TGroupBox;\r
+ Label4: TLabel;\r
+ Label5: TLabel;\r
+ Label7: TLabel;\r
+ Label8: TLabel;\r
+ Label9: TLabel;\r
+ Label6: TLabel;\r
+ Button9: TButton;\r
+ GroupBox14: TGroupBox;\r
+ ListView8: TListView;\r
+ GroupBox11: TGroupBox;\r
+ CheckBox1: TCheckBox;\r
+ LogosTabSheet: TTabSheet;\r
+ GroupBox4: TGroupBox;\r
+ LogosImage: TImage;\r
+ Image1: TImage;\r
+ Image2: TImage;\r
+ ComboBox2: TComboBox;\r
+ Button6: TButton;\r
+ Button7: TButton;\r
+ Button8: TButton;\r
+ Button12: TButton;\r
+ Button4: TButton;\r
+ Button5: TButton;\r
+ RingtonesTabSheet: TTabSheet;\r
+ GroupBox5: TGroupBox;\r
+ Label11: TLabel;\r
+ Button1: TButton;\r
+ Button2: TButton;\r
+ Button3: TButton;\r
+ SMSTabSheet: TTabSheet;\r
+ GroupBox6: TGroupBox;\r
+ Panel2: TPanel;\r
+ Label10: TLabel;\r
+ ComboBox3: TComboBox;\r
+ ListView2: TListView;\r
+ SpeedTabSheet: TTabSheet;\r
+ GroupBox7: TGroupBox;\r
+ ListView3: TListView;\r
+ CalendarTabSheet: TTabSheet;\r
+ GroupBox8: TGroupBox;\r
+ ListView4: TListView;\r
+ SMSCTabSheet: TTabSheet;\r
+ GroupBox9: TGroupBox;\r
+ ListView6: TListView;\r
+ CallerTabSheet: TTabSheet;\r
+ GroupBox10: TGroupBox;\r
+ ListView5: TListView;\r
+ ProfileTabSheet: TTabSheet;\r
+ GroupBox13: TGroupBox;\r
+ ListView7: TListView;\r
+ Panel3: TPanel;\r
+ Splitter2: TSplitter;\r
+ GroupBox15: TGroupBox;\r
+ GroupBox16: TGroupBox;\r
+ Button13: TButton;\r
+ Button14: TButton;\r
+ Label15: TLabel;\r
+ Edit1: TEdit;\r
+ Edit2: TEdit;\r
+ Button16: TButton;\r
+ CalendarPopupMenu: TPopupMenu;\r
+ New1: TMenuItem;\r
+ Edit3: TMenuItem;\r
+ Delete1: TMenuItem;\r
+ SMSPopupMenu: TPopupMenu;\r
+ Edit4: TMenuItem;\r
+ Memo1: TMemo;\r
+ Memo2: TMemo;\r
+ New2: TMenuItem;\r
+ Label14: TLabel;\r
+ Label16: TLabel;\r
+ WapBookTabSheet: TTabSheet;\r
+ GroupBox17: TGroupBox;\r
+ DateTimePicker1: TDateTimePicker;\r
+ ConfigTabSheet: TTabSheet;\r
+ GroupBox18: TGroupBox;\r
+ Configuration1: TMenuItem;\r
+ N1: TMenuItem;\r
+ Delete2: TMenuItem;\r
+ SMSCPopupMenu: TPopupMenu;\r
+ Edit5: TMenuItem;\r
+ Label3: TLabel;\r
+ ComboBox4: TComboBox;\r
+ Label12: TLabel;\r
+ ComboBox5: TComboBox;\r
+ Label13: TLabel;\r
+ CheckBox2: TCheckBox;\r
+ Label17: TLabel;\r
+ Label18: TLabel;\r
+ PBKPopupMenu: TPopupMenu;\r
+ Edit7: TMenuItem;\r
+ Button17: TButton;\r
+ SMS1: TMenuItem;\r
+ Button18: TButton;\r
+ SMSSendSave1: TMenuItem;\r
+ ComboBox6: TComboBox;\r
+ WAPSettTabSheet: TTabSheet;\r
+ DivertTabSheet: TTabSheet;\r
+ GroupBox19: TGroupBox;\r
+ GroupBox20: TGroupBox;\r
+ Timer2: TTimer;\r
+ ListView9: TListView;\r
+ AboutTabSheet: TTabSheet;\r
+ GroupBox21: TGroupBox;\r
+ Label19: TLabel;\r
+ Label20: TLabel;\r
+ PCSMSTabSheet: TTabSheet;\r
+ GroupBox22: TGroupBox;\r
+ Panel4: TPanel;\r
+ Splitter3: TSplitter;\r
+ Panel5: TPanel;\r
+ ListView10: TListView;\r
+ CopytoPC1: TMenuItem;\r
+ N2: TMenuItem;\r
+ Memo4: TMemo;\r
+ Memo5: TMemo;\r
+ PCSMSPopupMenu: TPopupMenu;\r
+ SendSave1: TMenuItem;\r
+ N3: TMenuItem;\r
+ Delete3: TMenuItem;\r
+ Label21: TLabel;\r
+ ComboBox7: TComboBox;\r
+ Label22: TLabel;\r
+ Edit6: TEdit;\r
+ Label23: TLabel;\r
+ Edit8: TEdit;\r
+ Label24: TLabel;\r
+ ComboBox8: TComboBox;\r
+ Label25: TLabel;\r
+ ComboBox9: TComboBox;\r
+ Label26: TLabel;\r
+ ComboBox10: TComboBox;\r
+ Label27: TLabel;\r
+ Edit9: TEdit;\r
+ Label28: TLabel;\r
+ Edit10: TEdit;\r
+ Label29: TLabel;\r
+ Edit11: TEdit;\r
+ Label30: TLabel;\r
+ Edit12: TEdit;\r
+ Label31: TLabel;\r
+ ComboBox11: TComboBox;\r
+ Label32: TLabel;\r
+ ComboBox12: TComboBox;\r
+ Label33: TLabel;\r
+ ComboBox13: TComboBox;\r
+ Label34: TLabel;\r
+ Edit13: TEdit;\r
+ Label35: TLabel;\r
+ Edit14: TEdit;\r
+ Label36: TLabel;\r
+ Edit15: TEdit;\r
+ Label37: TLabel;\r
+ ComboBox14: TComboBox;\r
+ Memo3: TMemo;\r
+ PageControl2: TPageControl;\r
+ TabSheet1: TTabSheet;\r
+ Button19: TButton;\r
+ Label38: TLabel;\r
+ Edit16: TEdit;\r
+ Label39: TLabel;\r
+ Edit17: TEdit;\r
+ Label40: TLabel;\r
+ ComboBox15: TComboBox;\r
+ Label41: TLabel;\r
+ Edit18: TEdit;\r
+ Button20: TButton;\r
+ PCCalendarTabSheet: TTabSheet;\r
+ GroupBox23: TGroupBox;\r
+ ListView11: TListView;\r
+ N4: TMenuItem;\r
+ CopytoPC2: TMenuItem;\r
+ PCCalendarPopupMenu: TPopupMenu;\r
+ Copytocalendar1: TMenuItem;\r
+ N5: TMenuItem;\r
+ Delete5: TMenuItem;\r
+ PCOfflineTabSheet: TTabSheet;\r
+ GroupBox24: TGroupBox;\r
+ Label42: TLabel;\r
+ Label43: TLabel;\r
+ Label44: TLabel;\r
+ Label45: TLabel;\r
+ TabSheet2: TTabSheet;\r
+ TabSheet3: TTabSheet;\r
+ N6: TMenuItem;\r
+ Savebackuptofile1: TMenuItem;\r
+ Restorebackupfromfile1: TMenuItem;\r
+ N7: TMenuItem;\r
+ Savephonebooktofileanotherapplication1: TMenuItem;\r
+ PCPBKTabSheet: TTabSheet;\r
+ GroupBox25: TGroupBox;\r
+ ListView12: TListView;\r
+ Edit19: TMenuItem;\r
+ N10: TMenuItem;\r
+ Delete4: TMenuItem;\r
+ Button22: TButton;\r
+ WAPBookPopupMenu: TPopupMenu;\r
+ New20: TMenuItem;\r
+ SMSSendSave2: TMenuItem;\r
+ N8: TMenuItem;\r
+ Edit20: TMenuItem;\r
+ Button23: TButton;\r
+ CopyphonebooktoPC1: TMenuItem;\r
+ procedure TreeView1MouseDown(Sender: TObject; Button: TMouseButton;\r
+ Shift: TShiftState; X, Y: Integer);\r
+ procedure FormCreate(Sender: TObject);\r
+ procedure Timer1Timer(Sender: TObject);\r
+ procedure NetmonitorTabSheetShow(Sender: TObject);\r
+ procedure NetmonitorTabSheetHide(Sender: TObject);\r
+ procedure SpinEdit1Change(Sender: TObject);\r
+ procedure ComboBox1Change(Sender: TObject);\r
+ procedure PhonebookTabSheetHide(Sender: TObject);\r
+ procedure Quit1Click(Sender: TObject);\r
+ procedure FormResize(Sender: TObject);\r
+ procedure About1Click(Sender: TObject);\r
+ procedure LogosImageMouseMove(Sender: TObject; Shift: TShiftState; X,\r
+ Y: Integer);\r
+ procedure Button1Click(Sender: TObject);\r
+ procedure Button4Click(Sender: TObject);\r
+ procedure Button3Click(Sender: TObject);\r
+ procedure PhoneTabSheetShow(Sender: TObject);\r
+ procedure Button2Click(Sender: TObject);\r
+ procedure LogosTabSheetShow(Sender: TObject);\r
+ procedure ComboBox2Select(Sender: TObject);\r
+ procedure Button7Click(Sender: TObject);\r
+ procedure LogosImageMouseDown(Sender: TObject; Button: TMouseButton;\r
+ Shift: TShiftState; X, Y: Integer);\r
+ procedure Button6Click(Sender: TObject);\r
+ procedure Button5Click(Sender: TObject);\r
+ procedure Button8Click(Sender: TObject);\r
+ procedure SpeedTabSheetShow(Sender: TObject);\r
+ procedure Button9Click(Sender: TObject);\r
+ procedure SpeedTabSheetHide(Sender: TObject);\r
+ procedure Button11Click(Sender: TObject);\r
+ procedure Button12Click(Sender: TObject);\r
+ procedure CalendarTabSheetShow(Sender: TObject);\r
+ procedure CallerTabSheetShow(Sender: TObject);\r
+ procedure SMSCTabSheetShow(Sender: TObject);\r
+ procedure Button10Click(Sender: TObject);\r
+ procedure ProfileTabSheetShow(Sender: TObject);\r
+ procedure SMSCTabSheetHide(Sender: TObject);\r
+ procedure CalendarTabSheetHide(Sender: TObject);\r
+ procedure CallerTabSheetHide(Sender: TObject);\r
+ procedure ProfileTabSheetHide(Sender: TObject);\r
+ procedure PhonebookTabSheetShow(Sender: TObject);\r
+ procedure SMSTabSheetShow(Sender: TObject);\r
+ procedure ComboBox3Change(Sender: TObject);\r
+ procedure ListView2SelectItem(Sender: TObject; Item: TListItem;\r
+ Selected: Boolean);\r
+ procedure New1Click(Sender: TObject);\r
+ procedure Edit3Click(Sender: TObject);\r
+ procedure ListView4SelectItem(Sender: TObject; Item: TListItem;\r
+ Selected: Boolean);\r
+ procedure Delete1Click(Sender: TObject);\r
+ procedure Button16Click(Sender: TObject);\r
+ procedure Edit4Click(Sender: TObject);\r
+ procedure New2Click(Sender: TObject);\r
+ procedure Configuration1Click(Sender: TObject);\r
+ procedure TreeView1KeyUp(Sender: TObject; var Key: Word;\r
+ Shift: TShiftState);\r
+ procedure SMSTabSheetHide(Sender: TObject);\r
+ procedure SMSPopupMenuPopup(Sender: TObject);\r
+ procedure CalendarPopupMenuPopup(Sender: TObject);\r
+ procedure Edit1Change(Sender: TObject);\r
+ procedure Delete2Click(Sender: TObject);\r
+ procedure Edit5Click(Sender: TObject);\r
+ procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;\r
+ Shift: TShiftState; X, Y: Integer);\r
+ procedure SMSCPopupMenuPopup(Sender: TObject);\r
+ procedure ListView6SelectItem(Sender: TObject; Item: TListItem;\r
+ Selected: Boolean);\r
+ procedure ListView1SelectItem(Sender: TObject; Item: TListItem;\r
+ Selected: Boolean);\r
+ procedure Edit7Click(Sender: TObject);\r
+ procedure Button18Click(Sender: TObject);\r
+ procedure Button17Click(Sender: TObject);\r
+ procedure SMS1Click(Sender: TObject);\r
+ procedure SMSSendSave1Click(Sender: TObject);\r
+ procedure Button13Click(Sender: TObject);\r
+ procedure Button14Click(Sender: TObject);\r
+ procedure ConfigTabSheetHide(Sender: TObject);\r
+ procedure ConfigTabSheetShow(Sender: TObject);\r
+ procedure Timer2Timer(Sender: TObject);\r
+ procedure AboutTabSheetShow(Sender: TObject);\r
+ procedure PCSMSTabSheetShow(Sender: TObject);\r
+ procedure CopytoPC1Click(Sender: TObject);\r
+ procedure ListView10SelectItem(Sender: TObject; Item: TListItem;\r
+ Selected: Boolean);\r
+ procedure PCSMSPopupMenuPopup(Sender: TObject);\r
+ procedure Delete3Click(Sender: TObject);\r
+ procedure SendSave1Click(Sender: TObject);\r
+ procedure WapBookTabSheetHide(Sender: TObject);\r
+ procedure WapBookTabSheetShow(Sender: TObject);\r
+ procedure ComboBox7Change(Sender: TObject);\r
+ procedure Button19Click(Sender: TObject);\r
+ procedure Button20Click(Sender: TObject);\r
+ procedure PCOfflineTabSheetShow(Sender: TObject);\r
+ procedure PCCalendarTabSheetShow(Sender: TObject);\r
+ procedure CopytoPC2Click(Sender: TObject);\r
+ procedure Delete5Click(Sender: TObject);\r
+ procedure Copytocalendar1Click(Sender: TObject);\r
+ procedure PCCalendarPopupMenuPopup(Sender: TObject);\r
+ procedure Savebackuptofile1Click(Sender: TObject);\r
+ procedure Restorebackupfromfile1Click(Sender: TObject);\r
+ procedure PBKPopupMenuPopup(Sender: TObject);\r
+ procedure Savephonebooktofileanotherapplication1Click(Sender: TObject);\r
+ procedure ListView4DblClick(Sender: TObject);\r
+ procedure Edit19Click(Sender: TObject);\r
+ procedure Delete4Click(Sender: TObject);\r
+ procedure Button22Click(Sender: TObject);\r
+ procedure New20Click(Sender: TObject);\r
+ procedure ListView9SelectItem(Sender: TObject; Item: TListItem;\r
+ Selected: Boolean);\r
+ procedure Edit20Click(Sender: TObject);\r
+ procedure WAPBookPopupMenuPopup(Sender: TObject);\r
+ procedure SMSSendSave2Click(Sender: TObject);\r
+ procedure Button23Click(Sender: TObject);\r
+ procedure CopyphonebooktoPC1Click(Sender: TObject);\r
+ procedure PCPBKTabSheetShow(Sender: TObject);\r
+ private\r
+ { Private declarations }\r
+ public\r
+ { Public declarations }\r
+ end;\r
+\r
+var\r
+ MainForm: TMainForm;\r
+ setcalendarnote:GSM_CalendarNote;\r
+ setsms:GSM_MultiSMSMessage;\r
+ setsmslocation:integer;\r
+ smscselectitem:integer;\r
+ bitma:GSM_Bitmap;\r
+ rington:GSM_Ringtone;\r
+ calenda:GSM_CalendarNote;\r
+ pbk:GSM_PhonebookEntry;\r
+ previewcolor:TColor;\r
+ bookmarknum2:integer;\r
+ bookma:GSM_WAPBookmark;\r
+ wapset:GSM_WAPSettings;\r
+ pbkofflinenumber:integer;\r
+ \r
+ PhoneBackup: GSM_Backup;\r
+ PhoneBackupAvailable:boolean;\r
+\r
+procedure AddCalendarNote(note:GSM_CalendarNote;myview:TListView);\r
+function DayOFweek3(date:TDateTime):string;\r
+procedure SetSMSC(num:integer);\r
+procedure ReadPBKOffline;\r
+\r
+implementation\r
+\r
+uses Calendar, SMSEdit, LogosRing, Netmon, smscedit, pbkedit, backup,\r
+ backup2, pbkedit2, wapbook;\r
+\r
+{$R *.dfm}\r
+\r
+type\r
+ TNetmonThread = class(TThread)\r
+ public\r
+ procedure Execute; override;\r
+ end;\r
+ TPhonebookThread = class(TThread)\r
+ public\r
+ procedure Execute; override;\r
+ end;\r
+ TSpeedThread = class(TThread)\r
+ public\r
+ procedure Execute; override;\r
+ end;\r
+ TSMSCThread = class(TThread)\r
+ public\r
+ procedure Execute; override;\r
+ end;\r
+ TSMSThread = class(TThread)\r
+ public\r
+ procedure Execute; override;\r
+ end;\r
+ TCalendarThread = class(TThread)\r
+ public\r
+ procedure Execute; override;\r
+ end;\r
+ TCallerThread = class(TThread)\r
+ public\r
+ procedure Execute; override;\r
+ end;\r
+ TProfileThread = class(TThread)\r
+ public\r
+ procedure Execute; override;\r
+ end;\r
+ TPlayRingtoneThread = class(TThread)\r
+ public\r
+ procedure Execute; override;\r
+ end;\r
+ TWAPBookmarkThread = class(TThread)\r
+ public\r
+ procedure Execute; override;\r
+ end;\r
+\r
+var\r
+ //phone sheet\r
+ phoneinfo:boolean;\r
+\r
+ //reading netmonitor variables\r
+ netmonnum: integer; //number of netmon screen\r
+ NetmonThread: TNetmonThread;\r
+\r
+ //reading phonebook memories variables\r
+ phonebookstatus:GSM_MemoryStatus;\r
+ phonebookcur:integer;\r
+ phonebookfound:integer;\r
+ PhonebookThread: TPhonebookThread;\r
+ pbknumberentry:integer;\r
+ \r
+ //logos\r
+ pointsize:integer;\r
+ x2,y2:byte;\r
+ logofilename:string='xxx';\r
+\r
+ //ringtones\r
+ PlayRingtoneThread: TPlayRingtoneThread;\r
+ ringindex:integer;\r
+ binring:GSM_BinRingtone;\r
+\r
+ //speeddials\r
+ speednum:integer;\r
+ SpeedThread: TSpeedThread;\r
+\r
+ //caller groups\r
+ caller:array[1..5] of GSM_Bitmap;\r
+ callerinit:boolean;\r
+ callernum:integer;\r
+ CallerThread: TCallerThread;\r
+\r
+ //smsc\r
+ smscnum:integer;\r
+ SMSCThread: TSMSCThread;\r
+ smscinit: boolean;\r
+ SMSC2:array[1..10] of GSM_MessageCenter;\r
+\r
+ //calendar\r
+ calendarnum:integer;\r
+ CalendarThread: TCalendarThread;\r
+ calendarselect:integer;\r
+ readcalendar:boolean;\r
+\r
+ CalendarOffline:array[1..300] of GSM_CalendarNote;\r
+ CalendarOfflineNumber:integer;\r
+\r
+ //profiles\r
+ profilenum:integer;\r
+ ProfileThread: TProfileThread;\r
+\r
+ SMS:array[1..200] of GSM_SMSMessage;\r
+ SMSnum:integer;\r
+ SMSfolders:GSM_SMSFolders;\r
+ SMSstatus:GSM_SMSStatus;\r
+ smsnumindex:integer;\r
+ SMSThread: TSMSThread;\r
+ smsnum2:integer;\r
+\r
+ SMSOffline:array[1..300] of GSM_SMSMessage;\r
+ SMSOfflineNumber:integer;\r
+\r
+ //wap bookmarks\r
+ WAPBookmarkThread: TWAPBookmarkThread;\r
+ bookmarknum:integer;\r
+\r
+function Inttostr2(I: Longint;digits:integer): string;\r
+\r
+{ Convert any integer type to a string }\r
+var\r
+ S: string[11];\r
+ j:integer;\r
+begin\r
+ Str(I:digits, S);\r
+ for j:=1 to 11 do\r
+ begin\r
+ if s[j]<>' ' then break;\r
+ s[j]:='0';\r
+ end;\r
+ Result:= S;\r
+end;\r
+\r
+function DayOFweek3(date:TDateTime):string;\r
+var\r
+ days: array[1..7] of string;\r
+begin\r
+ days[1] := 'Sun';\r
+ days[2] := 'Mon';\r
+ days[3] := 'Tue';\r
+ days[4] := 'Wed';\r
+ days[5] := 'Thu';\r
+ days[6] := 'Fri';\r
+ days[7] := 'Sat';\r
+ DayOfWeek3:= days[DayOfWeek(date)];\r
+end;\r
+\r
+function DayOFweek2(day:integer;month:integer;year:integer):string;\r
+var\r
+ date:TDateTime;\r
+begin\r
+ Date:=EncodeDate(Year,Month,Day);\r
+ DayOfWeek2:= DayOfWeek3(Date);\r
+end;\r
+\r
+procedure SetSMSC(num:integer);\r
+begin\r
+ SMSEditForm.Edit1.Text:=SMSC2[num].Number;\r
+ case SMSC2[num].Validity of\r
+ GSMV_1_Hour : SMSEditForm.ComboBox3.ItemIndex:=0;\r
+ GSMV_6_Hours : SMSEditForm.ComboBox3.ItemIndex:=1;\r
+ GSMV_24_Hours : SMSEditForm.ComboBox3.ItemIndex:=2;\r
+ GSMV_72_Hours : SMSEditForm.ComboBox3.ItemIndex:=3;\r
+ GSMV_1_Week : SMSEditForm.ComboBox3.ItemIndex:=4;\r
+ else\r
+ SMSEditForm.ComboBox3.ItemIndex:=5;\r
+\r
+ end;\r
+ case SMSC2[num].Format of\r
+ GSMF_Text : SMSEditForm.ComboBox4.ItemIndex:=0;\r
+ GSMF_Fax : SMSEditForm.ComboBox4.ItemIndex:=1;\r
+ GSMF_Email : SMSEditForm.ComboBox4.ItemIndex:=2;\r
+ else\r
+ SMSEditForm.ComboBox4.ItemIndex:=3;\r
+ end;\r
+end;\r
+\r
+procedure ReadPBKOffline;\r
+var F:file of GSM_PhonebookEntry;\r
+begin\r
+ AssignFile(F, 'gnokiipbk');\r
+ Reset(F);\r
+ if (ioresult=0) then\r
+ begin\r
+ phonebackup.PhonePhonebookUsed:=0;\r
+ pbkofflinenumber:=0;\r
+ while not eof(f) do\r
+ begin\r
+ pbkofflinenumber:=pbkofflinenumber+1;\r
+ read(f,PhoneBackup.PhonePhonebook[pbkofflinenumber]);\r
+ end;\r
+ CloseFile(F);\r
+ end;\r
+end;\r
+\r
+procedure SavePBKOffline;\r
+var F:file of GSM_PhonebookEntry;\r
+ i:integer;\r
+begin\r
+ AssignFile(F, 'gnokiipbk');\r
+ Rewrite(F);\r
+ for i:=1 to PBKOfflineNumber do\r
+ begin\r
+ Write(f,PhoneBackup.PhonePhonebook[i]);\r
+ end;\r
+ CloseFile(F);\r
+end;\r
+\r
+procedure AddSMSEditSenderList;\r
+var i,j:integer;\r
+begin\r
+ ReadPBKOffline;\r
+ SMSEditForm.ComboBox9.Items.Clear;\r
+ SMSEditForm.ComboBox9.Sorted:=false;\r
+ for i:=1 to PBKOfflineNumber do\r
+ begin\r
+ if (PhoneBackup.PhonePhonebook[i].Number[1]<>chr(0)) then\r
+ begin\r
+ SMSEditForm.ComboBox9.Items.Add(PhoneBackup.PhonePhonebook[i].Name);\r
+ end else\r
+ begin\r
+ for j:=1 to PhoneBackup.PhonePhonebook[i].SubEntriesCount do\r
+ begin\r
+ if PhoneBackup.PhonePhonebook[i].SubEntries[j].EntryType=GSM_Number then\r
+ begin\r
+ SMSEditForm.ComboBox9.Items.Add(PhoneBackup.PhonePhonebook[i].Name);\r
+ break;\r
+ end;\r
+ end;\r
+ end;\r
+ end;\r
+ SMSEditForm.ComboBox9.Sorted:=true;\r
+end;\r
+\r
+procedure ReadCallerGroup();\r
+var\r
+ logo:GSM_Bitmap;\r
+ name:Pchar;\r
+ i:integer;\r
+begin\r
+ if callernum<6 then\r
+ begin\r
+ i:=1;\r
+ while i<>0 do\r
+ begin\r
+ logo.type2:=GSM_CallerLogo;\r
+ logo.number:=callernum-1;\r
+ MainForm.Timer2.Enabled:=false;\r
+ i:=GSM_GetBitmap(@logo);\r
+ MainForm.Timer2.Enabled:=true;\r
+ end;\r
+ caller[callernum]:=logo;\r
+ MainForm.ListView5.Items.Add;\r
+ MainForm.ListView5.Items.Item[callernum-1].Caption:=inttostr(callernum);\r
+ if logo.text[1]=chr(0) then\r
+ begin\r
+ name:='';\r
+ case callernum of\r
+ 1:name:='Family';\r
+ 2:name:='VIP';\r
+ 3:name:='Friends';\r
+ 4:name:='Colleagues';\r
+ 5:name:='Other';\r
+ end;\r
+ for i:=1 to 255 do\r
+ begin\r
+ caller[callernum].text[i]:=chr(0);\r
+ end;\r
+ for i:=1 to strlen(name) do\r
+ begin\r
+ caller[callernum].text[i]:=name[i-1];\r
+ end;\r
+ end;\r
+ MainForm.ListView5.Items.Item[callernum-1].Subitems.Add(caller[callernum].text);\r
+ if logo.ringtone=16 then\r
+ MainForm.ListView5.Items.Item[callernum-1].Subitems.Add('default')\r
+ else\r
+ MainForm.ListView5.Items.Item[callernum-1].Subitems.Add(inttostr(logo.ringtone));\r
+ if logo.enabled<>0 then\r
+ MainForm.ListView5.Items.Item[callernum-1].Subitems.Add('logo enabled')\r
+ else\r
+ MainForm.ListView5.Items.Item[callernum-1].Subitems.Add('logo disabled');\r
+ end else callerinit:=true;\r
+ callernum:=callernum+1;\r
+end;\r
+\r
+procedure ReadAllCallerGroups();\r
+begin\r
+ if (GSM_GetModelFeature(FN_CALLERGROUPS)<>0) then\r
+ begin\r
+ if callerinit=false then\r
+ begin\r
+ MainForm.ListView5.Items.Clear;\r
+ callernum:=1;\r
+ while callerinit=false do\r
+ begin\r
+ ReadCallerGroup();\r
+ if callerinit then break;\r
+ end;\r
+ end;\r
+ end else\r
+ begin\r
+ end;\r
+end;\r
+\r
+//logos sheet\r
+procedure UpdatePointBitmap(i,j:integer);\r
+begin\r
+ if GSM_IsPointBitmap(@bitma,i,j)<>0 then\r
+ begin\r
+ MainForm.LogosImage.Canvas.Brush.Color := clBlack;\r
+ MainForm.Image1.Canvas.Pen.Color := clBlack;\r
+ end else\r
+ begin\r
+ MainForm.LogosImage.Canvas.Brush.Color := PreviewColor;//$0063cf63\r
+ MainForm.Image1.Canvas.Pen.Color := PreviewColor;\r
+ end;\r
+ MainForm.LogosImage.Canvas.FillRect(Rect(i*pointsize+i,j*pointsize+j,(i+1)*pointsize+i,(j+1)*pointsize+j));\r
+ MainForm.Image1.Canvas.Polyline([Point(28+i, 145+j), Point(29+i,146+j)]);\r
+end;\r
+\r
+procedure DrawBitmap();\r
+var\r
+ xsize:integer;\r
+ ysize:integer;\r
+ i,j:integer;\r
+begin\r
+ MainForm.StatusBar1.Panels[0].Text:=inttostr(bitma.width);\r
+ xsize:=bitma.width;\r
+ ysize:=bitma.heigh;\r
+\r
+ MainForm.LogosImage.Canvas.Brush.Style := bsSolid;\r
+ MainForm.LogosImage.Canvas.Brush.Color := clScrollBar;\r
+\r
+ MainForm.LogosImage.Canvas.Pen.Mode := pmCopy;\r
+\r
+ MainForm.LogosImage.Canvas.Pen.Color := clScrollBar;\r
+ MainForm.LogosImage.Canvas.Rectangle(0,0,MainForm.LogosImage.Width,MainForm.LogosImage.Height);\r
+\r
+ MainForm.LogosImage.Canvas.Pen.Color := PreviewColor;\r
+ MainForm.LogosImage.Canvas.Rectangle(0,0,xsize*pointsize+xsize-1,ysize*pointsize+ysize-1);\r
+\r
+ MainForm.LogosImage.Canvas.Brush.Color := PreviewColor;\r
+ MainForm.LogosImage.Canvas.FloodFill(2,2,PreviewColor,fsBorder);\r
+\r
+ MainForm.LogosImage.Canvas.Pen.Color := clBlack;\r
+\r
+ for i:=0 to xsize do\r
+ begin\r
+ MainForm.LogosImage.Canvas.MoveTo(i*pointsize+i-1,0);\r
+ MainForm.LogosImage.Canvas.LineTo(i*pointsize+i-1,ysize*pointsize+ysize-1);\r
+ end;\r
+ for i:=0 to ysize do\r
+ begin\r
+ MainForm.LogosImage.Canvas.MoveTo(0,i*pointsize+i-1);\r
+ MainForm.LogosImage.Canvas.LineTo(xsize*pointsize+xsize-1,i*pointsize+i-1);\r
+ end;\r
+\r
+ MainForm.Image1.Picture.Assign(MainForm.Image2.Picture);\r
+ MainForm.Image1.Canvas.Pen.Mode := pmCopy;\r
+ for i:=0 to xsize-1 do\r
+ begin\r
+ for j:=0 to ysize-1 do\r
+ begin\r
+ UpdatePointBitmap(i,j);\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.Image1MouseDown(Sender: TObject; Button: TMouseButton;\r
+ Shift: TShiftState; X, Y: Integer);\r
+var\r
+ sr: TSearchRec;\r
+ filefound:integer;\r
+begin\r
+ filefound:=0;\r
+ if FindFirst(ExtractFilePath(Application.ExeName)+'\*bmp', faAnyFile, sr) = 0 then\r
+ begin\r
+ repeat\r
+ if (sr.Attr and faAnyFile) = sr.Attr then\r
+ begin\r
+ if sr.Size=57814 then\r
+ begin\r
+ case filefound of\r
+ 1:begin\r
+ Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\'+sr.name);\r
+ PreviewColor:=Image2.Canvas.Pixels[70,170];\r
+ DrawBitmap;\r
+ filefound:=2;\r
+ logofilename:=sr.name;\r
+ end;\r
+ 0:if logofilename=sr.Name then filefound:=1;\r
+ end;\r
+ if filefound=2 then break;\r
+ end;\r
+ end;\r
+ until FindNext(sr) <> 0;\r
+ FindClose(sr);\r
+ end;\r
+ if filefound<>2 then\r
+ begin\r
+ if FindFirst(ExtractFilePath(Application.ExeName)+'\*bmp', faAnyFile, sr) = 0 then\r
+ begin\r
+ Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\'+sr.name);\r
+ DrawBitmap;\r
+ logofilename:=sr.name;\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure LogosMousePos(x,y:integer);\r
+var\r
+ i:integer;\r
+begin\r
+ i:=0;x2:=0;\r
+ while i<=x do\r
+ begin\r
+ i:=i+pointsize+1;\r
+ x2:=x2+1;\r
+ end;\r
+ i:=0;y2:=0;\r
+ while i<=y do\r
+ begin\r
+ i:=i+pointsize+1;\r
+ y2:=y2+1;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.ComboBox2Select(Sender: TObject);\r
+var\r
+ bittype:integer;\r
+begin\r
+ case ComboBox2.ItemIndex of\r
+ 0:bittype:=GSM_CallerLogo;\r
+ 1:begin\r
+ bittype:=GSM_OperatorLogo;\r
+ if GSMPhoneConnected then\r
+ begin\r
+ case GSM_GetModelFeature(FN_STARTUP) of\r
+ F_STA62:bittype:=GSM_7110OperatorLogo;\r
+ F_STA71:bittype:=GSM_7110OperatorLogo;\r
+ end;\r
+ end;\r
+ end;\r
+ 2:bittype:=GSM_PictureImage;\r
+ 3:begin\r
+ bittype:=GSM_StartupLogo;\r
+ if GSMPhoneConnected then\r
+ begin\r
+ case GSM_GetModelFeature(FN_STARTUP) of\r
+ F_STA62:bittype:=GSM_6210StartupLogo;\r
+ F_STA71:bittype:=GSM_7110StartupLogo;\r
+ end;\r
+ end;\r
+ end;\r
+ else\r
+ bittype:=GSM_StartupLogo;\r
+ if GSMPhoneConnected then\r
+ begin\r
+ case GSM_GetModelFeature(FN_STARTUP) of\r
+ F_STA62:bittype:=GSM_6210StartupLogo;\r
+ F_STA71:bittype:=GSM_7110StartupLogo;\r
+ end;\r
+ end;\r
+ end;\r
+ GSM_ResizeBitmap(@bitma,bittype);\r
+ DrawBitmap();\r
+ if (bitma.type2<>GSM_OperatorLogo) and\r
+ (bitma.type2<>GSM_7110OperatorLogo) then\r
+ Button8.Enabled:=false\r
+ else\r
+ Button8.Enabled:=true;\r
+end;\r
+\r
+procedure TMainForm.LogosImageMouseMove(Sender: TObject; Shift: TShiftState;\r
+ X, Y: Integer);\r
+begin\r
+ LogosMousePos(x,y);\r
+ if x2<=bitma.width then\r
+ begin\r
+ if y2<=bitma.heigh then\r
+ MainForm.StatusBar1.Panels[0].Text:=inttostr(x2)+','+inttostr(y2)\r
+ else\r
+ MainForm.StatusBar1.Panels[0].Text:='';\r
+ end else\r
+ MainForm.StatusBar1.Panels[0].Text:='';\r
+end;\r
+\r
+procedure TMainForm.LogosTabSheetShow(Sender: TObject);\r
+begin\r
+ DrawBitmap();\r
+end;\r
+\r
+procedure TMainForm.Button7Click(Sender: TObject);\r
+var\r
+ i:integer;\r
+begin\r
+ LogosRingForm.Label1.Caption:='What logo do you want to get ?';\r
+ LogosRingForm.ComboBox3.Items.Clear;\r
+ case bitma.type2 of\r
+ GSM_CallerLogo:\r
+ begin\r
+ LogosRingForm.ComboBox3.Visible:=true;\r
+ ReadAllCallerGroups();\r
+ for i:=1 to 5 do\r
+ begin\r
+ LogosRingForm.ComboBox3.Items.Add(caller[i].text);\r
+ end;\r
+ LogosRingForm.ComboBox3.ItemIndex:=0;\r
+ LogosRingForm.ShowModal();\r
+ if (LogosRingForm.ComboBox3.Visible) then\r
+ begin\r
+ bitma.number:=LogosRingForm.ComboBox3.ItemIndex;\r
+ MainForm.Timer2.Enabled:=false;\r
+ GSM_GetBitmap(@bitma);\r
+ MainForm.Timer2.Enabled:=true;\r
+ DrawBitmap();\r
+ end;\r
+ end;\r
+ GSM_PictureImage:\r
+ begin\r
+ LogosRingForm.ComboBox3.Visible:=true;\r
+ for i:=1 to 20 do\r
+ begin\r
+ LogosRingForm.ComboBox3.Items.Add('Location '+inttostr(i));\r
+ end;\r
+ LogosRingForm.ComboBox3.ItemIndex:=0;\r
+ LogosRingForm.ShowModal();\r
+ if (LogosRingForm.ComboBox3.Visible) then\r
+ begin\r
+ bitma.number:=LogosRingForm.ComboBox3.ItemIndex;\r
+ MainForm.Timer2.Enabled:=false;\r
+ GSM_GetBitmap(@bitma);\r
+ MainForm.Timer2.Enabled:=true;\r
+ DrawBitmap();\r
+ end;\r
+ end;\r
+ else\r
+ begin\r
+ MainForm.Timer2.Enabled:=false;\r
+ GSM_GetBitmap(@bitma);\r
+ MainForm.Timer2.Enabled:=true;\r
+ DrawBitmap();\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.Button4Click(Sender: TObject);\r
+var\r
+ bit:GSM_Bitmap;\r
+begin\r
+ if OpenDialog1.Execute then\r
+ begin\r
+ if GSM_ReadBitmapFile(PChar(OpenDialog1.FileName),@bit)=0 then\r
+ begin\r
+ bitma:=bit;\r
+ DrawBitmap();\r
+ case bitma.type2 of\r
+ GSM_CallerLogo :ComboBox2.ItemIndex:=0;\r
+ GSM_OperatorLogo:ComboBox2.ItemIndex:=1;\r
+ GSM_7110OperatorLogo:ComboBox2.ItemIndex:=1;\r
+ GSM_PictureImage:ComboBox2.ItemIndex:=2;\r
+ GSM_StartupLogo :ComboBox2.ItemIndex:=3;\r
+ GSM_7110StartupLogo :ComboBox2.ItemIndex:=3;\r
+ GSM_6210StartupLogo :ComboBox2.ItemIndex:=3;\r
+ end;\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.LogosImageMouseDown(Sender: TObject; Button: TMouseButton;\r
+ Shift: TShiftState; X, Y: Integer);\r
+begin\r
+ LogosMousePos(x,y);\r
+ if x2<=bitma.width then\r
+ begin\r
+ if y2<=bitma.heigh then\r
+ begin\r
+ if ssLeft in Shift then\r
+ GSM_SetPointBitmap(@bitma,x2-1,y2-1)\r
+ else\r
+ GSM_ClearPointBitmap(@bitma,x2-1,y2-1);\r
+\r
+ UpdatePointBitmap(x2-1,y2-1);\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.Button6Click(Sender: TObject);\r
+var\r
+ i,j:integer;\r
+ Name,Data:array[1..255] of char;\r
+ oldbitma:GSM_Bitmap;\r
+begin\r
+ LogosRingForm.Label1.Caption:='Do you want to set logo ?';\r
+ LogosRingForm.ComboBox3.Items.Clear;\r
+ case bitma.type2 of\r
+ GSM_StartupLogo:\r
+ begin\r
+ LogosRingForm.ComboBox3.Visible:=false;\r
+ LogosRingForm.ShowModal();\r
+ if (LogosRingForm.ComboBox3.Visible) then\r
+ GSM_SetBitmap(@bitma);\r
+ end;\r
+ GSM_7110OperatorLogo:\r
+ begin\r
+ LogosRingForm.ComboBox3.Visible:=true;\r
+ LogosRingForm.ComboBox3.Items.Add('Preview');\r
+ //preparing network names\r
+ i:=0;\r
+ while true do\r
+ begin\r
+ GSM_GetNetworkData(i,@Name,@Data);\r
+\r
+ // conversion problems\r
+ Label14.Caption:=Name;\r
+ if strcomp(PChar(Label14.Caption),PChar('unknown'))=0 then break;\r
+\r
+ // conversion problems\r
+ Label14.Caption:=' - '+Label14.Caption;\r
+ for j:=6 downto 1 do\r
+ begin\r
+ Label14.Caption:=Data[j]+Label14.Caption;\r
+ end;\r
+\r
+ LogosRingForm.ComboBox3.Items.Add(Pchar(Label14.Caption));\r
+ i:=i+1;\r
+ end;\r
+ //looking for current network\r
+ if GSMPhoneConnected then\r
+ begin\r
+ // conversion problems\r
+ Label14.Caption:=MainForm.StatusBar1.Panels[1].Text;\r
+ Label14.Caption:=' - '+Label14.Caption;\r
+ for j:=6 downto 1 do\r
+ begin\r
+ Label14.Caption:=GSMNetworkInfo.NetworkCode[j]+Label14.Caption;\r
+ end;\r
+\r
+ i:=1;\r
+ while true do\r
+ begin\r
+ if strcomp(pchar(LogosRingForm.ComboBox3.Items[i]),pchar(Label14.Caption))=0\r
+ then break;\r
+ i:=i+1;\r
+ end;\r
+ LogosRingForm.ComboBox3.ItemIndex:=i;\r
+ end;\r
+ LogosRingForm.ShowModal();\r
+ if (LogosRingForm.ComboBox3.Visible) then\r
+ begin\r
+ if LogosRingForm.ComboBox3.ItemIndex=0 then\r
+ begin\r
+ bitma.number:=255;\r
+ for i:=1 to 6 do\r
+ begin\r
+ bitma.netcode[i]:=GSMNetworkInfo.NetworkCode[i];\r
+ end;\r
+ bitma.netcode[7]:=chr(0);\r
+ end else\r
+ begin\r
+ GSM_GetNetworkData(LogosRingForm.ComboBox3.ItemIndex-1,@Name,@bitma.netcode);\r
+ end;\r
+ GSM_SetBitmap(@bitma);\r
+ end;\r
+ end;\r
+ GSM_OperatorLogo:\r
+ begin\r
+ LogosRingForm.ComboBox3.Visible:=true;\r
+ LogosRingForm.ComboBox3.Items.Add('Preview');\r
+ //preparing network names\r
+ i:=0;\r
+ while true do\r
+ begin\r
+ GSM_GetNetworkData(i,@Name,@Data);\r
+\r
+ // conversion problems\r
+ Label14.Caption:=Name;\r
+ if strcomp(PChar(Label14.Caption),PChar('unknown'))=0 then break;\r
+\r
+ // conversion problems\r
+ Label14.Caption:=' - '+Label14.Caption;\r
+ for j:=6 downto 1 do\r
+ begin\r
+ Label14.Caption:=Data[j]+Label14.Caption;\r
+ end;\r
+\r
+ LogosRingForm.ComboBox3.Items.Add(Pchar(Label14.Caption));\r
+ i:=i+1;\r
+ end;\r
+ //looking for current network\r
+ if GSMPhoneConnected then\r
+ begin\r
+ // conversion problems\r
+ Label14.Caption:=MainForm.StatusBar1.Panels[1].Text;\r
+ Label14.Caption:=' - '+Label14.Caption;\r
+ for j:=6 downto 1 do\r
+ begin\r
+ Label14.Caption:=GSMNetworkInfo.NetworkCode[j]+Label14.Caption;\r
+ end;\r
+\r
+ i:=1;\r
+ while true do\r
+ begin\r
+ if strcomp(pchar(LogosRingForm.ComboBox3.Items[i]),pchar(Label14.Caption))=0\r
+ then break;\r
+ i:=i+1;\r
+ end;\r
+ LogosRingForm.ComboBox3.ItemIndex:=i;\r
+ end;\r
+ LogosRingForm.ShowModal();\r
+ if (LogosRingForm.ComboBox3.Visible) then\r
+ begin\r
+ if LogosRingForm.ComboBox3.ItemIndex=0 then\r
+ begin\r
+ bitma.number:=255;\r
+ for i:=1 to 6 do\r
+ begin\r
+ bitma.netcode[i]:=GSMNetworkInfo.NetworkCode[i];\r
+ end;\r
+ bitma.netcode[7]:=chr(0);\r
+ end else\r
+ begin\r
+ GSM_GetNetworkData(LogosRingForm.ComboBox3.ItemIndex-1,@Name,@bitma.netcode);\r
+ end;\r
+ GSM_SetBitmap(@bitma);\r
+ end;\r
+ end;\r
+ GSM_PictureImage:\r
+ begin\r
+ LogosRingForm.ComboBox3.Visible:=true;\r
+ for i:=1 to 20 do\r
+ begin\r
+ LogosRingForm.ComboBox3.Items.Add('Location '+inttostr(i));\r
+ end;\r
+ LogosRingForm.ComboBox3.ItemIndex:=0;\r
+ LogosRingForm.ShowModal();\r
+ if (LogosRingForm.ComboBox3.Visible) then\r
+ begin\r
+ if LogosRingForm.ComboBox3.ItemIndex=0 then\r
+ begin\r
+ bitma.number:=255;\r
+ end else\r
+ begin\r
+ bitma.number:=LogosRingForm.ComboBox3.ItemIndex;\r
+ end;\r
+ GSM_SetBitmap(@bitma);\r
+ end;\r
+ end;\r
+ GSM_CallerLogo:\r
+ begin\r
+ LogosRingForm.ComboBox3.Visible:=true;\r
+ LogosRingForm.ComboBox3.Items.Add('Preview');\r
+ ReadAllCallerGroups();\r
+ for i:=1 to 5 do\r
+ begin\r
+ LogosRingForm.ComboBox3.Items.Add(caller[i].text);\r
+ end;\r
+ LogosRingForm.ComboBox3.ItemIndex:=1;\r
+ LogosRingForm.ShowModal();\r
+ if (LogosRingForm.ComboBox3.Visible) then\r
+ begin\r
+ if LogosRingForm.ComboBox3.ItemIndex=0 then\r
+ begin\r
+ bitma.number:=255;\r
+ end else\r
+ begin\r
+ bitma.number:=LogosRingForm.ComboBox3.ItemIndex-1;\r
+ //we need to get old caller group datas\r
+ oldbitma.type2:=bitma.type2;\r
+ oldbitma.number:=bitma.number;\r
+ GSM_GetBitmap(@oldbitma);\r
+ bitma.ringtone:=oldbitma.ringtone;\r
+ bitma.text:=oldbitma.text;\r
+ end;\r
+ GSM_SetBitmap(@bitma);\r
+ end;\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.Button5Click(Sender: TObject);\r
+begin\r
+ if SaveDialog1.Execute then\r
+ begin\r
+ GSM_SaveBitmapFile(PChar(SaveDialog1.FileName),@bitma);\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.Button8Click(Sender: TObject);\r
+var\r
+ bitma2:GSM_Bitmap;\r
+begin\r
+ if MessageDlg('Restore logo to default ?',\r
+ mtConfirmation, [mbYes, mbNo], 0) = mrYes then\r
+ begin\r
+ bitma2:=bitma;\r
+ bitma2.netcode[1]:='0';\r
+ bitma2.netcode[2]:='0';\r
+ bitma2.netcode[3]:='0';\r
+ bitma2.netcode[4]:=' ';\r
+ bitma2.netcode[5]:='0';\r
+ bitma2.netcode[6]:='0';\r
+ bitma2.netcode[7]:=chr(0);\r
+ GSM_ClearBitmap(@bitma2);\r
+ GSM_SetBitmap(@bitma2);\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.Button12Click(Sender: TObject);\r
+begin\r
+ GSM_ClearBitmap(@bitma);\r
+ DrawBitmap();\r
+end;\r
+\r
+//MainForm main functions\r
+procedure TMainForm.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;\r
+ Shift: TShiftState; X, Y: Integer);\r
+begin\r
+ MainForm.TreeView1.FullExpand;\r
+ case MainForm.TreeView1.Selected.ImageIndex of\r
+ 0: MainForm.PageControl1.ActivePage:=PhoneTabSheet;\r
+ 1: MainForm.PageControl1.ActivePage:=CalendarTabSheet;\r
+ 2: MainForm.PageControl1.ActivePage:=DivertTabSheet;\r
+ 3: MainForm.PageControl1.ActivePage:=CallerTabSheet;\r
+ 4: MainForm.PageControl1.ActivePage:=LogosTabSheet;\r
+ 5: MainForm.PageControl1.ActivePage:=NetmonitorTabSheet;\r
+ 6: MainForm.PageControl1.ActivePage:=PhonebookTabSheet;\r
+ 7: MainForm.PageControl1.ActivePage:=ProfileTabSheet;\r
+ 8: MainForm.PageControl1.ActivePage:=RingtonesTabSheet;\r
+ 9: MainForm.PageControl1.ActivePage:=SMSTabSheet;\r
+ 10: MainForm.PageControl1.ActivePage:=SMSCTabSheet;\r
+ 11: MainForm.PageControl1.ActivePage:=SpeedTabSheet;\r
+ 12: MainForm.PageControl1.ActivePage:=WAPBookTabSheet;\r
+ 13: MainForm.PageControl1.ActivePage:=WAPSettTabSheet;\r
+ 14: MainForm.PageControl1.ActivePage:=PCOfflineTabSheet;\r
+ 15: MainForm.PageControl1.ActivePage:=PCCalendarTabSheet;\r
+ 16: MainForm.PageControl1.ActivePage:=PCPBKTabSheet;\r
+ 17: MainForm.PageControl1.ActivePage:=PCSMSTabSheet;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.Configuration1Click(Sender: TObject);\r
+begin\r
+ MainForm.PageControl1.ActivePage:=ConfigTabSheet;\r
+end;\r
+\r
+procedure TMainForm.TreeView1KeyUp(Sender: TObject; var Key: Word;\r
+ Shift: TShiftState);\r
+begin\r
+ MainForm.TreeView1.FullExpand;\r
+end;\r
+\r
+procedure TMainForm.FormCreate(Sender: TObject);\r
+begin\r
+ MainForm.PhonebookTabSheet.TabVisible:=false;\r
+ MainForm.NetmonitorTabSheet.TabVisible:=false;\r
+ MainForm.LogosTabSheet.TabVisible:=false;\r
+ MainForm.PhoneTabSheet.TabVisible:=false;\r
+ MainForm.RingtonesTabSheet.TabVisible:=false;\r
+ MainForm.SMSTabSheet.TabVisible:=false;\r
+ MainForm.SMSCTabSheet.TabVisible:=false;\r
+ MainForm.SpeedTabSheet.TabVisible:=false;\r
+ MainForm.CalendarTabSheet.TabVisible:=false;\r
+ MainForm.CallerTabSheet.TabVisible:=false;\r
+ MainForm.ProfileTabSheet.TabVisible:=false;\r
+ MainForm.WAPBookTabSheet.TabVisible:=false;\r
+ MainForm.WAPSettTabSheet.TabVisible:=false;\r
+ MainForm.DivertTabSheet.TabVisible:=false;\r
+ MainForm.ConfigTabSheet.TabVisible:=false;\r
+ MainForm.AboutTabSheet.TabVisible:=false;\r
+ MainForm.PCSMSTabSheet.TabVisible:=false;\r
+ MainForm.PCCalendarTabSheet.TabVisible:=false;\r
+ MainForm.PCOfflineTabSheet.TabVisible:=false;\r
+ MainForm.PCPBKTabSheet.TabVisible:=false;\r
+ MainForm.PageControl1.ActivePage:=PhoneTabSheet;\r
+\r
+ PreviewColor:=Image2.Canvas.Pixels[70,170];\r
+\r
+ bitma.size:=126;\r
+ bitma.width:=72;\r
+ bitma.heigh:=14;\r
+ bitma.type2:=GSM_OperatorLogo;\r
+ GSM_ClearBitmap(@bitma);\r
+\r
+ pointsize:=3;\r
+ MainForm.LogosImage.Width:=96*pointsize+96-1;\r
+ MainForm.LogosImage.Height:=65*pointsize+65-1;\r
+\r
+ netmonnum:=1;\r
+\r
+ MainForm.Width:=660;\r
+ MainForm.Height:=470;\r
+\r
+ callerinit:=false;\r
+ phoneinfo:=false;\r
+ smscinit:=false;\r
+\r
+ smsofflinenumber:=0;\r
+ calendarofflinenumber:=0;\r
+ pbkofflinenumber:=0;\r
+ \r
+ readcalendar:=false;\r
+end;\r
+\r
+procedure TMainForm.Timer1Timer(Sender: TObject);\r
+var\r
+ NetworkName:array[1..255] of char;\r
+begin\r
+ if GSMPhoneConnected then\r
+ begin\r
+ // Here we should enable interface\r
+ GSM_GetNetworkName(@NetworkName,@GSMNetworkInfo.NetworkCode);\r
+ MainForm.StatusBar1.Panels[1].Text:=NetworkName;\r
+ if PhonebookThread=nil then\r
+ ComboBox1.Enabled:=true;\r
+\r
+ SaveBackupTofile1.Enabled:=true;\r
+ Restorebackupfromfile1.Enabled:=true;\r
+\r
+ ListView1.Enabled:=true;\r
+ NetmonGroupBox.Enabled:=true;\r
+ SpinEdit1.Enabled:=true;\r
+ Button2.Enabled:=true;\r
+ Button3.Enabled:=true;\r
+ Button6.Enabled:=true;\r
+ Button7.Enabled:=true;\r
+ Button9.Enabled:=true;\r
+ Button11.Enabled:=true;\r
+\r
+ //ringtones\r
+ Button16.Enabled:=true;\r
+ if Edit1.Text<>'' then Edit1.Enabled:=true;\r
+ if Edit2.Text<>'' then Edit2.Enabled:=true;\r
+ Button22.Enabled:=true;\r
+\r
+ If MainForm.PageControl1.ActivePage=MainForm.NetmonitorTabSheet then\r
+ NetmonitorTabSheetShow(Sender);\r
+\r
+ If MainForm.PageControl1.ActivePage=MainForm.PhoneTabSheet then\r
+ begin\r
+ if not phoneinfo then\r
+ PhoneTabSheetShow(Sender);\r
+ end;\r
+\r
+ If MainForm.PageControl1.ActivePage=MainForm.SpeedTabSheet then\r
+ begin\r
+ if speednum<>10 then\r
+ SpeedTabSheetShow(Sender);\r
+ end;\r
+\r
+ if (bitma.type2<>GSM_OperatorLogo) and\r
+ (bitma.type2<>GSM_7110OperatorLogo) then\r
+ Button8.Enabled:=false\r
+ else\r
+ Button8.Enabled:=true;\r
+\r
+ if Edit2.Text<>'' then\r
+ Button14.Enabled:=true\r
+ else\r
+ Button14.Enabled:=false;\r
+\r
+ if Edit1.Text<>'' then\r
+ begin\r
+ Button2.Enabled:=true;\r
+ Button17.Enabled:=true;\r
+ if PlayRingtoneThread<>nil then\r
+ begin\r
+ Button3.Enabled:=false;\r
+ Button16.Enabled:=true;\r
+ end\r
+ else\r
+ begin\r
+ Button3.Enabled:=true;\r
+ Button16.Enabled:=false;\r
+ end;\r
+ end else\r
+ begin\r
+ Button2.Enabled:=false;\r
+ Button17.Enabled:=false;\r
+ Button16.Enabled:=false;\r
+ Button3.Enabled:=false;\r
+ end;\r
+\r
+ Button18.Enabled:=false;\r
+ if bitma.type2=GSM_PictureImage then\r
+ Button18.Enabled:=true;\r
+ if (bitma.type2=GSM_OperatorLogo) or\r
+ (bitma.type2=GSM_7110OperatorLogo) then\r
+ Button18.Enabled:=true;\r
+ if bitma.type2=GSM_CallerLogo then\r
+ Button18.Enabled:=true;\r
+\r
+ //wap settings\r
+ WAPSettTabSheet.Enabled:=true;\r
+ if GSM_GetModelFeature(FN_WAP)=0 then\r
+ begin\r
+ Button23.Enabled:=false;\r
+ GroupBox19.Enabled:=false;\r
+ groupbox19.Ctl3D:=false;\r
+ ComboBox7.enabled:=false;\r
+ ComboBox8.enabled:=false;\r
+ ComboBox9.enabled:=false;\r
+ ComboBox10.enabled:=false;\r
+ ComboBox11.enabled:=false;\r
+ ComboBox12.enabled:=false;\r
+ ComboBox13.enabled:=false;\r
+ ComboBox14.enabled:=false;\r
+ Edit6.Enabled:=false;\r
+ Edit8.Enabled:=false;\r
+ Edit9.Enabled:=false;\r
+ Edit10.Enabled:=false;\r
+ Edit11.Enabled:=false;\r
+ Edit12.Enabled:=false;\r
+ Edit13.Enabled:=false;\r
+ Edit14.Enabled:=false;\r
+ Edit15.Enabled:=false;\r
+ end else\r
+ begin\r
+ GroupBox19.Enabled:=true;\r
+ groupbox19.Ctl3D:=true;\r
+ ComboBox7.enabled:=true;\r
+ ComboBox8.enabled:=true;\r
+ ComboBox9.enabled:=true;\r
+ ComboBox10.enabled:=true;\r
+ ComboBox11.enabled:=true;\r
+ ComboBox12.enabled:=true;\r
+ ComboBox13.enabled:=true;\r
+ ComboBox14.enabled:=true;\r
+ Edit6.Enabled:=true;\r
+ Edit8.Enabled:=true;\r
+ Edit9.Enabled:=true;\r
+ Edit10.Enabled:=true;\r
+ Edit11.Enabled:=true;\r
+ Edit12.Enabled:=true;\r
+ Edit13.Enabled:=true;\r
+ Edit14.Enabled:=true;\r
+ Edit15.Enabled:=true;\r
+ Button23.Enabled:=false;\r
+ if ComboBox7.ItemIndex<>0 then Button23.Enabled:=true;\r
+ end;\r
+\r
+ button19.Enabled:=true;\r
+ button20.Enabled:=true;\r
+ end else\r
+ begin\r
+ // Here we should disabled interface\r
+ MainForm.StatusBar1.Panels[1].Text:='Not connected';\r
+\r
+ SaveBackupTofile1.Enabled:=false;\r
+ Restorebackupfromfile1.Enabled:=false;\r
+\r
+ callerinit:=false;\r
+\r
+ MainForm.ComboBox1.Enabled:=false;\r
+ MainForm.ListView1.Enabled:=false;\r
+ MainForm.NetmonGroupBox.Enabled:=false;\r
+ MainForm.SpinEdit1.Enabled:=false;\r
+ MainForm.Button2.Enabled:=false;\r
+ MainForm.Button3.Enabled:=false;\r
+ MainForm.Button6.Enabled:=false;\r
+ MainForm.Button7.Enabled:=false;\r
+ MainForm.Button8.Enabled:=false;\r
+ MainForm.Button9.Enabled:=false;\r
+ MainForm.Button11.Enabled:=false;\r
+ Button18.Enabled:=false;\r
+\r
+ //ringtones\r
+ Button16.Enabled:=false;\r
+ Button14.Enabled:=false;\r
+ Button17.Enabled:=false;\r
+ Edit1.Enabled:=false;\r
+ Edit2.Enabled:=false;\r
+ Button22.Enabled:=false;\r
+\r
+ MainForm.NetmonitorTabSheetHide(Sender);\r
+ MainForm.PhonebookTabSheetHide(Sender);\r
+ MainForm.SpeedTabSheetHide(Sender);\r
+\r
+ //WAP settings\r
+ ComboBox7.enabled:=false;\r
+ ComboBox8.enabled:=false;\r
+ ComboBox9.enabled:=false;\r
+ ComboBox10.enabled:=false;\r
+ ComboBox11.enabled:=false;\r
+ ComboBox12.enabled:=false;\r
+ ComboBox13.enabled:=false;\r
+ ComboBox14.enabled:=false;\r
+ Edit6.Enabled:=false;\r
+ Edit8.Enabled:=false;\r
+ Edit9.Enabled:=false;\r
+ Edit10.Enabled:=false;\r
+ Edit11.Enabled:=false;\r
+ Edit12.Enabled:=false;\r
+ Edit13.Enabled:=false;\r
+ Edit14.Enabled:=false;\r
+ Edit15.Enabled:=false;\r
+ Button23.Enabled:=false;\r
+\r
+ button19.Enabled:=false;\r
+ button20.Enabled:=false;\r
+\r
+ phoneinfo:=false;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.Quit1Click(Sender: TObject);\r
+begin\r
+ if GSMPhoneConnected then GSM_Terminate();\r
+ Halt;\r
+end;\r
+\r
+procedure TMainForm.FormResize(Sender: TObject);\r
+begin\r
+ MainForm.StatusBar1.Panels[0].Width:=MainForm.Width-150;\r
+end;\r
+\r
+procedure TMainForm.About1Click(Sender: TObject);\r
+begin\r
+ AboutTabSheet.Show;\r
+end;\r
+\r
+//netmonitor sheet functions\r
+\r
+procedure TNetmonThread.Execute;\r
+var\r
+ netmon:array[1..255] of char;\r
+begin\r
+ while not Terminated do\r
+ begin\r
+ GSM_Netmonitor(netmonnum,@netmon);\r
+ MainForm.NetmonLabel.Caption:=netmon;\r
+ MainForm.NetmonGroupBox.Caption:=' Screen ' + IntToStr(netmonnum) + ' ';\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.NetmonitorTabSheetShow(Sender: TObject);\r
+begin\r
+ if NetmonThread<>nil then\r
+ else begin\r
+ if GSMPhoneConnected then\r
+ begin\r
+ MainForm.Timer2.Enabled:=false;\r
+ NetmonThread:=TNetmonThread.Create(false);\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.NetmonitorTabSheetHide(Sender: TObject);\r
+begin\r
+ if (NetmonThread<>nil) then\r
+ begin\r
+ NetmonThread.Terminate();\r
+ MainForm.Timer2.Enabled:=true;\r
+ NetmonThread:=nil;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.SpinEdit1Change(Sender: TObject);\r
+begin\r
+ netmonnum:=SpinEdit1.Value;\r
+end;\r
+\r
+procedure TMainForm.Button11Click(Sender: TObject);\r
+var\r
+ netmon:array[1..255] of char;\r
+begin\r
+ NetmonForm.ShowModal;\r
+ if NetmonForm.RadioGroup1.ItemIndex<>-1 then\r
+ begin\r
+ GSM_Netmonitor(241+NetmonForm.RadioGroup1.ItemIndex,@netmon);\r
+ end;\r
+end;\r
+\r
+//phonebook sheet functions\r
+\r
+procedure EndPhonebookThread;\r
+begin\r
+ if (PhonebookThread<>nil) then\r
+ begin\r
+ PhonebookThread.Terminate();\r
+ MainForm.Timer2.Enabled:=true;\r
+ PhonebookThread:=nil;\r
+ MainForm.ComboBox1.Enabled:=true;\r
+ end;\r
+end;\r
+\r
+procedure AddPBKEntry(MyListView:TListView;x:GSM_PhonebookEntry;number:integer);\r
+var j:integer;\r
+begin\r
+ MyListView.Items.Item[number].Subitems.Add(x.Name);\r
+\r
+ if (x.Number[1]<>chr(0)) then\r
+ MyListView.Items.Item[number].Subitems.Add(x.Number)\r
+ else begin\r
+ for j:=1 to x.SubEntriesCount do\r
+ begin\r
+ if x.SubEntries[j].EntryType=GSM_Number then\r
+ begin\r
+ MyListView.Items.Item[number].Subitems.Add(x.subentries[j].Number);\r
+ break;\r
+ end;\r
+ end;\r
+ end;\r
+\r
+ case x.Group of\r
+ 0:MyListView.Items.Item[number].Subitems.Add(caller[x.Group+1].text);\r
+ 1:MyListView.Items.Item[number].Subitems.Add(caller[x.Group+1].text);\r
+ 2:MyListView.Items.Item[number].Subitems.Add(caller[x.Group+1].text);\r
+ 3:MyListView.Items.Item[number].Subitems.Add(caller[x.Group+1].text);\r
+ 4:MyListView.Items.Item[number].Subitems.Add(caller[x.Group+1].text);\r
+ else\r
+ MyListView.Items.Item[number].Subitems.Add('not set');\r
+ end;\r
+\r
+ for j:=1 to x.SubEntriesCount do\r
+ begin\r
+ if x.SubEntries[j].EntryType=GSM_Date then\r
+ begin\r
+ MyListView.Items.Item[number].Subitems.Add(\r
+ DayOfweek2(x.SubEntries[j].Date.Day,x.SubEntries[j].Date.Month,x.SubEntries[j].Date.Year)+' '+\r
+ inttostr2(x.SubEntries[j].Date.Day,2)+'-'+inttostr2(x.SubEntries[j].Date.Month,2)+'-'+\r
+ inttostr(x.SubEntries[j].Date.Year));\r
+ MyListView.Items.Item[number].Subitems.Add(\r
+ inttostr2(x.SubEntries[j].Date.Hour,2)+':'+inttostr2(x.SubEntries[j].Date.Minute,2)+':'+\r
+ inttostr2(x.SubEntries[j].Date.Second,2));\r
+ break;\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure TPhonebookThread.Execute;\r
+var\r
+ x:GSM_PhonebookEntry;\r
+begin\r
+ while not Terminated do\r
+ begin\r
+ if (phonebookcur<phonebookstatus.Used+phonebookstatus.Free) then\r
+ begin\r
+ phonebookcur:=phonebookcur+1;\r
+ MainForm.StatusBar1.Panels[0].Text:='Reading '+inttostr(phonebookcur)+'/'+inttostr(phonebookstatus.Free+phonebookstatus.Used);\r
+ MainForm.ListView1.Items.Add;\r
+ MainForm.ListView1.Items.Item[phonebookcur-1].Caption:=inttostr(phonebookcur);\r
+ if (phonebookfound<phonebookstatus.Used) then\r
+ begin\r
+ x.MemoryType:=phonebookstatus.MemoryType;\r
+ x.Location:=phonebookcur;\r
+ if (x.MemoryType=GMT_ON) then x.Location:=x.Location-1;\r
+ if (x.MemoryType=GMT_DC) then x.Location:=x.Location-1;\r
+ if (x.MemoryType=GMT_MC) then x.Location:=x.Location-1;\r
+ if (x.MemoryType=GMT_RC) then x.Location:=x.Location-1;\r
+ if GSM_GetMemoryLocation(@x)=0 then\r
+ begin\r
+\r
+ if (x.MemoryType=GMT_ME) then\r
+ begin\r
+ PhoneBackup.PhonePhonebookUsed:=PhoneBackup.PhonePhonebookUsed+1;\r
+ end;\r
+\r
+ PBKOfflineNumber:=PBKOfflineNumber+1;\r
+ PhoneBackup.PhonePhonebook[PBKOfflineNumber]:=x;\r
+\r
+ if (x.MemoryType=GMT_SM) then\r
+ begin\r
+ PhoneBackup.SIMPhonebookUsed:=PhoneBackup.SIMPhonebookUsed+1;\r
+ PhoneBackup.SIMPhonebook[PhoneBackup.SIMPhonebookUsed]:=x;\r
+ end;\r
+ AddPBKEntry(MainForm.ListView1,x,phonebookcur-1);\r
+ if (x.Name[1]<>chr(0)) then phonebookfound:=phonebookfound+1;\r
+ end;\r
+ end;\r
+ end else\r
+ begin\r
+ MainForm.StatusBar1.Panels[0].Text:=inttostr(phonebookstatus.Used)+'/'+inttostr(phonebookstatus.Free+phonebookstatus.Used)+' entries';\r
+ EndPhonebookThread;\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.PhonebookTabSheetShow(Sender: TObject);\r
+begin\r
+ if GSMPhoneConnected then ComboBox1.Enabled:=true;\r
+end;\r
+\r
+procedure TMainForm.Button10Click(Sender: TObject);\r
+var\r
+ i:integer;\r
+ FileHandle:integer;\r
+begin\r
+ if SaveDialog1.Execute then\r
+ begin\r
+ FileHandle := FileCreate(SaveDialog1.FileName);\r
+ for i:=1 to ListView1.Items.Count do\r
+ begin\r
+ FileWrite(FileHandle,ListView1.Items.Item[i].Caption, SizeOf(ListView1.Items.Item[i].Caption));\r
+ end;\r
+ FileClose(FileHandle);\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.ComboBox1Change(Sender: TObject);\r
+begin\r
+ if (ComboBox1.ItemIndex<>0) then\r
+ begin\r
+ case ComboBox1.ItemIndex of\r
+ 1:phonebookstatus.MemoryType:=GMT_DC;\r
+ 2:phonebookstatus.MemoryType:=GMT_MC;\r
+ 3:phonebookstatus.MemoryType:=GMT_ON;\r
+ 4:phonebookstatus.MemoryType:=GMT_ME;\r
+ 5:phonebookstatus.MemoryType:=GMT_SM;\r
+ 6:phonebookstatus.MemoryType:=GMT_RC;\r
+ end;\r
+ if GSM_GetMemoryStatus(@phonebookstatus)<>0 then\r
+ begin\r
+ phonebookstatus.Free:=0;\r
+ phonebookstatus.Used:=30;\r
+ end;\r
+ phonebookcur:=0;\r
+ phonebookfound:=0;\r
+\r
+ PBKOfflineNumber:=0;\r
+ PhoneBackup.PhonePhonebookUsed:=0;\r
+ PhoneBackup.SIMPhonebookUsed:=0;\r
+ if (phonebookstatus.MemoryType=GMT_ME) then\r
+ begin\r
+ PhoneBackup.PhonePhonebookSize:=phonebookstatus.Free+phonebookstatus.Used;\r
+ end;\r
+ if (phonebookstatus.MemoryType=GMT_SM) then\r
+ begin\r
+ PhoneBackup.SIMPhonebookSize:=phonebookstatus.Free+phonebookstatus.Used;\r
+ end;\r
+\r
+ ComboBox1.Enabled:=false;\r
+\r
+ ReadAllCallerGroups();\r
+\r
+ MainForm.ListView1.Items.Clear;\r
+\r
+ MainForm.Timer2.Enabled:=false;\r
+ PhonebookThread:=TPhonebookThread.Create(false);\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.PhonebookTabSheetHide(Sender: TObject);\r
+begin\r
+ EndPhonebookThread;\r
+end;\r
+\r
+//ringtones\r
+procedure TMainForm.Button1Click(Sender: TObject);\r
+var\r
+ ring:GSM_Ringtone;\r
+begin\r
+ if OpenDialog1.Execute then\r
+ begin\r
+ if GSM_ReadRingtoneFile(PChar(OpenDialog1.FileName),@ring)=0 then\r
+ begin\r
+ Edit1.Text:=ring.Name;\r
+ rington:=ring;\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure EndPlayRingtoneThread;\r
+begin\r
+ if (PlayRingtoneThread<>nil) then\r
+ begin\r
+ PlayRingtoneThread.Terminate();\r
+ GSM_PlayTone(255*255,0);\r
+ MainForm.Timer2.Enabled:=true;\r
+ PlayRingtoneThread:=nil;\r
+ end;\r
+end;\r
+\r
+procedure TPlayRingtoneThread.Execute;\r
+begin\r
+ while not Terminated do\r
+ begin\r
+ GSM_PlayNote(rington.notes[ringindex]);\r
+ ringindex:=ringindex+1;\r
+ if ringindex>rington.NrNotes then\r
+ EndPlayRingtoneThread;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.Button16Click(Sender: TObject);\r
+begin\r
+ EndPlayRingtoneThread;\r
+end;\r
+\r
+procedure TMainForm.Button3Click(Sender: TObject);\r
+begin\r
+ ringindex:=1;\r
+ MainForm.Timer2.Enabled:=false;\r
+ PlayRingtoneThread:=TPlayRingtoneThread.Create(false);\r
+end;\r
+\r
+procedure TMainForm.Button2Click(Sender: TObject);\r
+var\r
+ i:integer;\r
+ mybinring:GSM_BinRingtone;\r
+ myring:GSM_Ringtone;\r
+begin\r
+ LogosRingForm.Label1.Caption:='Do you want to set ringtone ?';\r
+ LogosRingForm.ComboBox3.Visible:=true;\r
+ LogosRingForm.ComboBox3.Items.Clear();\r
+ LogosRingForm.ComboBox3.Items.Add('Preview');\r
+ MainForm.Timer2.Enabled:=false;\r
+ for i:=1 to GSM_GetModelFeature(FN_RINGNUMBER) do\r
+ begin\r
+ mybinring.location:=i;\r
+ if (GSM_GetPhoneRingtone(@mybinring,@myring)=0) then\r
+ begin\r
+ if GSM_GetModelFeature(FN_RINGTONES)=F_RING_SM then\r
+ begin\r
+ LogosRingForm.ComboBox3.Items.Add(myring.name);\r
+ end else\r
+ begin\r
+ LogosRingForm.ComboBox3.Items.Add(mybinring.name);\r
+ end;\r
+ end else\r
+ LogosRingForm.ComboBox3.Items.Add('Location '+inttostr(i));\r
+ end;\r
+ MainForm.Timer2.Enabled:=true;\r
+ LogosRingForm.ComboBox3.ItemIndex:=1;\r
+ LogosRingForm.ShowModal;\r
+ if LogosRingForm.ComboBox3.Visible then\r
+ begin\r
+ if LogosRingForm.ComboBox3.ItemIndex=0 then\r
+ rington.location:=255\r
+ else\r
+ rington.location:=LogosRingForm.ComboBox3.ItemIndex;\r
+ MainForm.Timer2.Enabled:=false;\r
+ GSM_SetRingtone(@rington,@i);\r
+ MainForm.Timer2.Enabled:=true;\r
+ end;\r
+end;\r
+\r
+//phone sheet\r
+procedure TMainForm.PhoneTabSheetShow(Sender: TObject);\r
+var\r
+ xxxx,xxx:array[1..256] of char;\r
+ time:GSM_DateTime;\r
+ siml:GSM_AllSimlocks;\r
+ i:integer;\r
+ code:GSM_SecurityCode;\r
+begin\r
+ if GSMPhoneConnected then\r
+ begin\r
+ GSM_GetRevision(@xxx);\r
+ Label9.Caption:=xxx;\r
+ GSM_GetImei(@xxx);\r
+ Label7.Caption:=xxx;\r
+ GSM_GetModel(@xxx);\r
+ GSM_GetModelNumber(@xxx,@xxxx);\r
+ Label5.Caption:=xxx;\r
+ Label5.Caption:=Label5.Caption+' ('+xxxx;\r
+ Label5.Caption:=Label5.Caption+')';\r
+ GSM_GetAlarm(1,@time);\r
+ if time.isSet<>0 then\r
+ CheckBox1.Checked:=true\r
+ else\r
+ CheckBox1.Checked:=false;\r
+ DateTimePicker1.Time:=EncodeTime(time.Hour,time.Minute,0,0);\r
+ ListView8.Items.Clear();\r
+ GSM_GetSimlock(@siml);\r
+ for i:=1 to 4 do\r
+ begin\r
+ MainForm.ListView8.Items.Add;\r
+ MainForm.ListView8.Items.Item[i-1].Caption:=inttostr(i);\r
+ MainForm.ListView8.Items.Item[i-1].Subitems.Add(siml.simlocks[i].data);\r
+ if siml.simlocks[i].enabled=0 then\r
+ MainForm.ListView8.Items.Item[i-1].Subitems.Add('disabled')\r
+ else\r
+ begin\r
+ if siml.simlocks[i].factory<>0 then\r
+ MainForm.ListView8.Items.Item[i-1].Subitems.Add('factory')\r
+ else\r
+ MainForm.ListView8.Items.Item[i-1].Subitems.Add('user');\r
+ end;\r
+ MainForm.ListView8.Items.Item[i-1].Subitems.Add(inttostr(siml.simlocks[i].counter));\r
+ end;\r
+ code.Type2:=GSCT_SecurityCode;\r
+ GSM_GetSecurityCode(@code);\r
+ Label18.Caption:=code.Code;\r
+\r
+ phoneinfo:=true;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.Button9Click(Sender: TObject);\r
+begin\r
+ GSM_Reset(GSM_SoftReset);\r
+end;\r
+\r
+//speed dials\r
+procedure TMainForm.SpeedTabSheetShow(Sender: TObject);\r
+begin\r
+ if SpeedThread<>nil then\r
+ else begin\r
+ if GSMPhoneConnected then\r
+ begin\r
+ MainForm.ListView3.Items.Clear;\r
+ speednum:=1;\r
+ MainForm.Timer2.Enabled:=false;\r
+ SpeedThread:=TSpeedThread.Create(false);\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure EndSpeedThread();\r
+begin\r
+ if (SpeedThread<>nil) then\r
+ begin\r
+ SpeedThread.Terminate();\r
+ MainForm.Timer2.Enabled:=true;\r
+ SpeedThread:=nil;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.SpeedTabSheetHide(Sender: TObject);\r
+begin\r
+ EndSpeedThread();\r
+end;\r
+\r
+procedure TSpeedThread.Execute;\r
+var\r
+ entry1:GSM_SpeedDial;\r
+ entry2:GSM_PhonebookEntry;\r
+ i:integer;\r
+begin\r
+ while not Terminated do\r
+ begin\r
+ entry1.Number:=speednum;\r
+ if GSM_GetSpeedDial(@entry1)=0 then\r
+ begin\r
+ entry2.Location:=entry1.Location;\r
+ entry2.MemoryType:=entry1.MemoryType;\r
+ if entry2.Location=0 then\r
+ entry2.Location:=speednum;\r
+ GSM_GetMemoryLocation(@entry2);\r
+ MainForm.ListView3.Items.Add;\r
+ MainForm.ListView3.Items.Item[speednum-1].Caption:=inttostr(speednum);\r
+ MainForm.ListView3.Items.Item[speednum-1].Subitems.Add(entry2.Name);\r
+ if entry2.Number[1]<>chr(0) then\r
+ MainForm.ListView3.Items.Item[speednum-1].Subitems.Add(entry2.Number)\r
+ else begin\r
+ for i:=1 to entry2.SubEntriesCount do\r
+ begin\r
+ if entry2.SubEntries[i].EntryType=GSM_Number then\r
+ begin\r
+ MainForm.ListView3.Items.Item[speednum-1].Subitems.Add(entry2.SubEntries[i].Number);\r
+ break;\r
+ end;\r
+ end;\r
+ end;\r
+ speednum:=speednum+1;\r
+ end;\r
+ if speednum=10 then\r
+ EndSpeedThread();\r
+ end;\r
+end;\r
+\r
+//calendar\r
+procedure EndCalendarThread();\r
+begin\r
+ if (CalendarThread<>nil) then\r
+ begin\r
+ CalendarThread.Terminate();\r
+ MainForm.Timer2.Enabled:=true;\r
+ CalendarThread:=nil;\r
+ end;\r
+end;\r
+\r
+procedure AddCalendarNote(note:GSM_CalendarNote;myview:TListView);\r
+var\r
+ j,z:integer;\r
+ found:boolean;\r
+begin\r
+ myview.Items.Add;\r
+ myview.Items.Item[myview.Items.Count-1].Caption:=inttostr(myview.Items.Count);\r
+ case note.Type2 of\r
+ GCN_Reminder:myview.Items.Item[myview.Items.Count-1].Subitems.Add('Reminder');\r
+ GCN_Call :myview.Items.Item[myview.Items.Count-1].Subitems.Add('Call');\r
+ GCN_Meeting :myview.Items.Item[myview.Items.Count-1].Subitems.Add('Meeting');\r
+ GCN_Birthday:myview.Items.Item[myview.Items.Count-1].Subitems.Add('Birthday');\r
+ end;\r
+ myview.Items.Item[myview.Items.Count-1].Subitems.Add(note.Text);\r
+\r
+ found:=false;\r
+ if note.Type2=GCN_Call then\r
+ begin\r
+ MainForm.Label14.Caption:=note.Phone;\r
+ for z:=1 to PBKOfflineNumber do\r
+ begin\r
+ if (PhoneBackup.PhonePhonebook[z].Number[1]<>chr(0)) then\r
+ begin\r
+ MainForm.Label16.Caption:=PhoneBackup.PhonePhonebook[z].Number;\r
+ if (MainForm.Label14.Caption=MainForm.Label16.Caption) then\r
+ begin\r
+ myview.Items.Item[myview.Items.Count-1].Subitems.Add(PhoneBackup.PhonePhonebook[z].Name);\r
+ found:=true;\r
+ break;\r
+ end;\r
+ end;\r
+ for j:=1 to PhoneBackup.PhonePhonebook[z].SubEntriesCount do\r
+ begin\r
+ MainForm.Label16.Caption:=PhoneBackup.PhonePhonebook[z].SubEntries[j].Number;\r
+ if (MainForm.Label14.Caption=MainForm.Label16.Caption) then\r
+ begin\r
+ myview.Items.Item[myview.Items.Count-1].Subitems.Add(PhoneBackup.PhonePhonebook[z].Name);\r
+ found:=true;\r
+ break;\r
+ end;\r
+ end;\r
+ end;\r
+ end;\r
+ if not found then\r
+ myview.Items.Item[myview.Items.Count-1].Subitems.Add(note.Phone);\r
+\r
+ myview.Items.Item[myview.Items.Count-1].Subitems.Add(DayOfweek2(note.Time.Day,note.Time.Month,note.Time.Year)+' '+inttostr2(note.Time.Day,2)+'-'+inttostr2(note.Time.Month,2)+'-'+inttostr(note.Time.Year)+' '+inttostr2(note.Time.Hour,2)+':'+inttostr2(note.Time.Minute,2)+':'+inttostr2(note.Time.Second,2));\r
+ if note.Alarm.Year<>0 then\r
+ myview.Items.Item[myview.Items.Count-1].Subitems.Add(DayOfweek2(note.Alarm.Day,note.Alarm.Month,note.Alarm.Year)+' '+inttostr2(note.Alarm.Day,2)+'-'+inttostr2(note.Alarm.Month,2)+'-'+inttostr(note.Alarm.Year)+' '+inttostr2(note.Alarm.Hour,2)+':'+inttostr2(note.Alarm.Minute,2)+':'+inttostr2(note.Alarm.Second,2))\r
+ else\r
+ myview.Items.Item[myview.Items.Count-1].Subitems.Add('');\r
+end;\r
+\r
+procedure TCalendarThread.Execute;\r
+var\r
+ note:GSM_CalendarNote;\r
+begin\r
+ while not Terminated do\r
+ begin\r
+ note.Location:=calendarnum;\r
+ if GSM_GetCalendarNote(@note)=0 then\r
+ begin\r
+ AddCalendarNote(note,MainForm.ListView4);\r
+ calendarnum:=calendarnum+1;\r
+ end else begin\r
+ readcalendar:=true;\r
+ EndCalendarThread();\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.CalendarTabSheetShow(Sender: TObject);\r
+begin\r
+ if CalendarThread=nil then\r
+ begin\r
+ if GSMPhoneConnected then\r
+ begin\r
+ if (GSM_GetModelFeature(FN_Calendar)<>0) then\r
+ begin\r
+ ListView4.Enabled:=true;\r
+ ListView4.Ctl3D:=true;\r
+ GroupBox8.Ctl3D:=true;\r
+\r
+ MainForm.ListView4.Items.Clear;\r
+ CalendarNum:=1;\r
+ MainForm.Timer2.Enabled:=false;\r
+ readcalendar:=false;\r
+\r
+ ReadPBKOffline;\r
+\r
+ CalendarThread:=TCalendarThread.Create(false);\r
+ end else\r
+ begin\r
+ ListView4.Enabled:=false;\r
+ ListView4.Ctl3D:=false;\r
+ GroupBox8.Ctl3D:=false;\r
+ end;\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.CalendarTabSheetHide(Sender: TObject);\r
+begin\r
+ EndCalendarThread();\r
+end;\r
+\r
+procedure TMainForm.New1Click(Sender: TObject);\r
+var i,j:integer;\r
+begin\r
+ setcalendarnote.Location:=MainForm.ListView4.Items.Count+1;\r
+ CalendarForm.ComboBox1.ItemIndex:=0;\r
+ CalendarForm.ComboBox1.OnSelect(nil);\r
+ CalendarForm.Edit2.Text:='';\r
+ CalendarForm.ComboBox3.Text:='';\r
+ CalendarForm.DateTimePicker1.DateTime:=Date;\r
+ CalendarForm.DateTimePicker3.Time:=Time;\r
+ CalendarForm.DateTimePicker2.DateTime:=Date;\r
+ CalendarForm.DateTimePicker4.Time:=Time;\r
+\r
+ ReadPBKOffline;\r
+ CalendarForm.ComboBox3.Items.Clear;\r
+ CalendarForm.ComboBox3.Sorted:=false;\r
+ for i:=1 to PBKOfflineNumber do\r
+ begin\r
+ if (PhoneBackup.PhonePhonebook[i].Number[1]<>chr(0)) then\r
+ begin\r
+ CalendarForm.ComboBox3.Items.Add(PhoneBackup.PhonePhonebook[i].Name);\r
+ end else\r
+ begin\r
+ for j:=1 to PhoneBackup.PhonePhonebook[i].SubEntriesCount do\r
+ begin\r
+ if PhoneBackup.PhonePhonebook[i].SubEntries[j].EntryType=GSM_Number then\r
+ begin\r
+ CalendarForm.ComboBox3.Items.Add(PhoneBackup.PhonePhonebook[i].Name);\r
+ break;\r
+ end;\r
+ end;\r
+ end;\r
+ end;\r
+ CalendarForm.ComboBox3.Sorted:=true;\r
+\r
+ CalendarForm.ShowModal;\r
+end;\r
+\r
+procedure EditCalendarNote;\r
+var i,j,z:integer;\r
+begin\r
+ i:=0;\r
+\r
+ CalendarForm.DateTimePicker1.Date:=EncodeDate(setcalendarnote.Time.Year,\r
+ setcalendarnote.Time.Month,\r
+ setcalendarnote.Time.Day);\r
+ CalendarForm.DateTimePicker3.Time:=EncodeTime(setcalendarnote.Time.Hour,\r
+ setcalendarnote.Time.Minute,\r
+ setcalendarnote.Time.Second,i);\r
+ case setcalendarnote.Type2 of\r
+ GCN_BIRTHDAY: CalendarForm.ComboBox1.ItemIndex:=0;\r
+ GCN_CALL: CalendarForm.ComboBox1.ItemIndex:=1;\r
+ GCN_MEETING: CalendarForm.ComboBox1.ItemIndex:=2;\r
+ GCN_REMINDER: CalendarForm.ComboBox1.ItemIndex:=3;\r
+ end;\r
+\r
+ CalendarForm.Edit2.Text:=setcalendarnote.Text;\r
+ CalendarForm.ComboBox3.Text:=setcalendarnote.Phone;\r
+\r
+ if setcalendarnote.Alarm.Year<>0 then\r
+ begin\r
+ CalendarForm.CheckBox1.checked:=true;\r
+ CalendarForm.DateTimePicker2.Date:=EncodeDate(setcalendarnote.Alarm.Year,\r
+ setcalendarnote.Alarm.Month,\r
+ setcalendarnote.Alarm.Day);\r
+ CalendarForm.DateTimePicker4.Time:=EncodeTime(setcalendarnote.Alarm.Hour,\r
+ setcalendarnote.Alarm.Minute,\r
+ setcalendarnote.Alarm.Second,i);\r
+ end else\r
+ begin\r
+ CalendarForm.CheckBox1.checked:=false;\r
+ CalendarForm.DateTimePicker2.Date:=CalendarForm.DateTimePicker1.Date;\r
+ CalendarForm.DateTimePicker4.Time:=CalendarForm.DateTimePicker3.Time;\r
+ end;\r
+\r
+ if GSM_GetModelFeature(FN_CALENDAR)=F_CAL71 then\r
+ begin\r
+ if setcalendarnote.Type2<>GCN_BIRTHDAY then\r
+ begin\r
+ CalendarForm.CheckBox2.Checked:=True;\r
+ case setcalendarnote.Recurrance of\r
+ 0 :begin\r
+ CalendarForm.CheckBox2.Checked:=False;\r
+ CalendarForm.ComboBox2.Enabled:=False;\r
+ end;\r
+ 1*24 :CalendarForm.ComboBox2.ItemIndex:=0;\r
+ 7*24 :CalendarForm.ComboBox2.ItemIndex:=1;\r
+ 14*24 :CalendarForm.ComboBox2.ItemIndex:=2;\r
+ 365*24:CalendarForm.ComboBox2.ItemIndex:=3;\r
+ end;\r
+ CalendarForm.RadioButton1.Enabled:=False;\r
+ CalendarForm.RadioButton2.Enabled:=False;\r
+ end else begin\r
+ CalendarForm.ComboBox2.ItemIndex:=0;\r
+ CalendarForm.CheckBox2.Checked:=False;\r
+ CalendarForm.ComboBox2.Enabled:=False;\r
+ CalendarForm.RadioButton1.Enabled:=True;\r
+ CalendarForm.RadioButton2.Enabled:=True;\r
+ if setcalendarnote.AlarmType=1 then\r
+ CalendarForm.RadioButton1.Checked:=True\r
+ else\r
+ CalendarForm.RadioButton2.Checked:=True;\r
+ end;\r
+ end;\r
+ CalendarForm.ComboBox1.OnSelect(nil);\r
+\r
+ ReadPBKOffline;\r
+ CalendarForm.ComboBox3.Items.Clear;\r
+ CalendarForm.ComboBox3.Sorted:=false;\r
+ for i:=1 to PBKOfflineNumber do\r
+ begin\r
+ if (PhoneBackup.PhonePhonebook[i].Number[1]<>chr(0)) then\r
+ begin\r
+ CalendarForm.ComboBox3.Items.Add(PhoneBackup.PhonePhonebook[i].Name);\r
+ end else\r
+ begin\r
+ for j:=1 to PhoneBackup.PhonePhonebook[i].SubEntriesCount do\r
+ begin\r
+ if PhoneBackup.PhonePhonebook[i].SubEntries[j].EntryType=GSM_Number then\r
+ begin\r
+ CalendarForm.ComboBox3.Items.Add(PhoneBackup.PhonePhonebook[i].Name);\r
+ break;\r
+ end;\r
+ end;\r
+ end;\r
+ end;\r
+ CalendarForm.ComboBox3.Sorted:=true;\r
+\r
+ if setcalendarnote.Type2=GCN_Call then\r
+ begin\r
+ MainForm.Label14.Caption:=setcalendarnote.Phone;\r
+ for i:=1 to PBKOfflineNumber do\r
+ begin\r
+ if (PhoneBackup.PhonePhonebook[i].Number[1]<>chr(0)) then\r
+ begin\r
+ MainForm.Label16.Caption:=PhoneBackup.PhonePhonebook[i].Number;\r
+ if (MainForm.Label14.Caption=MainForm.Label16.Caption) then\r
+ begin\r
+ MainForm.Label14.Caption:=PhoneBackup.PhonePhonebook[i].Name;\r
+ for z:=0 to CalendarForm.ComboBox3.Items.Count do\r
+ begin\r
+ if (MainForm.Label14.Caption=CalendarForm.ComboBox3.Items[z]) then\r
+ begin\r
+ CalendarForm.ComboBox3.ItemIndex:=z;\r
+ break;\r
+ end;\r
+ end;\r
+ break;\r
+ end;\r
+ end;\r
+ for j:=1 to PhoneBackup.PhonePhonebook[i].SubEntriesCount do\r
+ begin\r
+ MainForm.Label16.Caption:=PhoneBackup.PhonePhonebook[i].SubEntries[j].Number;\r
+ if (MainForm.Label14.Caption=MainForm.Label16.Caption) then\r
+ begin\r
+ MainForm.Label14.Caption:=PhoneBackup.PhonePhonebook[i].Name;\r
+ for z:=0 to CalendarForm.ComboBox3.Items.Count do\r
+ begin\r
+ if (MainForm.Label14.Caption=CalendarForm.ComboBox3.Items[z]) then\r
+ begin\r
+ CalendarForm.ComboBox3.ItemIndex:=z;\r
+ break;\r
+ end;\r
+ end;\r
+ break;\r
+ end;\r
+ end;\r
+ end;\r
+ end;\r
+\r
+ CalendarForm.ShowModal;\r
+end;\r
+\r
+procedure TMainForm.Edit3Click(Sender: TObject);\r
+begin\r
+ setcalendarnote.Location:=calendarselect;\r
+\r
+ mainform.Timer2.Enabled:=false;\r
+ GSM_GetCalendarNote(@setcalendarnote);\r
+ mainform.Timer2.Enabled:=true;\r
+\r
+ EditCalendarNote;\r
+end;\r
+\r
+procedure TMainForm.ListView4SelectItem(Sender: TObject; Item: TListItem;\r
+ Selected: Boolean);\r
+begin\r
+ if Selected then\r
+ begin\r
+ calendarselect:=Item.Index+1;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.Delete1Click(Sender: TObject);\r
+begin\r
+// if listview4.selected<>nil then\r
+// begin\r
+ if MessageDlg('Do you want to delete this calendar note ?',\r
+ mtConfirmation, [mbYes, mbNo], 0) = mrYes then\r
+ begin\r
+ setcalendarnote.Location:=calendarselect;\r
+ GSM_DeleteCalendarNote(@setcalendarnote);\r
+ MainForm.CalendarTabSheetShow(nil);\r
+ end;\r
+// end;\r
+end;\r
+\r
+//caller groups\r
+procedure EndCallerThread();\r
+begin\r
+ if (CallerThread<>nil) then\r
+ begin\r
+ CallerThread.Terminate();\r
+ CallerThread:=nil;\r
+ end;\r
+end;\r
+\r
+procedure TCallerThread.Execute;\r
+begin\r
+ while not Terminated do\r
+ begin\r
+ ReadCallerGroup();\r
+ if callerinit then EndCallerThread();\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.CallerTabSheetShow(Sender: TObject);\r
+begin\r
+ if CallerThread=nil then\r
+ begin\r
+ if GSMPhoneConnected then\r
+ begin\r
+ MainForm.ListView5.Items.Clear;\r
+ callerinit:=false;\r
+ callernum:=1;\r
+ CallerThread:=TCallerThread.Create(false);\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.CallerTabSheetHide(Sender: TObject);\r
+begin\r
+ EndCallerThread();\r
+end;\r
+\r
+//smsc\r
+procedure TMainForm.SMSCTabSheetShow(Sender: TObject);\r
+begin\r
+ if SMSCThread<>nil then\r
+ else begin\r
+ if GSMPhoneConnected then\r
+ begin\r
+ MainForm.ListView6.Items.Clear;\r
+ smscinit:=false;\r
+ smscnum:=1;\r
+ MainForm.Timer2.Enabled:=false;\r
+ SMSCThread:=TSMSCThread.Create(false);\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure SMSCTabHide();\r
+begin\r
+ if (SMSCThread<>nil) then\r
+ begin\r
+ SMSCThread.Terminate();\r
+ MainForm.Timer2.Enabled:=true;\r
+ SMSCThread:=nil;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.SMSCTabSheetHide(Sender: TObject);\r
+begin\r
+ SMSCTabHide();\r
+end;\r
+\r
+procedure ReadSMSC();\r
+var\r
+ smsc:GSM_MessageCenter;\r
+begin\r
+ smsc.No:=smscnum;\r
+ MainForm.StatusBar1.Panels[0].Text:='Reading SMSC '+inttostr(smscnum);\r
+ if GSM_GetSMSCenter(@smsc)=0 then\r
+ begin\r
+ SMSC2[smscnum]:=smsc;\r
+ MainForm.ListView6.Items.Add;\r
+ MainForm.ListView6.Items.Item[smscnum-1].Caption:=inttostr(smscnum);\r
+ MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add(smsc.name);\r
+ MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add(smsc.number);\r
+ case smsc.Validity of\r
+ GSMV_1_Hour : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('1 hour');\r
+ GSMV_6_Hours : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('6 hours');\r
+ GSMV_24_Hours : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('1 day');\r
+ GSMV_72_Hours : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('3 days');\r
+ GSMV_1_Week : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('1 week');\r
+ GSMV_Max_Time : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('max. time');\r
+ else\r
+ MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('unknown');\r
+ end;\r
+ case smsc.Format of\r
+ GSMF_Text : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('text');\r
+ GSMF_Fax : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('fax');\r
+ GSMF_Voice : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('voice');\r
+ GSMF_ERMES : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('ERMES');\r
+ GSMF_Paging : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('paging');\r
+ GSMF_UCI : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('UCI');\r
+ GSMF_Email : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('email');\r
+ GSMF_X400 : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('X400');\r
+ else\r
+ MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('unknown');\r
+ end;\r
+ MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add(smsc.defaultrecipient);\r
+ smscnum:=smscnum+1;\r
+ end else\r
+ begin\r
+ MainForm.StatusBar1.Panels[0].Text:='';\r
+ smscinit:=true;\r
+ end;\r
+end;\r
+\r
+procedure TSMSCThread.Execute;\r
+begin\r
+ while not Terminated do\r
+ begin\r
+ ReadSMSC();\r
+ if smscinit then SMSCTabHide();\r
+ end;\r
+end;\r
+\r
+//profiles\r
+procedure ProfileTabHide();\r
+begin\r
+ if (ProfileThread<>nil) then\r
+ begin\r
+ ProfileThread.Terminate();\r
+ MainForm.Timer2.Enabled:=true;\r
+ ProfileThread:=nil;\r
+ end;\r
+end;\r
+\r
+procedure TProfileThread.Execute;\r
+var\r
+ profile:GSM_Profile;\r
+begin\r
+ while not Terminated do\r
+ begin\r
+ profile.number:=profilenum-1;\r
+ GSM_GetProfile(@profile);\r
+ MainForm.ListView7.Items.Add;\r
+ MainForm.ListView7.Items.Item[profilenum-1].Caption:=inttostr(profilenum);\r
+ MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add(profile.name);\r
+ case profile.CallAlert of\r
+ PROFILE_CALLALERT_RINGING :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('ringing');\r
+ PROFILE_CALLALERT_BEEPONCE :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('beep once');\r
+ PROFILE_CALLALERT_OFF :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('off');\r
+ PROFILE_CALLALERT_RINGONCE :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('ring once');\r
+ PROFILE_CALLALERT_ASCENDING:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('ascending');\r
+ PROFILE_CALLALERT_CALLERGROUPS:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('caller groups');\r
+ end;\r
+ MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add(inttostr(profile.Ringtone));\r
+ case profile.Volume of\r
+ PROFILE_VOLUME_LEVEL1:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('volume 1');\r
+ PROFILE_VOLUME_LEVEL2:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('volume 2');\r
+ PROFILE_VOLUME_LEVEL3:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('volume 3');\r
+ PROFILE_VOLUME_LEVEL4:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('volume 4');\r
+ PROFILE_VOLUME_LEVEL5:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('volume 5');\r
+ end;\r
+ case profile.Vibration of\r
+ PROFILE_VIBRATION_OFF :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('off');\r
+ PROFILE_VIBRATION_ON :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('on');\r
+ PROFILE_VIBRATION_FIRST:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('vibrate first');\r
+ end;\r
+ case profile.MessageTone of\r
+ PROFILE_MESSAGE_NOTONE :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('no tone');\r
+ PROFILE_MESSAGE_STANDARD :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('standard');\r
+ PROFILE_MESSAGE_SPECIAL :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('special');\r
+ PROFILE_MESSAGE_BEEPONCE :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('beep once');\r
+ PROFILE_MESSAGE_ASCENDING:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('ascending');\r
+ end;\r
+ case profile.KeypadTone of\r
+ PROFILE_KEYPAD_OFF :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('off');\r
+ PROFILE_KEYPAD_LEVEL1:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('volume 1');\r
+ PROFILE_KEYPAD_LEVEL2:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('volume 2');\r
+ PROFILE_KEYPAD_LEVEL3:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('volume 3');\r
+ end;\r
+ case profile.WarningTone of\r
+ PROFILE_WARNING_OFF:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('off');\r
+ PROFILE_WARNING_ON :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('on');\r
+ end;\r
+ MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add(inttostr(profile.CallerGroups));\r
+ profilenum:=profilenum+1;\r
+ case GSM_GetModelFeature(FN_PROFILES) of\r
+ F_PROF61:if profilenum=8 then ProfileTabHide();\r
+ F_PROF51:if profilenum=3 then ProfileTabHide();\r
+ F_PROF33:if profilenum=7 then ProfileTabHide();\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.ProfileTabSheetShow(Sender: TObject);\r
+begin\r
+ if ProfileThread<>nil then\r
+ else begin\r
+ if GSMPhoneConnected then\r
+ begin\r
+ MainForm.ListView7.Items.Clear;\r
+ profilenum:=1;\r
+ MainForm.Timer2.Enabled:=false;\r
+ ProfileThread:=TProfileThread.Create(false);\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.ProfileTabSheetHide(Sender: TObject);\r
+begin\r
+ ProfileTabHide();\r
+end;\r
+\r
+//sms\r
+procedure AddSMSInfo(myobject:TListView;mysms:GSM_SMSMessage);\r
+var number,i,z:integer;\r
+ found:boolean;\r
+begin\r
+ number:=myobject.Items.Count;\r
+\r
+ myobject.Items.Add;\r
+ myobject.Items.Item[number].Caption:=inttostr(number+1);\r
+ myobject.Items.Item[number].Subitems.Add(mysms.MessageText);\r
+\r
+ found:=false;\r
+ for z:=1 to PBKOfflineNumber do\r
+ begin\r
+ mainform.Label14.Caption:=mysms.Sender;\r
+ mainform.Label16.Caption:=PhoneBackup.PhonePhonebook[z].Number;\r
+ if (PhoneBackup.PhonePhonebook[z].Number[1]<>chr(0)) then\r
+ begin\r
+ if (mainform.Label14.Caption=mainform.Label16.Caption) then\r
+ begin\r
+ myobject.Items.Item[number].Subitems.Add(PhoneBackup.PhonePhonebook[z].Name);\r
+ found:=true;\r
+ break;\r
+ end;\r
+ end;\r
+ for i:=1 to PhoneBackup.PhonePhonebook[z].SubEntriesCount do\r
+ begin\r
+ mainform.Label16.Caption:=PhoneBackup.PhonePhonebook[z].SubEntries[i].Number;\r
+ if (PhoneBackup.PhonePhonebook[z].SubEntries[i].EntryType=GSM_Number)\r
+ and (mainform.Label14.Caption=mainform.Label16.Caption) then\r
+ begin\r
+ myobject.Items.Item[number].Subitems.Add(PhoneBackup.PhonePhonebook[z].Name);\r
+ found:=true;\r
+ break;\r
+ end;\r
+ end;\r
+ if found then break;\r
+ end;\r
+ if not found then myobject.Items.Item[number].Subitems.Add(mysms.Sender);\r
+\r
+ if mysms.SMSData=1 then\r
+ begin\r
+ myobject.Items.Item[number].Subitems.Add(DayOfweek2(mysms.Time.Day,mysms.Time.Month,mysms.Time.Year)+' '+inttostr2(mysms.Time.Day,2)+'-'+inttostr2(mysms.Time.Month,2)+'-'+inttostr(mysms.Time.Year));\r
+ myobject.Items.Item[number].Subitems.Add(inttostr2(mysms.Time.Hour,2)+':'+inttostr2(mysms.Time.Minute,2)+':'+inttostr2(mysms.Time.Second,2));\r
+ end;\r
+end;\r
+\r
+procedure DisplaySMSfolder();\r
+var\r
+ i:integer;\r
+begin\r
+ MainForm.ListView2.Items.Clear();\r
+ i:=0;\r
+ while i<>SMSstatus.Number do\r
+ begin\r
+ i:=i+1;\r
+ if (SMSfolders.Folder[SMS[i].folder].Name=\r
+ SMSfolders.Folder[MainForm.ComboBox3.ItemIndex].Name) then\r
+ begin\r
+ AddSMSInfo(MainForm.ListView2,SMS[i]);\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure SendSaveSMS(mysms:GSM_SMSMessage);\r
+var i,j,z:integer;\r
+begin\r
+ //text\r
+ SMSEditForm.Memo1.Text:=mysms.MessageText;\r
+\r
+ //number\r
+ SMSEditForm.ComboBox9.Text:=mysms.sender;\r
+ AddSMSEditSenderList;\r
+ MainForm.Label14.Caption:=mysms.sender;\r
+ for i:=1 to PBKOfflineNumber do\r
+ begin\r
+ if (PhoneBackup.PhonePhonebook[i].Number[1]<>chr(0)) then\r
+ begin\r
+ MainForm.Label16.Caption:=PhoneBackup.PhonePhonebook[i].Number;\r
+ if (MainForm.Label14.Caption=MainForm.Label16.Caption) then\r
+ begin\r
+ MainForm.Label14.Caption:=PhoneBackup.PhonePhonebook[i].Name;\r
+ for z:=0 to SMSEditForm.ComboBox9.Items.Count do\r
+ begin\r
+ if (MainForm.Label14.Caption=SMSEditForm.ComboBox9.Items[z]) then\r
+ begin\r
+ SMSEditForm.ComboBox9.ItemIndex:=z;\r
+ break;\r
+ end;\r
+ end;\r
+ break;\r
+ end;\r
+ end;\r
+ for j:=1 to PhoneBackup.PhonePhonebook[i].SubEntriesCount do\r
+ begin\r
+ MainForm.Label16.Caption:=PhoneBackup.PhonePhonebook[i].SubEntries[j].Number;\r
+ if (MainForm.Label14.Caption=MainForm.Label16.Caption) then\r
+ begin\r
+ MainForm.Label14.Caption:=PhoneBackup.PhonePhonebook[i].Name;\r
+ for z:=0 to SMSEditForm.ComboBox9.Items.Count do\r
+ begin\r
+ if (MainForm.Label14.Caption=SMSEditForm.ComboBox9.Items[z]) then\r
+ begin\r
+ SMSEditForm.ComboBox9.ItemIndex:=z;\r
+ break;\r
+ end;\r
+ end;\r
+ break;\r
+ end;\r
+ end;\r
+ end;\r
+\r
+ //sms folder\r
+ SMSEditForm.ComboBox1.Items.Clear;\r
+ for i:=0 to MainForm.ComboBox3.items.count-1 do\r
+ begin\r
+ SMSEditForm.ComboBox1.Items.Add(MainForm.ComboBox3.Items.Strings[i]);\r
+ end;\r
+ SMSEditForm.ComboBox1.ItemIndex:=MainForm.ComboBox3.ItemIndex;\r
+\r
+ //smsc\r
+ SetSMSC(1);\r
+ SMSEditForm.ComboBox2.Items.Clear;\r
+ SMSEditForm.ComboBox2.Items.Add('custom');\r
+ for i:=1 to smscnum-1 do\r
+ begin\r
+ if SMSC2[i].Name[1]<>chr(0) then\r
+ SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i)+' - '+SMSC2[i].Name)\r
+ else\r
+ SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i));\r
+ end;\r
+ SMSEditForm.ComboBox2.ItemIndex:=0;\r
+\r
+ if mysms.ReplyViaSameSMSC<>0 then\r
+ SMSEditForm.CheckBox3.Checked:=true\r
+ else\r
+ SMSEditForm.CheckBox3.Checked:=false;\r
+\r
+ if mysms.Class2=1 then\r
+ SMSEditForm.CheckBox1.Checked:=true\r
+ else\r
+ SMSEditForm.CheckBox1.Checked:=false;\r
+\r
+ if mysms.status=GSS_SENTREAD then\r
+ SMSEditForm.CheckBox4.Checked:=true\r
+ else\r
+ SMSEditForm.CheckBox4.Checked:=false;\r
+\r
+ SMSEditForm.TextSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.BitmapSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.RingtoneSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.CalendarSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.WAPBookTabSheet.TabVisible:=false;\r
+ SMSEditForm.WAPSettTabSheet.TabVisible:=false;\r
+ SMSEditForm.PbkSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.SMSEditPageControl.ActivePage:=Smseditform.TextSMSTabSheet;\r
+\r
+ if (GSM_GetModelFeature(FN_SMS)=F_SMS71) then\r
+ begin\r
+ SMSEditForm.edit3.Visible:=true;\r
+ SMSEditForm.label14.Visible:=true;\r
+ end else\r
+ begin\r
+ SMSEditForm.edit3.Visible:=false;\r
+ SMSEditForm.label14.Visible:=false;\r
+ end;\r
+\r
+ SMSEditForm.ShowModal;\r
+end;\r
+\r
+procedure TMainForm.Edit4Click(Sender: TObject);\r
+begin\r
+ setsmslocation:=SMS[smsnumindex].Location;\r
+ SendSaveSMS(SMS[smsnumindex]);\r
+end;\r
+\r
+procedure TMainForm.New2Click(Sender: TObject);\r
+var i:integer;\r
+begin\r
+ setsmslocation:=0;\r
+\r
+ //sms text\r
+ SMSEditForm.Memo1.Text:='';\r
+\r
+ //number\r
+ SMSEditForm.ComboBox9.Text:='';\r
+ AddSMSEditSenderList;\r
+\r
+ //folders\r
+ SMSEditForm.ComboBox1.Items.Clear;\r
+ for i:=0 to ComboBox3.items.count-1 do\r
+ begin\r
+ SMSEditForm.ComboBox1.Items.Add(ComboBox3.Items.Strings[i]);\r
+ end;\r
+ SMSEditForm.ComboBox1.ItemIndex:=ComboBox3.ItemIndex;\r
+\r
+ //smsc\r
+ SetSMSC(1);\r
+ SMSEditForm.ComboBox2.Items.Clear;\r
+ SMSEditForm.ComboBox2.Items.Add('custom');\r
+ for i:=1 to smscnum-1 do\r
+ begin\r
+ if SMSC2[i].Name[1]<>chr(0) then\r
+ SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i)+' - '+SMSC2[i].Name)\r
+ else\r
+ SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i));\r
+ end;\r
+ SMSEditForm.ComboBox2.ItemIndex:=1;\r
+\r
+ SMSEditForm.TextSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.BitmapSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.RingtoneSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.CalendarSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.WAPBookTabSheet.TabVisible:=false;\r
+ SMSEditForm.WAPSettTabSheet.TabVisible:=false;\r
+ SMSEditForm.PBKSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.SMSEditPageControl.ActivePage:=Smseditform.TextSMSTabSheet;\r
+\r
+ if (GSM_GetModelFeature(FN_SMS)=F_SMS71) then\r
+ begin\r
+ SMSEditForm.edit3.Visible:=true;\r
+ SMSEditForm.label14.Visible:=true;\r
+ end else\r
+ begin\r
+ SMSEditForm.edit3.Visible:=false;\r
+ SMSEditForm.label14.Visible:=false;\r
+ end;\r
+\r
+ SMSEditForm.ShowModal;\r
+end;\r
+\r
+procedure EndSMSThread;\r
+begin\r
+ if (SMSThread<>nil) then\r
+ begin\r
+ SMSThread.Terminate();\r
+ MainForm.Timer2.Enabled:=true;\r
+ SMSThread:=nil;\r
+ end;\r
+end;\r
+\r
+procedure TSMSThread.Execute;\r
+var\r
+ error:integer;\r
+begin\r
+ while not Terminated do\r
+ begin\r
+ if SMSnum<>SMSstatus.Number then\r
+ begin\r
+ if GSM_GetModelFeature(FN_SMS)=F_SMS71 then\r
+ SMS[SMSnum+1].Location:=0\r
+ else\r
+ SMS[SMSnum+1].Location:=smsnum2;\r
+ error:=GSM_GetSMSMessage(@SMS[SMSnum+1]);\r
+ if error=0 then\r
+ begin\r
+ if SMS[SMSnum+1].Time.year<1900 then\r
+ begin\r
+ SMS[SMSnum+1].Time.year:=SMS[SMSnum+1].Time.year+2000;\r
+ end;\r
+ if (SMSfolders.Folder[SMS[SMSnum+1].folder].Name=\r
+ SMSfolders.Folder[MainForm.ComboBox3.ItemIndex].Name) then\r
+ begin\r
+ AddSMSInfo(MainForm.ListView2,SMS[SMSnum+1]);\r
+ end;\r
+ SMSnum:=SMSnum+1;\r
+ end;\r
+ if error=GE_SMSTOOLONG then\r
+ begin\r
+ SMSstatus.Number:=SMSstatus.Number-1;\r
+ end;\r
+\r
+ smsnum2:=smsnum2+1;\r
+ end else\r
+ begin\r
+ MainForm.ComboBox3.Enabled:=true;\r
+ EndSMSThread;\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.SMSTabSheetShow(Sender: TObject);\r
+var\r
+ i:integer;\r
+begin\r
+ MainForm.ComboBox3.Enabled:=false;\r
+ if GSMPhoneConnected then\r
+ begin\r
+ if smscinit=false then\r
+ begin\r
+ MainForm.ListView6.Items.Clear;\r
+ smscnum:=1;\r
+ while true do\r
+ begin\r
+ ReadSMSC;\r
+ if smscinit then break;\r
+ end;\r
+ end;\r
+\r
+ MainForm.Memo1.Lines.Clear;\r
+ MainForm.Memo2.Lines.Clear;\r
+ GSM_GetSMSFolders(@SMSfolders);\r
+ MainForm.ComboBox3.Items.Clear();\r
+ for i:=1 to SMSfolders.number do\r
+ begin\r
+ MainForm.ComboBox3.Items.Add(SMSfolders.folder[i].Name);\r
+ end;\r
+ MainForm.ComboBox3.ItemIndex:=0;\r
+\r
+ SMSnum:=0;\r
+ GSM_GetSMSStatus(@SMSstatus);\r
+ smsnum2:=1;\r
+ MainForm.ListView2.Items.Clear;\r
+ MainForm.Timer2.Enabled:=false;\r
+ ReadPBKOffline;\r
+ SMSThread:=TSMSThread.Create(false);\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.ComboBox3Change(Sender: TObject);\r
+begin\r
+ ReadPBKOffline;\r
+ DisplaySMSfolder();\r
+end;\r
+\r
+procedure AddSMSDescription(mysms:GSM_SMSMessage;firstmemo:TMemo;secondmemo:TMemo);\r
+var\r
+ ch:tcaption;\r
+ z:integer;\r
+begin\r
+ firstmemo.Lines.Clear;\r
+ firstmemo.Lines.Add(pchar('Sender: '+mysms.Sender));\r
+\r
+ if mysms.SMSData=1 then\r
+ begin\r
+ ch:=mysms.MessageCenter.Number;\r
+ MainForm.Label14.Caption:=mysms.MessageCenter.Number;\r
+ if (smscinit) and (GSMPhoneConnected) then\r
+ begin\r
+ for z:=1 to smscnum-1 do\r
+ begin\r
+ MainForm.Label16.Caption:=SMSC2[z].Number;\r
+ if MainForm.Label14.Caption=MainForm.Label16.caption then\r
+ ch:=SMSC2[z].Name;\r
+ end;\r
+ end;\r
+ if mysms.ReplyViaSameSMSC<>0 then\r
+ ch:=' (reply via the same SMSC) '+ch;\r
+ firstmemo.Lines.Add('SMSC: '+ch);\r
+\r
+ if (mysms.type2=GST_DR) and (mysms.MessageText[1]='D') then\r
+ begin\r
+ firstmemo.Lines.Add(pchar('Date & time: '+\r
+ DayOfweek2(mysms.Time.Day,mysms.Time.Month,mysms.Time.Year)+' '+inttostr2(mysms.Time.Day,2)+'-'+inttostr2(mysms.Time.Month,2)+'-'+inttostr(mysms.Time.Year)+' '+\r
+ inttostr2(mysms.Time.Hour,2)+':'+inttostr2(mysms.Time.Minute,2)+':'+inttostr2(mysms.Time.Second,2))+\r
+ ' SMSC response date & time: '+\r
+ DayOfweek2(mysms.SMSCTime.Day,mysms.SMSCTime.Month,mysms.SMSCTime.Year)+' '+inttostr2(mysms.SMSCTime.Day,2)+'-'+inttostr2(mysms.SMSCTime.Month,2)+'-'+inttostr(mysms.SMSCTime.Year)+' '+\r
+ inttostr2(mysms.SMSCTime.Hour,2)+':'+inttostr2(mysms.SMSCTime.Minute,2)+':'+inttostr2(mysms.SMSCTime.Second,2));\r
+ end else\r
+ begin\r
+ firstmemo.Lines.Add(pchar('Date & time: '+\r
+ DayOfweek2(mysms.Time.Day,mysms.Time.Month,mysms.Time.Year)+' '+inttostr2(mysms.Time.Day,2)+'-'+inttostr2(mysms.Time.Month,2)+'-'+inttostr(mysms.Time.Year)+' '+\r
+ inttostr2(mysms.Time.Hour,2)+':'+inttostr2(mysms.Time.Minute,2)+':'+inttostr2(mysms.Time.Second,2)));\r
+ end;\r
+ end;\r
+\r
+ secondmemo.Lines.Clear;\r
+ secondmemo.Lines.Add(pchar(''+mysms.MessageText));\r
+end;\r
+\r
+procedure TMainForm.ListView2SelectItem(Sender: TObject; Item: TListItem;\r
+ Selected: Boolean);\r
+var\r
+ i:integer;\r
+ j:integer;\r
+begin\r
+ j:=0;\r
+ i:=0;\r
+ while i<>SMSstatus.Number do\r
+ begin\r
+ i:=i+1;\r
+ if (SMSfolders.Folder[SMS[i].folder].Name=\r
+ SMSfolders.Folder[MainForm.ComboBox3.ItemIndex].Name) then\r
+ begin\r
+ if (j=MainForm.ListView2.ItemIndex) then\r
+ begin\r
+ smsnumindex:=i;\r
+ AddSMSDescription(SMS[i],MainForm.Memo1,MainForm.Memo2);\r
+ end;\r
+ j:=j+1;\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.SMSTabSheetHide(Sender: TObject);\r
+begin\r
+ EndSMSThread;\r
+end;\r
+\r
+procedure TMainForm.SMSPopupMenuPopup(Sender: TObject);\r
+begin\r
+ New2.Enabled:=false;\r
+ Edit4.Enabled:=false;\r
+ CopyToPC1.Enabled:=false;\r
+ Delete2.Enabled:=false;\r
+ if GSMPhoneConnected then\r
+ begin\r
+ New2.Enabled:=true;\r
+ if listview2.selected<>nil then\r
+ begin\r
+ Edit4.Enabled:=true;\r
+ CopyToPC1.Enabled:=true;\r
+ Delete2.Enabled:=true;\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.CalendarPopupMenuPopup(Sender: TObject);\r
+begin\r
+ if GSMPhoneConnected then\r
+ begin\r
+ New1.Enabled:=true;\r
+ if listview4.selected<>nil then\r
+ begin\r
+ Edit3.Enabled:=true;\r
+ Delete1.Enabled:=true;\r
+ SMS1.Enabled:=true;\r
+ CopyToPC2.Enabled:=true;\r
+ end else\r
+ begin\r
+ Edit3.Enabled:=false;\r
+ Delete1.Enabled:=false;\r
+ SMS1.Enabled:=false;\r
+ CopyToPC2.Enabled:=false;\r
+ end;\r
+ end else\r
+ begin\r
+ New1.Enabled:=false;\r
+ Delete1.Enabled:=false;\r
+ Edit3.Enabled:=false;\r
+ SMS1.Enabled:=false;\r
+ CopyToPC2.Enabled:=false;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.Edit1Change(Sender: TObject);\r
+var\r
+ i:integer;\r
+begin\r
+ for i:=1 to 20 do\r
+ rington.name[i]:=chr(0);\r
+ for i:=1 to strlen(pchar(edit1.text)) do\r
+ rington.name[i]:=edit1.text[i];\r
+end;\r
+\r
+procedure TMainForm.Delete2Click(Sender: TObject);\r
+var\r
+ mysms:GSM_SMSMessage;\r
+begin\r
+ if MessageDlg('Do you want to delete this SMS ?',\r
+ mtConfirmation, [mbYes, mbNo], 0) = mrYes then\r
+ begin\r
+ mysms.Location:=SMS[smsnumindex].Location;\r
+ MainForm.Timer2.Enabled:=false;\r
+ GSM_DeleteSMSMessage(@mysms);\r
+ MainForm.Timer2.Enabled:=true;\r
+ MainForm.SMSTabSheetShow(nil);\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.Edit5Click(Sender: TObject);\r
+begin\r
+// if listview6.selected<>nil then\r
+// begin\r
+ smsceditform.edit1.Text:=smsc2[smscselectitem].name;\r
+ smsceditform.edit2.Text:=smsc2[smscselectitem].number;\r
+ smsceditform.edit3.Text:=smsc2[smscselectitem].DefaultRecipient;\r
+ case smsc2[smscselectitem].Validity of\r
+ GSMV_1_Hour : SMSCEditForm.combobox1.itemindex:=0;\r
+ GSMV_6_Hours : SMSCEditForm.combobox1.itemindex:=1;\r
+ GSMV_24_Hours : SMSCEditForm.combobox1.itemindex:=2;\r
+ GSMV_72_Hours : SMSCEditForm.combobox1.itemindex:=3;\r
+ GSMV_1_Week : SMSCEditForm.combobox1.itemindex:=4;\r
+ else\r
+ SMSCEditForm.combobox1.itemindex:=5;\r
+ end;\r
+ case smsc2[smscselectitem].Format of\r
+ GSMF_Text : SMSCEditForm.combobox2.itemindex:=0;\r
+ GSMF_Fax : SMSCEditForm.combobox2.itemindex:=1;\r
+ GSMF_Email : SMSCEditForm.combobox2.itemindex:=2;\r
+ else\r
+ SMSCEditForm.combobox2.itemindex:=3;\r
+ end;\r
+ SMSCEditForm.ShowModal;\r
+// end;\r
+end;\r
+\r
+procedure TMainForm.SMSCPopupMenuPopup(Sender: TObject);\r
+begin\r
+ if GSMPhoneConnected then\r
+ begin\r
+ if listview6.selected<>nil then\r
+ Edit5.Enabled:=true\r
+ else\r
+ Edit5.Enabled:=false;\r
+ end else\r
+ begin\r
+ Edit5.Enabled:=false;\r
+ end;\r
+\r
+end;\r
+\r
+procedure TMainForm.ListView6SelectItem(Sender: TObject; Item: TListItem;\r
+ Selected: Boolean);\r
+begin\r
+ if Selected then\r
+ begin\r
+ smscselectitem:=Item.Index+1;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.ListView1SelectItem(Sender: TObject; Item: TListItem;\r
+ Selected: Boolean);\r
+begin\r
+ if Selected then\r
+ begin\r
+ pbknumberentry:=Item.Index+1;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.Edit7Click(Sender: TObject);\r
+var\r
+ current:integer;\r
+ i:integer;\r
+begin\r
+// if listview1.Selected<>nil then\r
+// begin\r
+ pbk.Location:=pbknumberentry;\r
+ case ComboBox1.ItemIndex of\r
+ 1:begin pbk.MemoryType:=GMT_DC;pbk.Location:=pbk.Location-1;end;\r
+ 2:begin pbk.MemoryType:=GMT_MC;pbk.Location:=pbk.Location-1;end;\r
+ 3:begin pbk.MemoryType:=GMT_ON;pbk.Location:=pbk.Location-1;end;\r
+ 4:pbk.MemoryType:=GMT_ME;\r
+ 5:pbk.MemoryType:=GMT_SM;\r
+ 6:begin pbk.MemoryType:=GMT_RC;pbk.Location:=pbk.Location-1;end;\r
+ end;\r
+ GSM_GetMemoryLocation(@pbk);\r
+ current:=0;\r
+ pbkform.ListView1.Items.Clear;\r
+ pbkform.ListView1.Items.Add;\r
+ pbkform.ListView1.Items.Item[0].Caption:='Name';\r
+ pbkform.ListView1.Items.Item[0].SubItems.Add(pbk.name);\r
+ if (pbk.Number[1]<>chr(0)) then\r
+ begin\r
+ current:=current+1;\r
+ pbkform.ListView1.Items.Add;\r
+ pbkform.ListView1.Items.Item[current].Caption:='Number';\r
+ pbkform.ListView1.Items.Item[current].SubItems.Add(pbk.number);\r
+ end;\r
+ for i:=1 to pbk.SubEntriesCount do\r
+ begin\r
+ current:=current+1;\r
+ pbkform.ListView1.Items.Add;\r
+ case pbk.SubEntries[i].EntryType of\r
+ GSM_Number:case pbk.SubEntries[i].NumberType of\r
+ GSM_General :pbkform.ListView1.Items.Item[current].Caption:='General number';\r
+ GSM_General2:pbkform.ListView1.Items.Item[current].Caption:='General number';\r
+ GSM_Mobile :pbkform.ListView1.Items.Item[current].Caption:='Mobile';\r
+ GSM_Work :pbkform.ListView1.Items.Item[current].Caption:='Work';\r
+ GSM_Fax :pbkform.ListView1.Items.Item[current].Caption:='Fax';\r
+ GSM_Home :pbkform.ListView1.Items.Item[current].Caption:='Home';\r
+ else\r
+ pbkform.ListView1.Items.Item[current].Caption:=inttostr(pbk.SubEntries[i].NumberType);\r
+ end;\r
+ GSM_Note :pbkform.ListView1.Items.Item[current].Caption:='Note';\r
+ GSM_Postal:pbkform.ListView1.Items.Item[current].Caption:='Address';\r
+ GSM_Email :pbkform.ListView1.Items.Item[current].Caption:='Email';\r
+ GSM_Date :begin\r
+ pbkform.ListView1.Items.Item[current].Caption:='Date';\r
+ pbkform.ListView1.Items.Item[current].SubItems.Add(DayOfweek2(pbk.SubEntries[i].Date.Day,pbk.SubEntries[i].Date.Month,pbk.SubEntries[i].Date.Year)+' '+inttostr2(pbk.SubEntries[i].Date.Day,2)+'-'+inttostr2(pbk.SubEntries[i].Date.Month,2)+'-'+inttostr(pbk.SubEntries[i].Date.Year)+' '+inttostr2(pbk.SubEntries[i].Date.Hour,2)+':'+inttostr2(pbk.SubEntries[i].Date.Minute,2)+':'+inttostr2(pbk.SubEntries[i].Date.Second,2));\r
+ end;\r
+ end;\r
+ if (pbk.SubEntries[i].EntryType<>GSM_Date) then\r
+ pbkform.ListView1.Items.Item[current].SubItems.Add(pbk.SubEntries[i].Number);\r
+ end;\r
+\r
+ if (pbk.Group>=0) and (pbk.Group<=4) then\r
+ begin\r
+ current:=current+1;\r
+ pbkform.ListView1.Items.Add;\r
+ pbkform.ListView1.Items.Item[current].Caption:='Caller group';\r
+ pbkform.ListView1.Items.Item[current].SubItems.Add(caller[pbk.Group+1].text);\r
+ end;\r
+ pbkform.showmodal;\r
+// end;\r
+end;\r
+\r
+procedure TMainForm.Button18Click(Sender: TObject);\r
+var\r
+ i,j:integer;\r
+ Name,Data:array[1..255] of char;\r
+begin\r
+ if smscinit=false then\r
+ begin\r
+ MainForm.ListView6.Items.Clear;\r
+ smscnum:=1;\r
+ while true do\r
+ begin\r
+ ReadSMSC;\r
+ if smscinit then break;\r
+ end;\r
+ end;\r
+\r
+ //sms text\r
+ SMSEditForm.Memo1.Text:='';\r
+\r
+ //number\r
+ SMSEditForm.ComboBox9.Text:='';\r
+ AddSMSEditSenderList;\r
+ \r
+ //folders\r
+ GSM_GetSMSFolders(@SMSfolders);\r
+ SMSEditForm.ComboBox1.Items.Clear;\r
+ for i:=1 to SMSFolders.number do\r
+ begin\r
+ SMSEditForm.ComboBox1.Items.Add(SMSfolders.folder[i].Name);\r
+ end;\r
+ SMSEditForm.ComboBox1.ItemIndex:=0;\r
+\r
+ //smsc\r
+ SetSMSC(1);\r
+ SMSEditForm.ComboBox2.Items.Clear;\r
+ SMSEditForm.ComboBox2.Items.Add('custom');\r
+ for i:=1 to smscnum-1 do\r
+ begin\r
+ if SMSC2[i].Name[1]<>chr(0) then\r
+ SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i)+' - '+SMSC2[i].Name)\r
+ else\r
+ SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i));\r
+ end;\r
+ SMSEditForm.ComboBox2.ItemIndex:=1;\r
+\r
+ SMSEditForm.TextSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.BitmapSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.RingtoneSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.CalendarSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.WAPBookTabSheet.TabVisible:=false;\r
+ SMSEditForm.WAPSettTabSheet.TabVisible:=false;\r
+ SMSEditForm.PBKSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.SMSEditPageControl.ActivePage:=Smseditform.BitmapSMSTabSheet;\r
+\r
+ SMSEditForm.Image1.Picture:=Image1.Picture;\r
+\r
+ SMSEditForm.Memo2.Text:='';\r
+ SMSEditForm.CheckBox5.Checked:=false;\r
+ if bitma.type2<>GSM_PictureImage then\r
+ begin\r
+ SMSEditForm.Memo2.Visible:=false;\r
+ SMSEditForm.Label10.Visible:=false;\r
+ SMSEditForm.CheckBox5.Visible:=false;\r
+ SMSEditForm.CheckBox6.Visible:=false;\r
+ end else\r
+ begin\r
+ SMSEditForm.Memo2.Visible:=true;\r
+ SMSEditForm.Label10.Visible:=true;\r
+ SMSEditForm.CheckBox5.Visible:=true;\r
+ SMSEditForm.CheckBox6.Visible:=true;\r
+ end;\r
+\r
+ SMSEditForm.Label9.Visible:=false;\r
+ SMSEditForm.ComboBox7.Visible:=false;\r
+ if bitma.type2=GSM_OperatorLogo then\r
+ begin\r
+ SMSEditForm.Label9.Visible:=true;\r
+ SMSEditForm.ComboBox7.Visible:=true;\r
+ //preparing network names\r
+ i:=0;\r
+ while true do\r
+ begin\r
+ GSM_GetNetworkData(i,@Name,@Data);\r
+\r
+ // conversion problems\r
+ Label14.Caption:=Name;\r
+ if strcomp(PChar(Label14.Caption),PChar('unknown'))=0 then break;\r
+\r
+ // conversion problems\r
+ Label14.Caption:=' - '+Label14.Caption;\r
+ for j:=6 downto 1 do\r
+ begin\r
+ Label14.Caption:=Data[j]+Label14.Caption;\r
+ end;\r
+\r
+ SMSEditForm.ComboBox7.Items.Add(Pchar(Label14.Caption));\r
+ i:=i+1;\r
+ end;\r
+ //looking for current network\r
+ if GSMPhoneConnected then\r
+ begin\r
+ // conversion problems\r
+ Label14.Caption:=MainForm.StatusBar1.Panels[1].Text;\r
+ Label14.Caption:=' - '+Label14.Caption;\r
+ for j:=6 downto 1 do\r
+ begin\r
+ Label14.Caption:=GSMNetworkInfo.NetworkCode[j]+Label14.Caption;\r
+ end;\r
+\r
+ i:=1;\r
+ while true do\r
+ begin\r
+ if strcomp(pchar(SMSEditForm.ComboBox7.Items[i]),pchar(Label14.Caption))=0\r
+ then break;\r
+ i:=i+1;\r
+ end;\r
+ SMSEditForm.ComboBox7.ItemIndex:=i;\r
+ end;\r
+ end;\r
+\r
+ if (GSM_GetModelFeature(FN_SMS)=F_SMS71) then\r
+ begin\r
+ SMSEditForm.edit3.Visible:=true;\r
+ SMSEditForm.label14.Visible:=true;\r
+ end else\r
+ begin\r
+ SMSEditForm.edit3.Visible:=false;\r
+ SMSEditForm.label14.Visible:=false;\r
+ end;\r
+\r
+ SMSEditForm.ShowModal;\r
+end;\r
+\r
+procedure TMainForm.Button17Click(Sender: TObject);\r
+var\r
+ i:integer;\r
+begin\r
+ if smscinit=false then\r
+ begin\r
+ MainForm.ListView6.Items.Clear;\r
+ smscnum:=1;\r
+ while true do\r
+ begin\r
+ ReadSMSC;\r
+ if smscinit then break;\r
+ end;\r
+ end;\r
+\r
+ //sms text\r
+ SMSEditForm.Memo1.Text:='';\r
+\r
+ //number\r
+ SMSEditForm.ComboBox9.Text:='';\r
+ AddSMSEditSenderList;\r
+ \r
+ //folders\r
+ GSM_GetSMSFolders(@SMSfolders);\r
+ SMSEditForm.ComboBox1.Items.Clear;\r
+ for i:=1 to SMSFolders.number do\r
+ begin\r
+ SMSEditForm.ComboBox1.Items.Add(SMSfolders.folder[i].Name);\r
+ end;\r
+ SMSEditForm.ComboBox1.ItemIndex:=0;\r
+\r
+ //smsc\r
+ SetSMSC(1);\r
+ SMSEditForm.ComboBox2.Items.Clear;\r
+ SMSEditForm.ComboBox2.Items.Add('custom');\r
+ for i:=1 to smscnum-1 do\r
+ begin\r
+ if SMSC2[i].Name[1]<>chr(0) then\r
+ SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i)+' - '+SMSC2[i].Name)\r
+ else\r
+ SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i));\r
+ end;\r
+ SMSEditForm.ComboBox2.ItemIndex:=1;\r
+\r
+ SMSEditForm.TextSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.BitmapSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.RingtoneSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.CalendarSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.WAPBookTabSheet.TabVisible:=false;\r
+ SMSEditForm.WAPSettTabSheet.TabVisible:=false;\r
+ SMSEditForm.PBKSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.SMSEditPageControl.ActivePage:=Smseditform.RingtoneSMSTabSheet;\r
+\r
+ if (GSM_GetModelFeature(FN_SMS)=F_SMS71) then\r
+ begin\r
+ SMSEditForm.edit3.Visible:=true;\r
+ SMSEditForm.label14.Visible:=true;\r
+ end else\r
+ begin\r
+ SMSEditForm.edit3.Visible:=false;\r
+ SMSEditForm.label14.Visible:=false;\r
+ end;\r
+\r
+ SMSEditForm.ShowModal;\r
+end;\r
+\r
+procedure TMainForm.SMS1Click(Sender: TObject);\r
+var\r
+ i:integer;\r
+begin\r
+ if smscinit=false then\r
+ begin\r
+ MainForm.ListView6.Items.Clear;\r
+ smscnum:=1;\r
+ while true do\r
+ begin\r
+ ReadSMSC;\r
+ if smscinit then break;\r
+ end;\r
+ end;\r
+\r
+ //sms text\r
+ SMSEditForm.Memo1.Text:='';\r
+\r
+ //number\r
+ SMSEditForm.ComboBox9.Text:='';\r
+ AddSMSEditSenderList;\r
+ \r
+ //folders\r
+ GSM_GetSMSFolders(@SMSfolders);\r
+ SMSEditForm.ComboBox1.Items.Clear;\r
+ for i:=1 to SMSFolders.number do\r
+ begin\r
+ SMSEditForm.ComboBox1.Items.Add(SMSfolders.folder[i].Name);\r
+ end;\r
+ SMSEditForm.ComboBox1.ItemIndex:=0;\r
+\r
+ //smsc\r
+ SetSMSC(1);\r
+ SMSEditForm.ComboBox2.Items.Clear;\r
+ SMSEditForm.ComboBox2.Items.Add('custom');\r
+ for i:=1 to smscnum-1 do\r
+ begin\r
+ if SMSC2[i].Name[1]<>chr(0) then\r
+ SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i)+' - '+SMSC2[i].Name)\r
+ else\r
+ SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i));\r
+ end;\r
+ SMSEditForm.ComboBox2.ItemIndex:=1;\r
+\r
+ SMSEditForm.TextSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.BitmapSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.RingtoneSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.CalendarSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.WAPBookTabSheet.TabVisible:=false;\r
+ SMSEditForm.WAPSettTabSheet.TabVisible:=false;\r
+ SMSEditForm.PBKSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.SMSEditPageControl.ActivePage:=Smseditform.CalendarSMSTabSheet;\r
+\r
+ calenda.Location:=calendarselect;\r
+ MainForm.Timer2.Enabled:=false;\r
+ GSM_GetCalendarNote(@calenda);\r
+ MainForm.Timer2.Enabled:=true;\r
+\r
+ if (GSM_GetModelFeature(FN_SMS)=F_SMS71) then\r
+ begin\r
+ SMSEditForm.edit3.Visible:=true;\r
+ SMSEditForm.label14.Visible:=true;\r
+ end else\r
+ begin\r
+ SMSEditForm.edit3.Visible:=false;\r
+ SMSEditForm.label14.Visible:=false;\r
+ end;\r
+\r
+ SMSEditForm.ShowModal;\r
+end;\r
+\r
+procedure TMainForm.SMSSendSave1Click(Sender: TObject);\r
+var\r
+ i:integer;\r
+begin\r
+ if smscinit=false then\r
+ begin\r
+ MainForm.ListView6.Items.Clear;\r
+ smscnum:=1;\r
+ while true do\r
+ begin\r
+ ReadSMSC;\r
+ if smscinit then break;\r
+ end;\r
+ end;\r
+\r
+ //sms text\r
+ SMSEditForm.Memo1.Text:='';\r
+\r
+ //number\r
+ SMSEditForm.ComboBox9.Text:='';\r
+ AddSMSEditSenderList;\r
+ \r
+ //folders\r
+ GSM_GetSMSFolders(@SMSfolders);\r
+ SMSEditForm.ComboBox1.Items.Clear;\r
+ for i:=1 to SMSFolders.number do\r
+ begin\r
+ SMSEditForm.ComboBox1.Items.Add(SMSfolders.folder[i].Name);\r
+ end;\r
+ SMSEditForm.ComboBox1.ItemIndex:=0;\r
+\r
+ //smsc\r
+ SetSMSC(1);\r
+ SMSEditForm.ComboBox2.Items.Clear;\r
+ SMSEditForm.ComboBox2.Items.Add('custom');\r
+ for i:=1 to smscnum-1 do\r
+ begin\r
+ if SMSC2[i].Name[1]<>chr(0) then\r
+ SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i)+' - '+SMSC2[i].Name)\r
+ else\r
+ SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i));\r
+ end;\r
+ SMSEditForm.ComboBox2.ItemIndex:=1;\r
+\r
+ SMSEditForm.TextSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.BitmapSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.RingtoneSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.CalendarSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.WAPBookTabSheet.TabVisible:=false;\r
+ SMSEditForm.WAPSettTabSheet.TabVisible:=false;\r
+ SMSEditForm.PBKSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.SMSEditPageControl.ActivePage:=Smseditform.PBKSMSTabSheet;\r
+\r
+ pbk.Location:=pbknumberentry-1;\r
+ case ComboBox1.ItemIndex of\r
+ 1:pbk.MemoryType:=GMT_DC;\r
+ 2:pbk.MemoryType:=GMT_MC;\r
+ 3:pbk.MemoryType:=GMT_ON;\r
+ 4:pbk.MemoryType:=GMT_ME;\r
+ 5:pbk.MemoryType:=GMT_SM;\r
+ 6:pbk.MemoryType:=GMT_RC;\r
+ end;\r
+ MainForm.Timer2.Enabled:=false;\r
+ GSM_GetMemoryLocation(@pbk);\r
+ MainForm.Timer2.Enabled:=true;\r
+\r
+ if (GSM_GetModelFeature(FN_SMS)=F_SMS71) then\r
+ begin\r
+ SMSEditForm.edit3.Visible:=true;\r
+ SMSEditForm.label14.Visible:=true;\r
+ end else\r
+ begin\r
+ SMSEditForm.edit3.Visible:=false;\r
+ SMSEditForm.label14.Visible:=false;\r
+ end;\r
+\r
+ SMSEditForm.ShowModal;\r
+end;\r
+\r
+procedure TMainForm.Button13Click(Sender: TObject);\r
+var\r
+ ring:GSM_BinRingtone;\r
+begin\r
+ if OpenDialog1.Execute then\r
+ begin\r
+ if GSM_ReadBinRingtoneFile(PChar(OpenDialog1.FileName),@ring)=0 then\r
+ begin\r
+ Edit2.Text:=ring.Name;\r
+ binring:=ring;\r
+ end;\r
+ end;\r
+\r
+end;\r
+\r
+procedure TMainForm.Button14Click(Sender: TObject);\r
+var\r
+ i:integer;\r
+ mybinring:GSM_BinRingtone;\r
+ myring:GSM_Ringtone;\r
+begin\r
+ LogosRingForm.Label1.Caption:='Do you want to set ringtone ?';\r
+ LogosRingForm.ComboBox3.Visible:=true;\r
+ LogosRingForm.ComboBox3.Items.Clear();\r
+ MainForm.Timer2.Enabled:=false;\r
+ for i:=1 to GSM_GetModelFeature(FN_RINGNUMBER) do\r
+ begin\r
+ mybinring.location:=i;\r
+ if (GSM_GetPhoneRingtone(@mybinring,@myring)=0) then\r
+ begin\r
+ if GSM_GetModelFeature(FN_RINGTONES)=F_RING_SM then\r
+ begin\r
+ LogosRingForm.ComboBox3.Items.Add(myring.name);\r
+ end else\r
+ begin\r
+ LogosRingForm.ComboBox3.Items.Add(mybinring.name);\r
+ end;\r
+ end else\r
+ LogosRingForm.ComboBox3.Items.Add('Location '+inttostr(i));\r
+ end;\r
+ MainForm.Timer2.Enabled:=true;\r
+ LogosRingForm.ComboBox3.ItemIndex:=0;\r
+ LogosRingForm.ShowModal;\r
+ if LogosRingForm.ComboBox3.Visible then\r
+ begin\r
+ binring.location:=LogosRingForm.ComboBox3.ItemIndex+1;\r
+ MainForm.Timer2.Enabled:=false;\r
+ GSM_SetBinRingtone(@binring);\r
+ MainForm.Timer2.Enabled:=true;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.ConfigTabSheetHide(Sender: TObject);\r
+var\r
+ MyIniFile: TIniFile;\r
+begin\r
+ if MessageDlg('Do you want to save config ?',\r
+ mtConfirmation, [mbYes, mbNo], 0) = mrYes then\r
+ begin\r
+ MyIniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'\gnokiirc');\r
+ case MainForm.ComboBox4.ItemIndex of\r
+ 0:MyIniFile.WriteString('global', 'connection', 'mbus');\r
+ 1:MyIniFile.WriteString('global', 'connection', 'fbus');\r
+ 2:MyIniFile.WriteString('global', 'connection', 'dlr3');\r
+ 3:MyIniFile.WriteString('global', 'connection', 'infrared');\r
+ end;\r
+ MyIniFile.WriteString('global', 'model', MainForm.ComboBox6.Text);\r
+ MyIniFile.WriteString('global', 'port', MainForm.ComboBox5.Text);\r
+ if MainForm.CheckBox2.Checked then\r
+ MyIniFile.WriteString('global', 'synchronizetime', 'yes')\r
+ else\r
+ MyIniFile.WriteString('global', 'synchronizetime', 'no');\r
+ MyIniFile.Free;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.ConfigTabSheetShow(Sender: TObject);\r
+var\r
+ MyIniFile: TIniFile;\r
+ x:string;\r
+ i:integer;\r
+begin\r
+ MyIniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'\gnokiirc');\r
+\r
+ x:=MyInifile.ReadString('global', 'connection', 'fbus');\r
+ MainForm.ComboBox4.ItemIndex:=0;\r
+ if x='fbus' then MainForm.ComboBox4.ItemIndex:=1;\r
+ if x='dlr3' then MainForm.ComboBox4.ItemIndex:=2;\r
+ if x='infrared' then MainForm.ComboBox4.ItemIndex:=3;\r
+\r
+ x:=MyInifile.ReadString('global', 'port', 'com2:');\r
+ MainForm.ComboBox5.ItemIndex:=0;\r
+ for i:=1 to MainForm.ComboBox5.Items.Count do\r
+ begin\r
+ if MainForm.ComboBox5.Items.Strings[i-1]=x then\r
+ MainForm.ComboBox5.ItemIndex:=i-1;\r
+ end;\r
+\r
+ x:=MyInifile.ReadString('global', 'model', 'auto');\r
+ MainForm.ComboBox6.ItemIndex:=0;\r
+ for i:=1 to MainForm.ComboBox6.Items.Count do\r
+ begin\r
+ if MainForm.ComboBox6.Items.Strings[i-1]=x then\r
+ MainForm.ComboBox6.ItemIndex:=i-1;\r
+ end;\r
+\r
+ x:=MyInifile.ReadString('global', 'synchronizetime', 'no');\r
+ if x='yes' then\r
+ MainForm.CheckBox2.Checked:=True\r
+ else\r
+ MainForm.CheckBox2.Checked:=False;\r
+ MyIniFile.Free;\r
+end;\r
+\r
+procedure TMainForm.Timer2Timer(Sender: TObject);\r
+begin\r
+ if SparkyThread.Suspended then SparkyThread.Resume;\r
+ Timer2.Interval:=2000;\r
+end;\r
+\r
+procedure TMainForm.AboutTabSheetShow(Sender: TObject);\r
+var\r
+ xxx:array[1..256] of char;\r
+begin\r
+ GSM_GetDLLVersion(@xxx);\r
+ Label20.Caption:=xxx;\r
+end;\r
+\r
+procedure SaveSMSOffline;\r
+var F:file of GSM_SMSMessage;\r
+ i:integer;\r
+begin\r
+ AssignFile(F, 'gnokiisms');\r
+ Rewrite(F);\r
+ for i:=1 to SMSOfflineNumber do\r
+ begin\r
+ Write(f,SMSOffline[i]);\r
+ end;\r
+ CloseFile(F);\r
+end;\r
+\r
+procedure ReadSMSOffline;\r
+var F:file of GSM_SMSMessage;\r
+begin\r
+ MainForm.ListView10.items.Clear;\r
+ AssignFile(F, 'gnokiisms');\r
+ Reset(F);\r
+ if (ioresult=0) then\r
+ begin\r
+ ReadPBKOffline;\r
+ smsofflinenumber:=0;\r
+ while not eof(f) do\r
+ begin\r
+ smsofflinenumber:=smsofflinenumber+1;\r
+ read(f,smsoffline[smsofflinenumber]);\r
+ AddSMSInfo(MainForm.ListView10,smsoffline[smsofflinenumber]);\r
+ end;\r
+ CloseFile(F);\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.PCSMSTabSheetShow(Sender: TObject);\r
+begin\r
+ ReadSMSOffline;\r
+end;\r
+\r
+procedure TMainForm.CopytoPC1Click(Sender: TObject);\r
+begin\r
+ SMSofflinenumber:=smsofflinenumber+1;\r
+ SMSoffline[SMSofflinenumber]:=SMS[smsnumindex];\r
+ SaveSMSOffline;\r
+end;\r
+\r
+procedure TMainForm.ListView10SelectItem(Sender: TObject; Item: TListItem;\r
+ Selected: Boolean);\r
+begin\r
+ AddSMSDescription(SMSOffline[Item.Index+1],MainForm.Memo4,MainForm.Memo5);\r
+end;\r
+\r
+procedure TMainForm.PCSMSPopupMenuPopup(Sender: TObject);\r
+begin\r
+ SendSave1.Enabled:=False;\r
+ if GSMPhoneConnected then SendSave1.Enabled:=True;\r
+\r
+ Delete3.Enabled:=false;\r
+ if listview10.selected<>nil then Delete3.Enabled:=True;\r
+end;\r
+\r
+procedure TMainForm.Delete3Click(Sender: TObject);\r
+var\r
+ i:integer;\r
+begin\r
+ if Application.MessageBox('Do you want to delete this SMS ?','Question',MB_YESNO)=IDYES then\r
+ begin\r
+ for i:=MainForm.ListView10.ItemIndex to smsofflinenumber-1 do\r
+ begin\r
+ SMSOffline[i]:=SMSOffline[i+1];\r
+ end;\r
+ Smsofflinenumber:=smsofflinenumber-1;\r
+ SaveSMSOffline;\r
+ ReadSMSOffline;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.SendSave1Click(Sender: TObject);\r
+var i:integer;\r
+begin\r
+ GSM_GetSMSFolders(@SMSfolders);\r
+ MainForm.ComboBox3.Items.Clear();\r
+ for i:=1 to SMSfolders.number do\r
+ begin\r
+ MainForm.ComboBox3.Items.Add(SMSfolders.folder[i].Name);\r
+ end;\r
+ MainForm.ComboBox3.ItemIndex:=0;\r
+ setsmslocation:=0;\r
+ SendSaveSMS(SMSOffline[MainForm.ListView10.ItemIndex+1]);\r
+end;\r
+\r
+\r
+procedure EndWAPBookmarkThread;\r
+begin\r
+ if (WAPBookmarkThread<>nil) then\r
+ begin\r
+ WAPBookmarkThread.Terminate();\r
+ MainForm.Timer2.Enabled:=true;\r
+ WAPBookmarkThread:=nil;\r
+ end;\r
+end;\r
+\r
+procedure TWAPBookmarkThread.Execute;\r
+var\r
+ bookmark:GSM_WAPBookmark;\r
+ i:integer;\r
+begin\r
+ while not Terminated do\r
+ begin\r
+ bookmark.location:=bookmarknum;\r
+ i:=GSM_GetWAPBookmark(@bookmark);\r
+ MainForm.ListView9.Items.Add;\r
+ MainForm.ListView9.Items.Item[bookmarknum-1].Caption:=inttostr(bookmarknum);\r
+ if (i=0) then\r
+ begin\r
+ MainForm.ListView9.Items.Item[bookmarknum-1].Subitems.Add(bookmark.title);\r
+ MainForm.ListView9.Items.Item[bookmarknum-1].Subitems.Add(bookmark.adress);\r
+ end else\r
+ begin\r
+ MainForm.ListView9.Items.Item[bookmarknum-1].Subitems.Add('');\r
+ end;\r
+ bookmarknum:=bookmarknum+1;\r
+ if bookmarknum=15 then EndWAPBookmarkThread;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.WapBookTabSheetHide(Sender: TObject);\r
+begin\r
+ EndWAPBookmarkThread;\r
+end;\r
+\r
+procedure TMainForm.WapBookTabSheetShow(Sender: TObject);\r
+begin\r
+ if GSMPhoneConnected then\r
+ begin\r
+ if GSM_GetModelFeature(FN_WAP)<>0 then\r
+ begin\r
+ GroupBox17.Ctl3D:=true;\r
+ ListView9.Ctl3D:=true;\r
+ ListView9.Enabled:=true;\r
+ bookmarknum:=1;\r
+ MainForm.ListView9.Items.Clear;\r
+ MainForm.Timer2.Enabled:=false;\r
+ WAPBookmarkThread:=TWAPBookmarkThread.Create(false);\r
+ end else\r
+ begin\r
+ GroupBox17.Ctl3D:=false;\r
+ ListView9.Ctl3D:=false;\r
+ ListView9.Enabled:=false;\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.ComboBox7Change(Sender: TObject);\r
+var\r
+ settings:GSM_WAPSettings;\r
+begin\r
+ if combobox7.ItemIndex>0 then\r
+ begin\r
+ settings.location:=combobox7.ItemIndex;\r
+ MainForm.Timer2.Enabled:=false;\r
+ GSM_GetWAPSettings(@settings);\r
+ MainForm.Timer2.Enabled:=true;\r
+\r
+ if (settings.title[1]<>chr(0)) then\r
+ Edit6.Text:=settings.title\r
+ else\r
+ edit6.Text:='set '+inttostr(combobox7.ItemIndex);\r
+\r
+ edit8.Text:=settings.homepage;\r
+\r
+ combobox10.itemindex:=1;\r
+ if settings.iscontinuous<>0 then combobox10.Itemindex:=0;\r
+\r
+ combobox9.itemindex:=1;\r
+ if settings.issecurity<>0 then combobox9.Itemindex:=0;\r
+\r
+ if (settings.bearer>=0) and (settings.bearer<3) then\r
+ begin\r
+ combobox8.ItemIndex:=settings.bearer;\r
+\r
+ Label27.enabled:=false;\r
+ Label28.enabled:=false;\r
+ Label29.enabled:=false;\r
+ label30.enabled:=false;\r
+ label31.enabled:=false;\r
+ label32.enabled:=false;\r
+ label33.enabled:=false;\r
+ label34.enabled:=false;\r
+ label35.enabled:=false;\r
+ label36.enabled:=false;\r
+ label37.enabled:=false;\r
+ edit9.enabled:=false;\r
+ edit10.enabled:=false;\r
+ edit11.enabled:=false;\r
+ edit12.enabled:=false;\r
+ edit13.enabled:=false;\r
+ edit14.enabled:=false;\r
+ edit15.enabled:=false;\r
+ combobox11.enabled:=false;\r
+ combobox12.enabled:=false;\r
+ combobox13.enabled:=false;\r
+ combobox14.enabled:=false;\r
+\r
+ case settings.bearer of\r
+ WAPSETTINGS_BEARER_SMS:\r
+ begin\r
+ label27.enabled:=true;\r
+ edit9.text:=settings.server;\r
+ edit9.enabled:=true;\r
+\r
+ label28.enabled:=true;\r
+ edit10.text:=settings.service;\r
+ edit10.enabled:=true;\r
+ end;\r
+ WAPSETTINGS_BEARER_DATA:\r
+ begin\r
+ label29.enabled:=true;\r
+ edit11.text:=settings.dialup;\r
+ edit11.enabled:=true;\r
+\r
+ label34.enabled:=true;\r
+ edit13.text:=settings.user;\r
+ edit13.enabled:=true;\r
+\r
+ label35.enabled:=true;\r
+ edit14.text:=settings.password;\r
+ edit14.enabled:=true;\r
+\r
+ label30.enabled:=true;\r
+ edit12.text:=settings.ipaddress;\r
+ edit12.enabled:=true;\r
+\r
+ label31.enabled:=true;\r
+ combobox11.enabled:=true;\r
+ combobox11.ItemIndex:=0;\r
+ if settings.isnormalauthentication=0 then\r
+ combobox11.ItemIndex:=1;\r
+\r
+ label32.enabled:=true;\r
+ combobox12.enabled:=true;\r
+ combobox12.ItemIndex:=0;\r
+ if settings.isISDNcall=0 then\r
+ combobox12.ItemIndex:=1;\r
+\r
+ label33.enabled:=true;\r
+ combobox13.enabled:=true;\r
+ combobox13.ItemIndex:=1;\r
+ if settings.isspeed14400=0 then\r
+ combobox13.ItemIndex:=0;\r
+ end;\r
+ WAPSETTINGS_BEARER_USSD:\r
+ begin\r
+ label36.enabled:=true;\r
+ edit15.text:=settings.code;\r
+ edit15.enabled:=true;\r
+\r
+ label37.enabled:=true;\r
+ combobox14.Enabled:=true;\r
+ combobox14.ItemIndex:=1;\r
+ if settings.isIP=0 then\r
+ begin\r
+ combobox14.ItemIndex:=1;\r
+\r
+ label28.enabled:=true;\r
+ edit10.text:=settings.service;\r
+ edit10.enabled:=true;\r
+ end else\r
+ begin\r
+ label30.enabled:=true;\r
+ edit12.text:=settings.ipaddress;\r
+ edit12.enabled:=true;\r
+ end;\r
+ end;\r
+ end;\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.Button19Click(Sender: TObject);\r
+var\r
+ Divert:GSM_CallDivert;\r
+begin\r
+ MainForm.Timer2.Enabled:=false;\r
+\r
+ divert.DType:=GSM_CDV_Busy;\r
+ divert.ctype:=GSM_CDV_VoiceCalls;\r
+ divert.Operation:=GSM_CDV_Query;\r
+ if gsm_calldivertoperation(@divert)=0 then\r
+ begin\r
+ if divert.enabled=0 then\r
+ begin\r
+ Label38.enabled:=false;\r
+ edit16.enabled:=false;\r
+ edit16.Text:='Not active';\r
+ end else\r
+ begin\r
+ Label38.enabled:=true;\r
+ edit16.enabled:=true;\r
+ edit16.Text:=divert.Number;\r
+ end;\r
+ end;\r
+\r
+ divert.DType:=GSM_CDV_NoAnswer;\r
+ divert.ctype:=GSM_CDV_VoiceCalls;\r
+ divert.Operation:=GSM_CDV_Query;\r
+ if gsm_calldivertoperation(@divert)=0 then\r
+ begin\r
+ if divert.enabled=0 then\r
+ begin\r
+ Label39.enabled:=false;\r
+ edit17.enabled:=false;\r
+ edit17.Text:='Not active';\r
+ label40.Enabled:=false;\r
+ combobox15.Enabled:=false;\r
+ end else\r
+ begin\r
+ Label39.enabled:=true;\r
+ edit17.enabled:=true;\r
+ edit17.Text:=divert.Number;\r
+ label40.Enabled:=true;\r
+ combobox15.Enabled:=true;\r
+ case divert.timeout of\r
+ 5:combobox15.ItemIndex:=0;\r
+ 10:combobox15.ItemIndex:=1;\r
+ 15:combobox15.ItemIndex:=2;\r
+ 20:combobox15.ItemIndex:=3;\r
+ 25:combobox15.ItemIndex:=4;\r
+ 30:combobox15.ItemIndex:=5;\r
+ end;\r
+ end;\r
+ end;\r
+\r
+ divert.DType:=GSM_CDV_OutOfreach;\r
+ divert.ctype:=GSM_CDV_VoiceCalls;\r
+ divert.Operation:=GSM_CDV_Query;\r
+ if gsm_calldivertoperation(@divert)=0 then\r
+ begin\r
+ if divert.enabled=0 then\r
+ begin\r
+ Label41.enabled:=false;\r
+ edit18.enabled:=false;\r
+ edit18.Text:='Not active';\r
+ end else\r
+ begin\r
+ Label41.enabled:=true;\r
+ edit18.enabled:=true;\r
+ edit18.Text:=divert.Number;\r
+ end;\r
+ end;\r
+\r
+ MainForm.Timer2.Enabled:=true;\r
+end;\r
+\r
+procedure TMainForm.Button20Click(Sender: TObject);\r
+var\r
+ Divert:GSM_CallDivert;\r
+begin\r
+ MainForm.Timer2.Enabled:=false;\r
+\r
+ divert.DType:=GSM_CDV_AllTypes;\r
+ divert.ctype:=GSM_CDV_AllCalls;\r
+ divert.Operation:=GSM_CDV_Erasure;\r
+ gsm_calldivertoperation(@divert);\r
+\r
+ MainForm.Timer2.Enabled:=true;\r
+\r
+end;\r
+\r
+procedure ReadCalendarOffline;\r
+var F:file of GSM_calendarnote;\r
+begin\r
+ MainForm.ListView11.items.Clear;\r
+ AssignFile(F, 'gnokiicalendar');\r
+ Reset(F);\r
+ if (ioresult=0) then\r
+ begin\r
+ calendarofflinenumber:=0;\r
+ while not eof(f) do\r
+ begin\r
+ calendarofflinenumber:=calendarofflinenumber+1;\r
+ read(f,calendaroffline[calendarofflinenumber]);\r
+ AddCalendarNote(calendaroffline[calendarofflinenumber],mainform.ListView11);\r
+ end;\r
+ CloseFile(F);\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.PCOfflineTabSheetShow(Sender: TObject);\r
+begin\r
+ ReadSMSOffline;\r
+ Label43.Caption:=inttostr(smsofflinenumber);\r
+ ReadCalendarOffline;\r
+ Label45.Caption:=inttostr(calendarofflinenumber);\r
+end;\r
+\r
+procedure SaveCalendarOffline;\r
+var F:file of GSM_CalendarNote;\r
+ i:integer;\r
+begin\r
+ AssignFile(F, 'gnokiicalendar');\r
+ Rewrite(F);\r
+ for i:=1 to CalendarOfflineNumber do\r
+ begin\r
+ Write(f,CalendarOffline[i]);\r
+ end;\r
+ CloseFile(F);\r
+end;\r
+\r
+procedure TMainForm.PCCalendarTabSheetShow(Sender: TObject);\r
+begin\r
+ ReadCalendarOffline;\r
+end;\r
+\r
+procedure TMainForm.CopytoPC2Click(Sender: TObject);\r
+begin\r
+ setcalendarnote.Location:=calendarselect;\r
+ mainform.Timer2.Enabled:=false;\r
+ GSM_GetCalendarNote(@setcalendarnote);\r
+ mainform.Timer2.Enabled:=true;\r
+ Calendarofflinenumber:=calendarofflinenumber+1;\r
+ Calendaroffline[Calendarofflinenumber]:=setcalendarnote;\r
+ SaveCalendarOffline;\r
+end;\r
+\r
+procedure TMainForm.Delete5Click(Sender: TObject);\r
+var\r
+ i:integer;\r
+begin\r
+ if Application.MessageBox('Do you want to delete this note ?','Question',MB_YESNO)=IDYES then\r
+ begin\r
+ for i:=MainForm.ListView11.ItemIndex to calendarofflinenumber-1 do\r
+ begin\r
+ CalendarOffline[i]:=CalendarOffline[i+1];\r
+ end;\r
+ Calendarofflinenumber:=calendarofflinenumber-1;\r
+ SaveCalendarOffline;\r
+ ReadCalendarOffline;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.Copytocalendar1Click(Sender: TObject);\r
+begin\r
+ if not readcalendar then\r
+ begin\r
+ application.MessageBox('Please read first calendar notes from phone','info',mb_ok);\r
+ end else begin\r
+ setcalendarnote:=calendaroffline[mainform.listview11.itemindex+1];\r
+ setcalendarnote.Location:=MainForm.ListView4.Items.Count+1;\r
+\r
+ EditCalendarNote;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.PCCalendarPopupMenuPopup(Sender: TObject);\r
+begin\r
+ CopyTocalendar1.Enabled:=False;\r
+ if (GSMPhoneConnected) and (GSM_GetModelFeature(FN_Calendar)<>0)\r
+ and (listview11.selected<>nil) then copytocalendar1.Enabled:=True;\r
+\r
+ Delete5.Enabled:=false;\r
+ if listview11.selected<>nil then Delete5.Enabled:=True;\r
+end;\r
+\r
+procedure TMainForm.Savebackuptofile1Click(Sender: TObject);\r
+begin\r
+ PhoneBackup.PhonePhonebookUsed:=0;\r
+ PhoneBackup.SIMPhonebookUsed:=0;\r
+ PhoneBackup.CallerAvailable:=0;\r
+ PhoneBackup.StartupLogoAvailable:=0;\r
+ PhoneBackup.StartupText.text[1]:=chr(0);\r
+ PhoneBackup.OperatorLogoAvailable:=0;\r
+ PhoneBackup.SpeedAvailable:=0;\r
+\r
+ BackupForm.CheckBox3.Enabled:=true;\r
+ BackupForm.CheckBox4.Enabled:=true;\r
+ BackupForm.CheckBox2.Enabled:=true;\r
+ BackupForm.CheckBox1.Enabled:=true;\r
+ BackupForm.CheckBox5.Enabled:=true;\r
+\r
+ BackupForm.GroupBox1.Caption:=' What do you want to backup ? ';\r
+ PhoneBackupAvailable:=True;\r
+ BackupForm.ListBox1.ItemIndex:=0;\r
+ BackupForm.GroupBox2.Visible:=true;\r
+ BackupForm.ShowModal;\r
+ if PhoneBackupAvailable then\r
+ begin\r
+ BackupProgressForm.ShowModal;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.Restorebackupfromfile1Click(Sender: TObject);\r
+begin\r
+ if OpenDialog1.Execute then\r
+ begin\r
+ if GSM_ReadBackupFile(PChar(OpenDialog1.FileName),@phonebackup)=0 then\r
+ begin\r
+ BackupForm.CheckBox3.Enabled:=true;\r
+ if PhoneBackup.CallerAvailable=0 then\r
+ BackupForm.CheckBox3.Enabled:=false;\r
+\r
+ BackupForm.CheckBox4.Enabled:=true;\r
+ if PhoneBackup.OperatorLogoAvailable=0 then\r
+ BackupForm.CheckBox4.Enabled:=false;\r
+\r
+ BackupForm.CheckBox2.Enabled:=true;\r
+ if PhoneBackup.PhonePhonebookUsed=0 then\r
+ BackupForm.CheckBox2.Enabled:=false;\r
+\r
+ BackupForm.CheckBox1.Enabled:=true;\r
+ if PhoneBackup.SIMPhonebookUsed=0 then\r
+ BackupForm.CheckBox1.Enabled:=false;\r
+\r
+ BackupForm.CheckBox5.Enabled:=true;\r
+\r
+ BackupForm.GroupBox1.Caption:=' What do you want to restore ? ';\r
+ PhoneBackupAvailable:=true;\r
+ BackupForm.GroupBox2.Visible:=false;\r
+ BackupForm.ShowModal;\r
+ if PhoneBackupAvailable then\r
+ begin\r
+ PhoneBackupAvailable:=false;\r
+ BackupProgressForm.ShowModal;\r
+ end;\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.PBKPopupMenuPopup(Sender: TObject);\r
+begin\r
+ Savephonebooktofileanotherapplication1.enabled:=false;\r
+ Delete4.enabled:=false;\r
+ Edit19.Enabled:=false;\r
+ Edit7.Enabled:=false;\r
+ SMSSendSave1.Enabled:=false;\r
+ copyphonebooktopc1.Enabled:=false;\r
+ if GSMPhoneConnected then\r
+ begin\r
+ if (pbkofflinenumber<>0) then copyphonebooktopc1.Enabled:=true;\r
+ if (ComboBox1.ItemIndex=4) or (ComboBox1.ItemIndex=5) then\r
+ begin\r
+ Savephonebooktofileanotherapplication1.enabled:=true;\r
+ if listview1.Selected<>nil then\r
+ begin\r
+ Delete4.enabled:=true;\r
+ Edit19.Enabled:=true;\r
+ end;\r
+ end;\r
+ if listview1.Selected<>nil then\r
+ begin\r
+ SMSSendSave1.Enabled:=true;\r
+ Edit7.Enabled:=true;\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.Savephonebooktofileanotherapplication1Click(\r
+ Sender: TObject);\r
+begin\r
+ PhoneBackup.CallerAvailable:=0;\r
+ PhoneBackup.StartupLogoAvailable:=0;\r
+ PhoneBackup.StartupText.text[1]:=chr(0);\r
+ PhoneBackup.OperatorLogoAvailable:=0;\r
+\r
+ BackupForm.CheckBox3.Enabled:=false;\r
+ BackupForm.CheckBox4.Enabled:=false;\r
+\r
+ BackupForm.CheckBox2.Enabled:=true;\r
+ if PhoneBackup.PhonePhonebookUsed=0 then\r
+ BackupForm.CheckBox2.Enabled:=false;\r
+\r
+ BackupForm.CheckBox1.Enabled:=true;\r
+ if PhoneBackup.SIMPhonebookUsed=0 then\r
+ BackupForm.CheckBox1.Enabled:=false;\r
+\r
+ BackupForm.CheckBox5.Enabled:=false;\r
+\r
+ BackupForm.GroupBox1.Caption:=' What do you want to backup ? ';\r
+ PhoneBackupAvailable:=True;\r
+ BackupForm.ListBox1.ItemIndex:=0;\r
+ BackupForm.GroupBox2.Visible:=true;\r
+ BackupForm.ShowModal;\r
+ if PhoneBackupAvailable then\r
+ begin\r
+ if MainForm.SaveDialog1.Execute then\r
+ begin\r
+ GSM_SaveBackupFile(PChar(MainForm.SaveDialog1.FileName),@phonebackup);\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.ListView4DblClick(Sender: TObject);\r
+begin\r
+// if (GSMPhoneConnected) and (ListView4.Selected<>nil) then\r
+// Edit3Click(Sender);\r
+end;\r
+\r
+procedure TMainForm.Edit19Click(Sender: TObject);\r
+var\r
+ i,j:integer;\r
+ num_num,text_num:integer;\r
+begin\r
+ if listview1.Selected<>nil then\r
+ begin\r
+ PBKEditForm.ComboBox1.ItemIndex:=1;\r
+ PBKEditForm.COmboBox2.Items:=PBKEditForm.COmboBox1.Items;\r
+ PBKEditForm.ComboBox2.ItemIndex:=1;\r
+ PBKEditForm.COmboBox3.Items:=PBKEditForm.COmboBox1.Items;\r
+ PBKEditForm.ComboBox3.ItemIndex:=1;\r
+ PBKEditForm.COmboBox4.Items:=PBKEditForm.COmboBox1.Items;\r
+ PBKEditForm.ComboBox4.ItemIndex:=1;\r
+ PBKEditForm.COmboBox5.Items:=PBKEditForm.COmboBox1.Items;\r
+ PBKEditForm.ComboBox5.ItemIndex:=1;\r
+ PBKEditForm.ComboBox6.ItemIndex:=0;\r
+ PBKEditForm.COmboBox7.Items:=PBKEditForm.COmboBox6.Items;\r
+ PBKEditForm.ComboBox7.ItemIndex:=0;\r
+ PbkEditForm.Edit2.Text:='';\r
+\r
+ num_num:=1;\r
+ text_num:=1;\r
+ pbk.Location:=pbknumberentry;\r
+ case ComboBox1.ItemIndex of\r
+ 4:pbk.MemoryType:=GMT_ME;\r
+ 5:pbk.MemoryType:=GMT_SM;\r
+ end;\r
+ GSM_GetMemoryLocation(@pbk);\r
+\r
+ pbkeditform.ComboBox1.enabled:=false;\r
+ pbkeditform.ComboBox2.enabled:=false;\r
+ pbkeditform.ComboBox3.enabled:=false;\r
+ pbkeditform.ComboBox4.enabled:=false;\r
+ pbkeditform.ComboBox5.enabled:=false;\r
+ pbkeditform.ComboBox6.enabled:=false;\r
+ pbkeditform.ComboBox7.enabled:=false;\r
+ pbkeditform.Edit3.enabled:=false;\r
+ pbkeditform.Edit4.enabled:=false;\r
+ pbkeditform.Edit5.enabled:=false;\r
+ pbkeditform.Edit6.enabled:=false;\r
+ pbkeditform.Edit7.enabled:=false;\r
+ pbkeditform.Edit8.enabled:=false;\r
+ PbkEditForm.Edit3.Text:='Not available';\r
+ PbkEditForm.Edit4.Text:='Not available';\r
+ PbkEditForm.Edit5.Text:='Not available';\r
+ PbkEditForm.Edit6.Text:='Not available';\r
+ PbkEditForm.Edit7.Text:='Not available';\r
+ PbkEditForm.Edit8.Text:='Not available';\r
+ if (pbk.MemoryType=GMT_ME) and\r
+ (GSM_GetModelFeature(FN_PHONEBOOK)=F_PBK71INT) then\r
+ begin\r
+ pbkeditform.ComboBox1.enabled:=true;\r
+ pbkeditform.ComboBox2.enabled:=true;\r
+ pbkeditform.ComboBox3.enabled:=true;\r
+ pbkeditform.ComboBox4.enabled:=true;\r
+ pbkeditform.ComboBox5.enabled:=true;\r
+ pbkeditform.ComboBox6.enabled:=true;\r
+ pbkeditform.ComboBox7.enabled:=true;\r
+ pbkeditform.Edit3.enabled:=true;\r
+ pbkeditform.Edit4.enabled:=true;\r
+ pbkeditform.Edit5.enabled:=true;\r
+ pbkeditform.Edit6.enabled:=true;\r
+ pbkeditform.Edit7.enabled:=true;\r
+ pbkeditform.Edit8.enabled:=true;\r
+ PbkEditForm.Edit3.Text:='';\r
+ PbkEditForm.Edit4.Text:='';\r
+ PbkEditForm.Edit5.Text:='';\r
+ PbkEditForm.Edit6.Text:='';\r
+ PbkEditForm.Edit7.Text:='';\r
+ PbkEditForm.Edit8.Text:='';\r
+ end;\r
+\r
+ pbkeditform.Label2.Enabled:=true;\r
+ pbkeditform.ComboBox8.Enabled:=true;\r
+ if (GSM_GetModelFeature(FN_CALLERGROUPS)=0) then\r
+ begin\r
+ pbkeditform.Label2.Enabled:=false;\r
+ pbkeditform.ComboBox8.Enabled:=false;\r
+ end;\r
+\r
+ pbkeditform.Edit1.Text:=pbk.name;\r
+ if (pbk.Number[1]<>chr(0)) then\r
+ begin\r
+ pbkeditform.ComboBox1.ItemIndex:=1;\r
+ pbkeditform.Edit2.Text:=pbk.number;\r
+ num_num:=num_num+1;\r
+ end;\r
+ for i:=1 to pbk.SubEntriesCount do\r
+ begin\r
+ case pbk.SubEntries[i].EntryType of\r
+ GSM_Number:\r
+ begin\r
+ j:=1;\r
+ case pbk.SubEntries[i].NumberType of\r
+ GSM_General :j:=1;\r
+ GSM_General2:j:=1;\r
+ GSM_Mobile :j:=3;\r
+ GSM_Work :j:=4;\r
+ GSM_Fax :j:=0;\r
+ GSM_Home :j:=2;\r
+ end;\r
+ case num_num of\r
+ 1:begin\r
+ pbkeditform.ComboBox1.ItemIndex:=j;\r
+ pbkeditform.edit2.text:=pbk.SubEntries[i].Number;\r
+ end;\r
+ 2:begin\r
+ pbkeditform.ComboBox2.ItemIndex:=j;\r
+ pbkeditform.edit3.text:=pbk.SubEntries[i].Number;\r
+ end;\r
+ 3:begin\r
+ pbkeditform.ComboBox3.ItemIndex:=j;\r
+ pbkeditform.edit4.text:=pbk.SubEntries[i].Number;\r
+ end;\r
+ 4:begin\r
+ pbkeditform.ComboBox4.ItemIndex:=j;\r
+ pbkeditform.edit5.text:=pbk.SubEntries[i].Number;\r
+ end;\r
+ 5:begin\r
+ pbkeditform.ComboBox5.ItemIndex:=j;\r
+ pbkeditform.edit6.text:=pbk.SubEntries[i].Number;\r
+ end;\r
+ end;\r
+ num_num:=num_num+1;\r
+ end;\r
+ GSM_Note :\r
+ begin\r
+ j:=1;\r
+ case text_num of\r
+ 1:begin\r
+ pbkeditform.ComboBox6.ItemIndex:=j;\r
+ pbkeditform.edit7.text:=pbk.SubEntries[i].Number;\r
+ end;\r
+ 2:begin\r
+ pbkeditform.ComboBox7.ItemIndex:=j;\r
+ pbkeditform.edit8.text:=pbk.SubEntries[i].Number;\r
+ end;\r
+ end;\r
+ text_num:=text_num+1;\r
+ end;\r
+ GSM_Postal:\r
+ begin\r
+ j:=2;\r
+ case text_num of\r
+ 1:begin\r
+ pbkeditform.ComboBox6.ItemIndex:=j;\r
+ pbkeditform.edit7.text:=pbk.SubEntries[i].Number;\r
+ end;\r
+ 2:begin\r
+ pbkeditform.ComboBox7.ItemIndex:=j;\r
+ pbkeditform.edit8.text:=pbk.SubEntries[i].Number;\r
+ end;\r
+ end;\r
+ text_num:=text_num+1;\r
+ end;\r
+ GSM_Email :\r
+ begin\r
+ j:=0;\r
+ case text_num of\r
+ 1:begin\r
+ pbkeditform.ComboBox6.ItemIndex:=j;\r
+ pbkeditform.edit7.text:=pbk.SubEntries[i].Number;\r
+ end;\r
+ 2:begin\r
+ pbkeditform.ComboBox7.ItemIndex:=j;\r
+ pbkeditform.edit8.text:=pbk.SubEntries[i].Number;\r
+ end;\r
+ end;\r
+ text_num:=text_num+1;\r
+ end;\r
+\r
+ end;\r
+ end;\r
+\r
+ pbkeditform.ComboBox8.items.clear;\r
+ pbkeditform.ComboBox8.items.add('Not assigned');\r
+ for i:=1 to 5 do\r
+ begin\r
+ pbkeditform.ComboBox8.items.add(caller[i].text);\r
+ end;\r
+ pbkeditform.ComboBox8.itemindex:=0;\r
+ if (GSM_GetModelFeature(FN_CALLERGROUPS)<>0) then\r
+ begin\r
+ if (pbk.Group>=0) and (pbk.Group<=4) then\r
+ begin\r
+ pbkeditform.ComboBox8.itemindex:=pbk.Group+1;\r
+ end;\r
+ end;\r
+ \r
+ PbkEditForm.ShowModal;\r
+ end;\r
+\r
+end;\r
+\r
+procedure TMainForm.Delete4Click(Sender: TObject);\r
+begin\r
+ if Application.MessageBox('Do you want to delete this phonebook entry ?','Question',MB_YESNO)=IDYES then\r
+ begin\r
+\r
+ pbk.Location:=pbknumberentry;\r
+ case ComboBox1.ItemIndex of\r
+ 4:pbk.MemoryType:=GMT_ME;\r
+ 5:pbk.MemoryType:=GMT_SM;\r
+ end;\r
+\r
+ MainForm.Timer2.Enabled:=false;\r
+ GSM_GetMemoryLocation(@pbk);\r
+\r
+ pbk.SubEntriesCount:=0;\r
+ pbk.Name[1]:=chr(0);\r
+ pbk.Number[1]:=chr(0);\r
+ GSM_WritePhonebookLocation(@pbk);\r
+ MainForm.Timer2.Enabled:=true;\r
+ MainForm.ComboBox1Change(nil);\r
+ end;\r
+end;\r
+\r
+\r
+procedure TMainForm.Button22Click(Sender: TObject);\r
+var\r
+ i:integer;\r
+ mybinring:GSM_BinRingtone;\r
+ myring:GSM_Ringtone;\r
+begin\r
+ LogosRingForm.Label1.Caption:='Do you want to get ringtone ?';\r
+ LogosRingForm.ComboBox3.Visible:=true;\r
+ LogosRingForm.ComboBox3.Items.Clear();\r
+ MainForm.Timer2.Enabled:=false;\r
+ for i:=1 to GSM_GetModelFeature(FN_RINGNUMBER) do\r
+ begin\r
+ mybinring.location:=i;\r
+ if (GSM_GetPhoneRingtone(@mybinring,@myring)=0) then\r
+ begin\r
+ if GSM_GetModelFeature(FN_RINGTONES)=F_RING_SM then\r
+ begin\r
+ LogosRingForm.ComboBox3.Items.Add(myring.name);\r
+ end else\r
+ begin\r
+ LogosRingForm.ComboBox3.Items.Add(mybinring.name);\r
+ end;\r
+ end else\r
+ LogosRingForm.ComboBox3.Items.Add('Location '+inttostr(i));\r
+ end;\r
+ MainForm.Timer2.Enabled:=true;\r
+ LogosRingForm.ComboBox3.ItemIndex:=0;\r
+ LogosRingForm.ShowModal;\r
+ if LogosRingForm.ComboBox3.Visible then\r
+ begin\r
+ mybinring.location:=LogosRingForm.ComboBox3.ItemIndex+1;\r
+ MainForm.Timer2.Enabled:=false;\r
+ if (GSM_GetPhoneRingtone(@mybinring,@myring)=0) then\r
+ begin\r
+ MainForm.Timer2.Enabled:=true;\r
+ if GSM_GetModelFeature(FN_RINGTONES)=F_RING_SM then\r
+ begin\r
+ application.MessageBox('Smart Messaging format','',0);\r
+ if SaveDialog1.Execute then\r
+ begin\r
+ GSM_SaveRingtoneFile(PChar(SaveDialog1.FileName),@myring);\r
+ end;\r
+ end else\r
+ begin\r
+ application.MessageBox('Binary format','',0);\r
+ if SaveDialog1.Execute then\r
+ begin\r
+ GSM_SaveBinRingtoneFile(PChar(SaveDialog1.FileName),@mybinring);\r
+ end;\r
+ end;\r
+ end;\r
+\r
+ MainForm.Timer2.Enabled:=true;\r
+ end;\r
+\r
+end;\r
+\r
+procedure TMainForm.New20Click(Sender: TObject);\r
+begin\r
+ bookmarknum:=65535;\r
+ WAPBookForm.Edit1.Text:='';\r
+ WAPBookForm.Edit2.Text:='';\r
+ WAPBookForm.ShowModal;\r
+end;\r
+\r
+procedure TMainForm.ListView9SelectItem(Sender: TObject; Item: TListItem;\r
+ Selected: Boolean);\r
+begin\r
+ if Selected then bookmarknum2:=item.Index+1;\r
+end;\r
+\r
+procedure TMainForm.Edit20Click(Sender: TObject);\r
+var\r
+ bookmark:GSM_WAPBookmark;\r
+begin\r
+ bookmark.location:=bookmarknum2;\r
+ mainform.Timer2.Enabled:=false;\r
+ GSM_GetWAPBookmark(@bookmark);\r
+ mainform.Timer2.Enabled:=true;\r
+ WAPBookForm.Edit1.Text:=bookmark.title;\r
+ WAPBookForm.Edit2.Text:=bookmark.adress;\r
+ WAPBookForm.ShowModal;\r
+end;\r
+\r
+procedure TMainForm.WAPBookPopupMenuPopup(Sender: TObject);\r
+begin\r
+ New20.Enabled:=false;\r
+ Edit20.Enabled:=false;\r
+ SMSSendSave2.Enabled:=false;\r
+ if (WAPBookmarkThread=nil) and (GSMPhoneConnected) then\r
+ begin\r
+ New20.Enabled:=true;\r
+ if (ListView9.Selected<>nil) and\r
+ (ListView9.Selected.SubItems[0]<>'') then\r
+ begin\r
+ Edit20.Enabled:=true;\r
+ SMSSendSave2.Enabled:=true;\r
+ end;\r
+ end;\r
+end;\r
+\r
+procedure TMainForm.SMSSendSave2Click(Sender: TObject);\r
+var\r
+ i:integer;\r
+begin\r
+ if smscinit=false then\r
+ begin\r
+ MainForm.ListView6.Items.Clear;\r
+ smscnum:=1;\r
+ while true do\r
+ begin\r
+ ReadSMSC;\r
+ if smscinit then break;\r
+ end;\r
+ end;\r
+\r
+ //sms text\r
+ SMSEditForm.Memo1.Text:='';\r
+\r
+ //number\r
+ SMSEditForm.ComboBox9.Text:='';\r
+ AddSMSEditSenderList;\r
+ \r
+ //folders\r
+ GSM_GetSMSFolders(@SMSfolders);\r
+ SMSEditForm.ComboBox1.Items.Clear;\r
+ for i:=1 to SMSFolders.number do\r
+ begin\r
+ SMSEditForm.ComboBox1.Items.Add(SMSfolders.folder[i].Name);\r
+ end;\r
+ SMSEditForm.ComboBox1.ItemIndex:=0;\r
+\r
+ //smsc\r
+ SetSMSC(1);\r
+ SMSEditForm.ComboBox2.Items.Clear;\r
+ SMSEditForm.ComboBox2.Items.Add('custom');\r
+ for i:=1 to smscnum-1 do\r
+ begin\r
+ if SMSC2[i].Name[1]<>chr(0) then\r
+ SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i)+' - '+SMSC2[i].Name)\r
+ else\r
+ SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i));\r
+ end;\r
+ SMSEditForm.ComboBox2.ItemIndex:=1;\r
+\r
+ SMSEditForm.TextSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.BitmapSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.RingtoneSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.CalendarSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.WAPBookTabSheet.TabVisible:=false;\r
+ SMSEditForm.WAPSettTabSheet.TabVisible:=false;\r
+ SMSEditForm.PBKSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.SMSEditPageControl.ActivePage:=Smseditform.WAPBookTabSheet;\r
+\r
+ bookma.location:=bookmarknum2;\r
+ mainform.Timer2.Enabled:=false;\r
+ GSM_GetWAPBookmark(@bookma);\r
+ mainform.Timer2.Enabled:=true;\r
+\r
+ if (GSM_GetModelFeature(FN_SMS)=F_SMS71) then\r
+ begin\r
+ SMSEditForm.edit3.Visible:=true;\r
+ SMSEditForm.label14.Visible:=true;\r
+ end else\r
+ begin\r
+ SMSEditForm.edit3.Visible:=false;\r
+ SMSEditForm.label14.Visible:=false;\r
+ end;\r
+\r
+ SMSEditForm.ShowModal;\r
+end;\r
+\r
+procedure TMainForm.Button23Click(Sender: TObject);\r
+var\r
+ i:integer;\r
+begin\r
+ if smscinit=false then\r
+ begin\r
+ MainForm.ListView6.Items.Clear;\r
+ smscnum:=1;\r
+ while true do\r
+ begin\r
+ ReadSMSC;\r
+ if smscinit then break;\r
+ end;\r
+ end;\r
+\r
+ //sms text\r
+ SMSEditForm.Memo1.Text:='';\r
+\r
+ //number\r
+ SMSEditForm.ComboBox9.Text:='';\r
+ AddSMSEditSenderList;\r
+ \r
+ //folders\r
+ GSM_GetSMSFolders(@SMSfolders);\r
+ SMSEditForm.ComboBox1.Items.Clear;\r
+ for i:=1 to SMSFolders.number do\r
+ begin\r
+ SMSEditForm.ComboBox1.Items.Add(SMSfolders.folder[i].Name);\r
+ end;\r
+ SMSEditForm.ComboBox1.ItemIndex:=0;\r
+\r
+ //smsc\r
+ SetSMSC(1);\r
+ SMSEditForm.ComboBox2.Items.Clear;\r
+ SMSEditForm.ComboBox2.Items.Add('custom');\r
+ for i:=1 to smscnum-1 do\r
+ begin\r
+ if SMSC2[i].Name[1]<>chr(0) then\r
+ SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i)+' - '+SMSC2[i].Name)\r
+ else\r
+ SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i));\r
+ end;\r
+ SMSEditForm.ComboBox2.ItemIndex:=1;\r
+\r
+ SMSEditForm.TextSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.BitmapSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.RingtoneSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.CalendarSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.WAPBookTabSheet.TabVisible:=false;\r
+ SMSEditForm.WAPSettTabSheet.TabVisible:=false;\r
+ SMSEditForm.PBKSMSTabSheet.TabVisible:=false;\r
+ SMSEditForm.SMSEditPageControl.ActivePage:=Smseditform.WAPSettTabSheet;\r
+\r
+ Wapset.location:=combobox7.ItemIndex;\r
+ MainForm.Timer2.Enabled:=false;\r
+ GSM_GetWAPSettings(@wapset);\r
+ MainForm.Timer2.Enabled:=true;\r
+\r
+ if (GSM_GetModelFeature(FN_SMS)=F_SMS71) then\r
+ begin\r
+ SMSEditForm.edit3.Visible:=true;\r
+ SMSEditForm.label14.Visible:=true;\r
+ end else\r
+ begin\r
+ SMSEditForm.edit3.Visible:=false;\r
+ SMSEditForm.label14.Visible:=false;\r
+ end;\r
+\r
+ SMSEditForm.ShowModal;\r
+end;\r
+\r
+procedure TMainForm.CopyphonebooktoPC1Click(Sender: TObject);\r
+begin\r
+ SavePBKOffline;\r
+end;\r
+\r
+procedure TMainForm.PCPBKTabSheetShow(Sender: TObject);\r
+var i:integer;\r
+begin\r
+ ReadPBKOffline;\r
+ ListView12.Items.Clear;\r
+ for i:=1 to PBKOfflineNumber do\r
+ begin\r
+ MainForm.ListView12.Items.Add;\r
+ MainForm.ListView12.Items.Item[i-1].Caption:=inttostr(PhoneBackup.PhonePhonebook[i].Location);\r
+ AddPBKEntry(ListView12,PhoneBackup.PhonePhonebook[i],i-1);\r
+ end;\r
+end;\r
+\r
+end.\r