--- /dev/null
+unit SMSEdit;\r
+\r
+interface\r
+\r
+uses\r
+ Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,\r
+ Dialogs, StdCtrls,MainUnit,GnokiiAPI, ExtCtrls, ComCtrls;\r
+\r
+type\r
+ TSMSEditForm = class(TForm)\r
+ GroupBox1: TGroupBox;\r
+ ComboBox1: TComboBox;\r
+ Label1: TLabel;\r
+ Memo1: TMemo;\r
+ Label2: TLabel;\r
+ Label3: TLabel;\r
+ CheckBox1: TCheckBox;\r
+ Button1: TButton;\r
+ CheckBox2: TCheckBox;\r
+ Button3: TButton;\r
+ Edit1: TEdit;\r
+ Edit2: TEdit;\r
+ GroupBox2: TGroupBox;\r
+ ComboBox2: TComboBox;\r
+ Label4: TLabel;\r
+ ComboBox3: TComboBox;\r
+ Label5: TLabel;\r
+ Label6: TLabel;\r
+ ComboBox4: TComboBox;\r
+ RadioGroup1: TRadioGroup;\r
+ CheckBox3: TCheckBox;\r
+ CheckBox4: TCheckBox;\r
+ ComboBox5: TComboBox;\r
+ SMSEditPageControl: TPageControl;\r
+ TextSMSTabSheet: TTabSheet;\r
+ Label7: TLabel;\r
+ BitmapSMSTabSheet: TTabSheet;\r
+ CalendarSMSTabSheet: TTabSheet;\r
+ RingtoneSMSTabSheet: TTabSheet;\r
+ Label8: TLabel;\r
+ ComboBox6: TComboBox;\r
+ GroupBox3: TGroupBox;\r
+ Label9: TLabel;\r
+ ComboBox7: TComboBox;\r
+ Label10: TLabel;\r
+ CheckBox5: TCheckBox;\r
+ ScrollBox1: TScrollBox;\r
+ Image1: TImage;\r
+ GroupBox4: TGroupBox;\r
+ Memo2: TMemo;\r
+ CheckBox6: TCheckBox;\r
+ GroupBox5: TGroupBox;\r
+ PBKSMSTabSheet: TTabSheet;\r
+ GroupBox6: TGroupBox;\r
+ Label11: TLabel;\r
+ Label12: TLabel;\r
+ Label13: TLabel;\r
+ ComboBox8: TComboBox;\r
+ Label14: TLabel;\r
+ Edit3: TEdit;\r
+ procedure Button3Click(Sender: TObject);\r
+ procedure Memo1Change(Sender: TObject);\r
+ procedure Button1Click(Sender: TObject);\r
+ procedure RadioGroup1Click(Sender: TObject);\r
+ procedure FormShow(Sender: TObject);\r
+ procedure ComboBox2Change(Sender: TObject);\r
+ procedure ComboBox5Change(Sender: TObject);\r
+ private\r
+ { Private declarations }\r
+ public\r
+ { Public declarations }\r
+ end;\r
+\r
+var\r
+ SMSEditForm: TSMSEditForm;\r
+ maxlength:integer;\r
+\r
+implementation\r
+\r
+{$R *.dfm}\r
+\r
+procedure TSMSEditForm.Button3Click(Sender: TObject);\r
+begin\r
+ SMSEditForm.Close;\r
+end;\r
+\r
+procedure TSMSEditForm.Memo1Change(Sender: TObject);\r
+begin\r
+ GroupBox1.Caption:='Text ' + inttostr(Memo1.GetTextLen)+'/'+inttostr(maxlength);\r
+end;\r
+\r
+procedure TSMSEditForm.Button1Click(Sender: TObject);\r
+var\r
+ i:integer;\r
+ z:integer;\r
+ w:word;\r
+ unicode,screensaver:integer;\r
+ smstext:array[1..500] of char;\r
+begin\r
+ if (SMSEditPageControl.ActivePage=TextSMSTabSheet) then\r
+ begin\r
+ z:=GSM_Coding_Default;\r
+ case combobox5.ItemIndex of\r
+ 0: z:=GSM_Coding_Default;\r
+ 1: z:=GSM_Coding_Unicode;\r
+ end;\r
+\r
+ for i:=1 to 500 do\r
+ smstext[i]:=chr(0);\r
+ w:=strlen(pchar(SMSEditForm.Memo1.Text));\r
+ for i:=1 to w do\r
+ smstext[i]:=SMSEditForm.Memo1.Text[i];\r
+\r
+ GSM_MakeMultiPartSMS2(@setsms,@smstext,w,GSM_NoUDH,z);\r
+\r
+ for i:=1 to setsms.number do\r
+ begin\r
+ if CheckBox1.Checked then\r
+ setsms.sms[i].Class2 := 0\r
+ else\r
+ setsms.sms[i].Class2 := -1;\r
+ end;\r
+\r
+ setsms.sms[1].location:=setsmslocation;\r
+ end;\r
+ if (SMSEditPageControl.ActivePage=BitmapSMSTabSheet) then\r
+ begin\r
+ unicode:=0;\r
+ screensaver:=0;\r
+ if bitma.type2=GSM_PictureImage then\r
+ begin\r
+ for i:=1 to 256 do\r
+ bitma.text[i]:=chr(0);\r
+ for i:=1 to strlen(pchar(Memo2.text)) do\r
+ bitma.text[i]:=Memo2.Text[i];\r
+ end;\r
+ GSM_SaveBitmapToSMS(@setsms,@bitma,unicode,screensaver);\r
+ end;\r
+ if (SMSEditPageControl.ActivePage=RingtoneSMSTabSheet) then\r
+ begin\r
+ GSM_SaveRingtoneToSMS(@setsms,@rington,1);\r
+ end;\r
+ if (SMSEditPageControl.ActivePage=CalendarSMSTabSheet) then\r
+ begin\r
+ GSM_SaveCalendarNoteToSMS(@setsms,@calenda);\r
+ end;\r
+ if (SMSEditPageControl.ActivePage=PBKSMSTabSheet) then\r
+ begin\r
+ i:=10;\r
+ case ComboBox8.ItemIndex of\r
+ 0:i:=10;\r
+ 1:i:=21;\r
+ end;\r
+ GSM_SavePhonebookEntryToSMS(@setsms,@pbk,i);\r
+ end;\r
+\r
+ for z:=1 to setsms.number do\r
+ begin\r
+ for i:=1 to 40 do\r
+ setsms.sms[z].MessageCenter.number[i]:=chr(0);\r
+ for i:=1 to strlen(pchar(Edit1.text)) do\r
+ setsms.sms[z].MessageCenter.number[i]:=Edit1.Text[i];\r
+ setsms.sms[z].MessageCenter.No := ComboBox2.ItemIndex;\r
+ setsms.sms[z].Validity := 4320; //do it\r
+\r
+ for i:=1 to 41 do\r
+ setsms.sms[z].destination[i]:=chr(0);\r
+ for i:=1 to strlen(pchar(Edit2.text)) do\r
+ setsms.sms[z].destination[i]:=Edit2.Text[i];\r
+\r
+ setsms.sms[z].folder:=combobox1.ItemIndex;\r
+\r
+ setsms.sms[z].Type2 := GST_SMS;\r
+ //delivery report\r
+ if CheckBox2.Checked then\r
+ begin\r
+ if RadioGroup1.ItemIndex=1 then setsms.sms[z].Type2:= GST_DR;\r
+ end;\r
+\r
+ for i:=1 to 26 do\r
+ setsms.sms[z].name[i]:=chr(0);\r
+ for i:=1 to strlen(pchar(SMSEditForm.edit3.Text)) do\r
+ setsms.sms[z].name[i]:=SMSEditForm.edit3.Text[i];\r
+\r
+ //read/unread\r
+ if Checkbox4.Checked then\r
+ setsms.sms[z].status:=GSS_SENTREAD\r
+ else\r
+ setsms.sms[z].status:=GSS_NOTSENTREAD;\r
+\r
+ if CheckBox3.Checked then\r
+ setsms.sms[z].ReplyViaSameSMSC := 1\r
+ else\r
+ setsms.sms[z].ReplyViaSameSMSC := 0;\r
+ end;\r
+\r
+ if Application.MessageBox(pchar('Do you want to save/send '+inttostr(setsms.number)+' sms ?'),'question',MB_YESNO)=IDYES then\r
+ begin\r
+ if (RadioGroup1.itemindex=0) then\r
+ begin\r
+ for z:=1 to setsms.number do\r
+ begin\r
+ GSM_SaveSMSMessage(@setsms.sms[z]);\r
+ end;\r
+ end else\r
+ begin\r
+ for z:=1 to setsms.number do\r
+ begin\r
+ GSM_SendSMSMessage(@setsms.sms[z]);\r
+ end;\r
+ end;\r
+ end;\r
+\r
+ MainForm.SMSTabSheetShow(nil);\r
+\r
+ SMSEditForm.Close;\r
+end;\r
+\r
+procedure TSMSEditForm.RadioGroup1Click(Sender: TObject);\r
+begin\r
+ case RadioGroup1.ItemIndex of\r
+ 0:begin\r
+ ComboBox1.Enabled:=true;\r
+ CheckBox2.Enabled:=false;\r
+ CheckBox4.Enabled:=true;\r
+ ComboBox3.Enabled:=false;\r
+ ComboBox4.Enabled:=false;\r
+ Label14.Enabled:=true;\r
+ edit3.Enabled:=true;\r
+ end;\r
+ 1:begin\r
+ ComboBox1.Enabled:=false;\r
+ CheckBox2.Enabled:=true;\r
+ CheckBox4.Enabled:=false;\r
+ Label14.Enabled:=false;\r
+ edit3.Enabled:=false;\r
+ if ComboBox2.ItemIndex<>0 then\r
+ begin\r
+ ComboBox3.Enabled:=false;\r
+ ComboBox4.Enabled:=false;\r
+ end else\r
+ begin\r
+ ComboBox3.Enabled:=true;\r
+ ComboBox4.Enabled:=true;\r
+ end;\r
+ end;\r
+ end;\r
+ if ComboBox2.ItemIndex<>0 then\r
+ begin\r
+ Edit1.Enabled:=false;\r
+ end else\r
+ begin\r
+ Edit1.Enabled:=true;\r
+ end;\r
+end;\r
+\r
+procedure TSMSEditForm.FormShow(Sender: TObject);\r
+begin\r
+ RadioGroup1Click(nil);\r
+ ComboBox5Change(nil);\r
+// ScrollBox1.VertScrollBar.Visible:=true;\r
+ ScrollBox1.VertScrollBar.Position:=80;\r
+// ScrollBox1.VertScrollBar.Visible:=false;\r
+end;\r
+\r
+procedure TSMSEditForm.ComboBox2Change(Sender: TObject);\r
+begin\r
+ if ComboBox2.ItemIndex<>0 then\r
+ begin\r
+ SetSMSC(ComboBox2.ItemIndex);\r
+ end;\r
+ RadioGroup1Click(nil);\r
+end;\r
+\r
+procedure TSMSEditForm.ComboBox5Change(Sender: TObject);\r
+begin\r
+ case ComboBox5.ItemIndex of\r
+ 0:maxlength:=160;\r
+ 1:maxlength:=70;\r
+ end;\r
+ Memo1.MaxLength:=maxlength;\r
+ Memo1Change(nil);\r
+end;\r
+\r
+end.\r