‫ﭘﯿﺎﻣﮏ‬ ‫درﯾﺎﻓﺖ‬ ‫و‬ ‫ارﺳﺎل‬ ‫آﻣﻮزش‬
‫در‬
‫ﺷﺎرپ‬ ‫ﺳﯽ‬
‫ﮐﺎﻣﭙﻮﻧﻨﺖ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬
Kylix SMS ActiveX
‫ﮐﻨﻨﺪه‬ ‫ﺗﮭﯿﮫ‬
‫اﻟﻠﮭﯽ‬ ‫روح‬ ‫ﺣﺴﯿﻦ‬25149928
‫ﺷﮭﺮ‬ ‫ﺧﻤﯿﻨﯽ‬ ‫ﮐﺎﻣﭙﯿﻮﺗﺮ‬ ‫ﺳﺮﮔﺮوه‬
‫اﺳﺖ‬ ‫ﻧﺸﺪه‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﺠﺎرﺳﺘﺎﻧﯽ‬ ‫ﮔﺬاری‬ ‫ﻧﺎم‬ ‫از‬ ‫ھﺎ‬ ‫ﮐﻨﺘﺮل‬ ‫ﮔﺬاری‬ ‫ﻧﺎم‬ ‫ﺑﺮای‬
‫ﭘﯿﺎﻣﮏ‬ ‫درﯾﺎﻓﺖ‬ ‫و‬ ‫ارﺳﺎل‬ ‫آﻣﻮزش‬
‫در‬
‫ﺷﺎرپ‬ ‫ﺳﯽ‬
‫ﮐﺎﻣﭙﻮﻧﻨﺖ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬
SMS ActiveX 5
‫ﮐﻨﻨﺪه‬ ‫ﺗﮭﯿﮫ‬
‫اﻟﻠﮭﯽ‬ ‫روح‬ ‫ﺣﺴﯿﻦ‬
‫ﺷﮭﺮ‬ ‫ﺧﻤﯿﻨﯽ‬ ‫ﮐﺎﻣﭙﯿﻮﺗﺮ‬ ‫ﺳﺮﮔﺮوه‬
‫ﻧﮑﺘﮫ‬:‫اﺳﺖ‬ ‫ﻧﺸﺪه‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﺠﺎرﺳﺘﺎﻧﯽ‬ ‫ﮔﺬاری‬ ‫ﻧﺎم‬ ‫از‬ ‫ھﺎ‬ ‫ﮐﻨﺘﺮل‬ ‫ﮔﺬاری‬ ‫ﻧﺎم‬ ‫ﺑﺮای‬
‫دﺳﺘﻮرات‬ ‫از‬ ‫ﻣﯿﺘﻮان‬ ‫ﺷﺎرپ‬ ‫ﺳﯽ‬ ‫ﺑﺎ‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ارﺳﺎل‬ ‫ﺑﺮای‬AT command‫ﮐﺮد‬ ‫اﺳﺘﻔﺎده‬.
‫ﮐﻨﯿﻢ‬ ‫اﺳﺘﻔﺎده‬ ‫اﻣﺎده‬ ‫ﮐﺎﻣﭙﻮﻧﻨﺘﮭﺎی‬ ‫از‬ ‫ﻣﯿﺘﻮاﻧﯿﻢ‬ ‫راﺣﺘﯽ‬ ‫ﺑﮫ‬ ‫ﻣﺎ‬ ‫اﺳﺖ‬ ‫زﻣﺎﻧﺒﺮ‬ ‫روش‬ ‫اﯾﻦ‬ ‫ﯾﺎدﮔﯿﺮی‬ ‫ﭼﻮن‬ ‫وﻟﯽ‬
‫اﺳﺖ‬ ‫ﮐﺎر‬ ‫اﯾﻦ‬ ‫ﺑﺮای‬ ‫ﮐﺎﻣﭙﻮﻧﻨﺖ‬ ‫ﺑﮭﺘﺮﯾﻦ‬.
‫وﺟﻮد‬ ‫ﺑﮫ‬ ‫ﺷﻤﺎ‬ ‫ﺑﺮای‬ ‫را‬ ‫زﯾﺎدی‬ ‫ﻣﺸﮑﻼت‬ ‫ﭼﻮن‬ ‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﮐﺎﻣﭙﻮﻧﻨﺖ‬ ‫اﯾﻦ‬ ‫ﺷﺪه‬ ‫ﮐﺮک‬ ‫ﻧﺴﺨﮫ‬ ‫از‬ ‫ﻧﺒﺎﯾﺪ‬ ‫ﺷﻤﺎ‬
‫وﮔﺰﯾﻨﮫ‬ ‫ﮐﻠﯿﮏ‬ ‫راﺳﺖ‬ ‫اﺑﺰار‬ ‫ﺟﻌﺒﮫ‬ ‫روی‬ ‫ﻧﺸﺪ‬ ‫اﺿﺎﻓﮫ‬ ‫ﺗﻮﻟﺒﺎﮐﺲ‬ ‫ﺑﮫ‬ ‫ﮐﺎﻣﭙﻮﻧﻨﺖ‬ ‫ﻧﺼﺐ‬ ‫از‬ ‫ﺑﻌﺪ‬ ‫اﮔﺮ‬choose
com component‫ﮐﻨﯿﺪ‬ ‫اﺿﺎﻓﮫ‬ ‫اﺑﺰار‬ ‫ﺟﻌﺒﮫ‬ ‫ﺑﮫ‬ ‫را‬ ‫ﮐﺎﻣﭙﻮﻧﻨﺖ‬
‫ﺷﺎرپ‬ ‫ﺳﯽ‬ ‫ﺑﺎ‬sms‫ودرﯾﺎﻓﺖ‬ ‫ارﺳﺎل‬
‫دﺳﺘﻮرات‬ ‫از‬ ‫ﻣﯿﺘﻮان‬ ‫ﺷﺎرپ‬ ‫ﺳﯽ‬ ‫ﺑﺎ‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ارﺳﺎل‬ ‫ﺑﺮای‬
‫ﮐﻨﯿﻢ‬ ‫اﺳﺘﻔﺎده‬ ‫اﻣﺎده‬ ‫ﮐﺎﻣﭙﻮﻧﻨﺘﮭﺎی‬ ‫از‬ ‫ﻣﯿﺘﻮاﻧﯿﻢ‬ ‫راﺣﺘﯽ‬ ‫ﺑﮫ‬ ‫ﻣﺎ‬ ‫اﺳﺖ‬ ‫زﻣﺎﻧﺒﺮ‬ ‫روش‬ ‫اﯾﻦ‬ ‫ﯾﺎدﮔﯿﺮی‬ ‫ﭼﻮن‬ ‫وﻟﯽ‬
Kylix SMS ActiveX Control‫و‬ ‫ﻣﻌﺮوﻓﺘﺮﯾﻦ‬‫اﺳﺖ‬ ‫ﮐﺎر‬ ‫اﯾﻦ‬ ‫ﺑﺮای‬ ‫ﮐﺎﻣﭙﻮﻧﻨﺖ‬ ‫ﺑﮭﺘﺮﯾﻦ‬
‫ﻧﮑﺘﮫ‬1:‫وﺟﻮد‬ ‫ﺑﮫ‬ ‫ﺷﻤﺎ‬ ‫ﺑﺮای‬ ‫را‬ ‫زﯾﺎدی‬ ‫ﻣﺸﮑﻼت‬ ‫ﭼﻮن‬ ‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﮐﺎﻣﭙﻮﻧﻨﺖ‬ ‫اﯾﻦ‬ ‫ﺷﺪه‬ ‫ﮐﺮک‬ ‫ﻧﺴﺨﮫ‬ ‫از‬ ‫ﻧﺒﺎﯾﺪ‬ ‫ﺷﻤﺎ‬
‫اورد‬ ‫ﺧﻮاھﺪ‬.
‫ﻧﮑﺘﮫ‬2:‫وﮔﺰﯾﻨﮫ‬ ‫ﮐﻠﯿﮏ‬ ‫راﺳﺖ‬ ‫اﺑﺰار‬ ‫ﺟﻌﺒﮫ‬ ‫روی‬ ‫ﻧﺸﺪ‬ ‫اﺿﺎﻓﮫ‬ ‫ﺗﻮﻟﺒﺎﮐﺲ‬ ‫ﺑﮫ‬ ‫ﮐﺎﻣﭙﻮﻧﻨﺖ‬ ‫ﻧﺼﺐ‬ ‫از‬ ‫ﺑﻌﺪ‬ ‫اﮔﺮ‬
items‫ﺗﺐ‬ ‫از‬ ‫ﺷﺪه‬ ‫ﺑﺎز‬ ‫ﭘﻨﺠﺮه‬ ‫در‬ ‫و‬ ‫اﻧﺘﺨﺎب‬ ‫را‬com component
rivate void button3_Click(object sender, EventArgs e)
xKylixSMS.RegisterName = " 000000000000000
xKylixSMS.RegisterCode = " 000000000000000000000000000000000000000000
xKylixSMS.NeedLog = 1; //If you have any problem please set the value to
, and send us the log file "C:KYLIXSMS.LOG".
xKylixSMS.PINCode = textBox1.Text;// ‫ﮐﺪ‬ ‫ﭘﯿﻦ‬
xKylixSMS.ConnectionMode = comboBox1.SelectedIndex +
xKylixSMS.ConnectionProtocol = comboBox2.SelectedIndex +
xKylixSMS.ConnectionParameter = "COM" + textBox
extBox3.Text;// ‫ﭘﻮرت‬ ‫ﺗﻨﻈﯿﻢ‬
f (axKylixSMS.Connect() != 1)
xKylixSMS.GetLastError(1);
lse
utton3.Enabled = false;
utton1.Enabled = true;
utton2_Click(sender, e); // ‫دﺳﺘﮕﺎه‬ ‫اطﻼﻋﺎت‬ ‫دﮐﻤﮫ‬
etSMSFolders(); // ‫ھﺎ‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ھﻤﮫ‬ ‫ﭘﻮﺷﮫ‬ ‫ﮔﺮﻓﺘﻦ‬
utton9_Click(sender, e); // ‫ھﺎ‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ھﻤﮫ‬ ‫ﺧﻮاﻧﺪن‬ ‫دﮐﻤﮫ‬
‫ﻮﺑﺎﯾﻞ‬
‫ﮐ‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫ز‬‫ﻧﯾ‬‫م‬:
e)
‫ﮐﺎﻣﭙﻮﻧﻨﺖ‬ ‫ﮐﺮدن‬ ‫ﻓﻌﺎل‬ ‫ﺑﺮای‬//;"000000000000000
‫ﮐﺎﻣﭙﻮﻧﻨﺖ‬ ‫ﮐﺮدن‬ ‫ﻓﻌﺎل‬//;"000000000000000000000000000000000000000000
If you have any problem please set the value to
KYLIXSMS.LOG".
‫ﮐﺪ‬ ‫ﭘﯿﻦ‬
.SelectedIndex + ‫اﺗﺼﺎل‬ ‫ﻧﺤﻮه‬//;1
.SelectedIndex + ‫ارﺗﺒﺎط‬ ‫ﻧﺤﻮه‬//;1
textBox2.Text + "," +
‫دﺳﺘﮕﺎه‬ ‫اطﻼﻋﺎت‬ ‫دﮐﻤﮫ‬
‫ھﺎ‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ھﻤﮫ‬ ‫ﺧﻮاﻧﺪن‬ ‫دﮐﻤﮫ‬
‫ھﺎ‬ ‫ﭘﻮﺷﮫ‬ ‫ﻧﺎم‬ ‫ﮔﺮﻓﺘﻦ‬ ‫ﺗﺎﺑﻊ‬//
public int GetSMSFolders()
{
int i;
string strFolderName;
comboBox3.Items.Clear();/‫ھﺎ‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ﭘﻮﺷﮫ‬ ‫درﯾﺎﻓﺖ‬ ‫ﮐﻮﻣﺒﻮﺑﺎﮐﺲ‬
for (i = 0; i < 50; i++)
{
strFolderName = axKylixSMS.GetSMSFolderInfo
if ("" == strFolderName)
break;
comboBox3.Items.Add(strFolderName);
}
if (i > 0)
{
comboBox3.SelectedIndex = 0;
return i;
}
}
‫ھﺎ‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ﭘﻮﺷﮫ‬ ‫درﯾﺎﻓﺖ‬ ‫ﮐﻮﻣﺒﻮﺑﺎﮐﺲ‬
(i + 1);
private void button1_Click(object sender,
{
axKylixSMS.Disconnect();
button3.Enabled = true;
button1.Enabled = false;
}
‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ارﺗﺑﺎط‬ ‫ﮐردن‬ ‫ﻗطﻊ‬ ‫ﺑرای‬:
sender, EventArgs e)
‫روﯾﺪاد‬ ‫در‬ ‫را‬ ‫ﮐﺪ‬ ‫اﯾﻦ‬ ‫اﺳﺖ‬ ‫ﺑﮭﺘﺮ‬Formclosing‫ﺑﻨﻮﯾﺴﯿﻢ‬ ‫ﻧﯿﺰ‬
‫ﮐﯾﻧم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﻣودم‬ ‫ﯾﺎ‬ ‫ﻣوﺑﺎﯾل‬ ‫اطﻼﻋﺎت‬ ‫ﮔرﻓﺗن‬ ‫ﺑرای‬:
private void button2_Click(object sender,
{
textBox4.Text = axKylixSMS.GetManufacturer
textBox5.Text = axKylixSMS.GetModel();
textBox6.Text = axKylixSMS.GetIMEI();
textBox7.Text = axKylixSMS.GetNetworkInfo
textBox8.Text = axKylixSMS.GetBatteryLevel
textBox9.Text = axKylixSMS.GetSignalLevel
textBox10.Text = axKylixSMS.GetFirmware();
textBox11.Text = axKylixSMS.GetHardware();
textBox12.Text = axKylixSMS.GetTime();
textBox20.Text = axKylixSMS.GetSMSCNumber
}
‫ﮐرد‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﺷﺑﯾﮫ‬ ‫ھﺎی‬ ‫ﮐﺎﻣﭘوﻧﻧت‬ ‫از‬ ‫ﺷود‬ ‫ﻣﯽ‬ ‫ﺷﺎرژ‬ ‫ﻣﯾزان‬ ‫و‬ ‫ﺳﯾﮕﻧﺎل‬ ‫ﮔراﻓﯾﮑﯽ‬ ‫ﻧﻣﺎﯾش‬ ‫ﺑرای‬ ‫ﮐﮫ‬
‫ﻣﻮﺑﺎﯾﻞ‬ ‫ﯾﺎ‬ ‫ﻣﻮدم‬ ‫اطﻼﻋﺎت‬ ‫ﮔﺮﻓﺘﻦ‬
‫ﮐﯾﻧم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﻣودم‬ ‫ﯾﺎ‬ ‫ﻣوﺑﺎﯾل‬ ‫اطﻼﻋﺎت‬ ‫ﮔرﻓﺗن‬ ‫ﺑرای‬
sender, EventArgs e)
axKylixSMS.GetManufacturer();
axKylixSMS.GetNetworkInfo();
axKylixSMS.GetBatteryLevel().ToString();
axKylixSMS.GetSignalLevel().ToString();
();
();
axKylixSMS.GetSMSCNumber();
‫ﮐرد‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﺷﺑﯾﮫ‬ ‫ھﺎی‬ ‫ﮐﺎﻣﭘوﻧﻧت‬ ‫از‬ ‫ﺷود‬ ‫ﻣﯽ‬ ‫ﺷﺎرژ‬ ‫ﻣﯾزان‬ ‫و‬ ‫ﺳﯾﮕﻧﺎل‬ ‫ﮔراﻓﯾﮑﯽ‬ ‫ﻧﻣﺎﯾش‬ ‫ﺑرای‬ ‫ﮐﮫ‬
‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺳﺎﻋت‬ ‫و‬ ‫ﺗﺎرﯾﺦ‬ ‫ﺗﻧظﯾم‬ ‫ﺑرای‬:
private void button10_Click(object
{
if (axKylixSMS.SetTime(textBox12.Text) !=
axKylixSMS.GetLastError(1);
else
MessageBox.Show("Successful.");
}
‫ﻣﻮدم‬ ‫ﯾﺎ‬ ‫ﻣﻮﺑﺎﯾﻞ‬ ‫ﺳﺎﻋﺖ‬ ‫و‬ ‫ﺗﺎرﯾﺦ‬ ‫ﺗﻨﻈﯿﻢ‬
‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺳﺎﻋت‬ ‫و‬ ‫ﺗﺎرﯾﺦ‬ ‫ﺗﻧظﯾم‬ ‫ﺑرای‬
object sender, EventArgs e)
.Text) != 1)
‫از‬ ‫اﺳﺗﻔﺎده‬ ‫ﺑﺎ‬ ‫اﯾﻧﺟﺎ‬ ‫در‬ ‫ﻣﺎ‬ ‫ﮐﮫ‬2backgroundWorker‫اﯾم‬ ‫ﻧوﺷﺗﮫ‬ ‫را‬ ‫ﮐد‬ ‫اﯾن‬(
ivate void button11_Click(object sender, EventArgs
(textBox15.Text == "")
ssageBox.Show(" ‫وﺟﻮد‬ ‫ارﺳﺎل‬ ‫ﺑﺮای‬ ‫ﻣﺘﻨﯽ‬‫ﻧﺪارد‬ " )
xtBox15.Focus();
se if (textBox13.Text == "")
ssageBox.Show (" ‫ﮐﻨﯿﺪ‬ ‫وارد‬ ‫را‬ ‫ﮔﯿﺮﻧﺪه‬ ‫ﭘﯿﺎم‬ ‫"ﺷﻤﺎره‬ )
xtBox13.Focus();
se
KylixSMS.SMSValidity = comboBox4.SelectedIndex +
ogressBar1.Maximum = ‫ﻣﯿﺰان‬ ‫اﻧﺪازه‬ ‫ﭘﺮوﮔﺮس‬ ‫ﺑﺎر‬ ‫ﮐﮫ‬ ‫در‬ ‫اﯾﻨﺠﺎ‬ ‫ﭼﻮن‬ ‫ﯾﮏ‬ ‫ﭘﯿﺎم‬ ‫ارﺳﺎل‬ ‫ﻣﯽ‬//;1
‫ﻣﯽ‬ ‫ﮔﺰارﯾﻢ‬1
ckgroundWorker1.RunWorkerAsync();// ‫اﺟﺮا‬ ‫ﮐﺪ‬ ‫ارﺳﺎل‬
tton11.Visible = false;
tton15.Visible = true;
‫ﺗﮑﯽ‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ل‬:
‫ﮐﯾﻧم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺷﻣﺎره‬ ‫ﯾﮏ‬ ‫ﺑﮫ‬ ‫ﻓﻘط‬ ‫ﭘﯾﺎم‬ ‫ارﺳﺎل‬ ‫ی‬)‫از‬ ‫اﺳﺗﻔﺎده‬ ‫ﺑﺎ‬ ‫اﯾﻧﺟﺎ‬ ‫در‬ ‫ﻣﺎ‬ ‫ﮐﮫ‬
EventArgs e)
.SelectedIndex + ‫ﺗﻌﯿﯿﻦ‬ ‫اﻋﺘﺒﺎر‬ ‫ﭘﯿﺎم‬//;1
‫ﻣﯿﺰان‬ ‫اﻧﺪازه‬ ‫ﭘﺮوﮔﺮس‬ ‫ﺑﺎر‬ ‫ﮐﮫ‬ ‫در‬ ‫اﯾﻨﺠﺎ‬ ‫ﭼﻮن‬ ‫ﯾﮏ‬ ‫ﭘﯿﺎم‬ ‫ارﺳﺎل‬ ‫ﻣﯽ‬
private void backgroundWorker
sender, DoWorkEventArgs
{
int x = 1;
for (int i = 1; i <= x; i++)
{
if (backgroundWorker1.CancellationPending)
{
e.Cancel = true;
break;
}
backgroundWorker1.ReportProgress(
‫ارﺳﺎل‬ ‫ﭘﯿﺎﻣﮏ‬//
backgroundWorker1_DoWork(object
e)
; i <= x; i++)
.CancellationPending)
.ReportProgress(i);
ong lSendReference;
xKylixSMS.RequestDeliveryReport = checkBox
‫ﺗﺤﻮ‬ ‫ﮔﺰارش‬
xKylixSMS.SendInterval = int.Parse(textBox
xKylixSMS.SendRetryTimes = int.Parse(textBox
‫ﻣﯿﮑﻨﺪ‬ ‫ﻣﺸﺨﺺ‬)‫ﺑﺎﺷﺪ‬ ‫ﺛﺎﻧﯿﮫ‬ ‫ﭼﻨﺪ‬ ‫ﺛﺎﻧﯿﮫ‬ ‫ﭼﻨﺪ‬
xKylixSMS.SendTimeout = int.Parse(textBox
‫ارﺳ‬ ‫ﺑﺮای‬ ‫ﮐﻨﺪ‬ ‫ﺗﻼش‬ ‫دوﺑﺎره‬ ‫ﺑﻌﺪ‬ ‫ﮐﻨﺪ‬ ‫ﺻﺒﺮ‬ ‫ﺛﺎﻧﯿﮫ‬ ‫ﭼﻨﺪ‬
f (checkBox1.Checked)// ‫ﺻﻮرت‬ ‫ﺑﮫ‬ ‫ارﺳﺎل‬ ‫اﯾﺎ‬wap
SendReference = axKylixSMS.SendWAPPush(Number.Text
extBox16.Text);
lse
SendReference = axKylixSMS.SendSMS(textBox
f (lSendReference < 1)
xKylixSMS.GetLastError(1);
lse
essageBox.Show("n ‫ﺷﺪ‬ ‫ارﺳﺎل‬ ‫ﺑﺎﻣﻮﻓﻘﯿﺖ‬ ‫ﭘﯿﺎﻣﮏ‬ nnReference
= checkBox4.Checked.CompareTo(false);// ‫درﯾﺎﻓﺖ‬ ‫ﺗﻌﯿﯿﻦ‬
(textBox18.Text);//‫ارﺳﺎل‬ ‫ﺧﺎﺗﻤﮫ‬ ‫زﻣﺎن‬
(textBox19.Text);// ‫رو‬ ‫ارﺳﺎل‬ ‫زﻣﺎن‬
(textBox17.Text);//‫ﻧﺸﻮد‬ ‫ارﺳﺎل‬ ‫ﭘﯿﺎﻣﮏ‬ ‫اﮔﺮ‬
Number.Text, textBox15.Text,
(textBox13.Text, textBox15.Text);
nReference: " + lSendReference.ToString());
ivate void backgroundWorker1_RunWorkerCompleted(
(e.Error != null)
ssageBox.Show(e.Error.Message);
ogressBar1.Value = 0;
tton11.Visible = true;
tton15.Visible = false;
se if (e.Cancelled)
ssageBox.Show(" ‫ارﺳﺎل‬‫ﺷﺪ‬ ‫ﻟﻐﻮ‬ ‫ﭘﯿﺎﻣﮏ‬ " )
ogressBar1.Value = 0;
tton11.Visible = true;
tton15.Visible = false;
se
ogressBar1.Value = 0;
tton11.Visible = true;
tton15.Visible = false;
vate void button15_Click(object sender, EventArgs
kgroundWorker1.CancelAsync();//‫ارﺳﺎل‬ ‫ﻟﻐﻮ‬
_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs
EventArgs e)
‫ﮐﺎراﮐﺗر‬(
‫ﭘﯿﺎم‬‫و‬ ‫ﺻﻔﺤﺎت‬ ‫ﻣﺘﻦ‬‫ﺷﻤﺎرش‬ ‫ﺗﻌﺪاد‬ ‫ﮐﺎراﮐﺘﺮھﺎ‬
ivate void textBox15_TextChanged(object sender,
bel28.Text = axKylixSMS.CountSMSText(textBox
‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺷود‬ ‫ارﺳﺎل‬ ‫ﭘﯾﺎﻣﮏ‬ ‫ﯾﮏ‬ ‫ﺻورت‬ ‫ﺑﮫ‬ ‫ﺧواھﯾم‬ ‫ﻣﯽ‬ ‫و‬ ‫ﺑود‬ ‫ﮐﺎراﮐﺗر‬
‫ﭼﺴﺒﺎﻧﺪ‬ ‫ﺻﻔﺤﺎت‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ھﺎ‬ ‫و‬ ‫ﯾﮑﯽ‬ ‫ﮐﺮدن‬ ‫اﻧﮭﺎ‬
ivate void checkBox2_CheckedChanged(object
KylixSMS.IsConcatenatedSMS = checkBox2.Checked.CompareTo(
xtBox15_TextChanged(sender, e);
‫ﺻﻔﺣﺎت‬ ‫ﺗﻌداد‬ ‫و‬ ‫ﮐﺎرﮐﺗرھﺎ‬ ‫ﻌداد‬)‫از‬ ‫ﺑﯾﺷﺗر‬ ‫ﯾﻌﻧﯽ‬86‫ﮐﺎراﮐﺗر‬
sender, EventArgs e)
textBox15.Text);
‫از‬ ‫ﺑﯾﺷﺗر‬ ‫ﭘﯾﺎﻣﮏ‬ ‫ﻣﺗن‬ ‫اﮔر‬ ‫ﮫ‬86‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺷود‬ ‫ارﺳﺎل‬ ‫ﭘﯾﺎﻣﮏ‬ ‫ﯾﮏ‬ ‫ﺻورت‬ ‫ﺑﮫ‬ ‫ﺧواھﯾم‬ ‫ﻣﯽ‬ ‫و‬ ‫ﺑود‬ ‫ﮐﺎراﮐﺗر‬
‫ﮐﻧﯾم‬ ‫ﯽ‬:
object sender, EventArgs e)
.Checked.CompareTo(false);
‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺗﺣوﯾل‬ ‫ﮔزارش‬ ‫ﮔرﻓﺗن‬ ‫ﺑرای‬:
‫ﮔﺮﻓﺘﻦ‬ ‫ﮔﺰارش‬ ‫ﺗﺤﻮﯾﻞ‬//
private void checkBox4_CheckedChanged(object
{
axKylixSMS.RequestDeliveryReport = checkBox
}
‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬:
‫ﻓﺮﺳﺘﺎدن‬ ‫ﺑﮫ‬ ‫ﺻﻮرت‬ ‫ﻓﻠﺶ‬ ‫اس‬ ‫ام‬ ‫اس‬//
private void checkBox3_CheckedChanged(object
{
axKylixSMS.IsFlashSMS = checkBox3.Checked.CompareTo(
textBox15_TextChanged(sender, e);
}
‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺗﺣوﯾل‬ ‫ﮔزارش‬ ‫ﮔرﻓﺗن‬ ‫ﺑرای‬
object sender, EventArgs e)
= checkBox4.Checked.CompareTo(false);
‫ﺻورت‬ ‫ﺑﮫ‬ ‫ارﺳﺎل‬ ‫ﺑرای‬Flash sms‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬
object sender, EventArgs e)
.Checked.CompareTo(false);
‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ارﺳﺎل‬ ‫ﮔزارﺷﺎت‬ ‫ﺧودﮐﺎر‬ ‫ﺣذف‬ ‫ﺑرای‬:
‫ﺣﺬف‬ ‫ﺧﻮدﮐﺎر‬ ‫ﮔﺰارش‬ ‫ارﺳﺎل‬//
private void checkBox5_CheckedChanged(object
{
axKylixSMS.AutoDeleteAllReport = checkBox
}
‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ارﺳﺎل‬ ‫ﻣﮭﻠت‬ ‫ﺗﻌﯾﯾن‬ ‫ﺑرای‬:
‫ﺗﻌﯿﯿﻦ‬ ‫ﻣﮭﻠﺖ‬ ‫ارﺳﺎل‬//
private void textBox17_TextChanged(object
{
axKylixSMS.SendTimeout = int.Parse(textBox
}
‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ارﺳﺎل‬ ‫ﮔزارﺷﺎت‬ ‫ﺧودﮐﺎر‬ ‫ﺣذف‬ ‫ﺑرای‬
object sender, EventArgs e)
= checkBox5.Checked.CompareTo(false);
‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ارﺳﺎل‬ ‫ﻣﮭﻠت‬ ‫ﺗﻌﯾﯾن‬ ‫ﺑرای‬
object sender, EventArgs e)
textBox17.Text);
‫ﺷود‬ ‫ارﺳﺎل‬ ‫ﺛﺎﻧﯾﮫ‬ ‫ﭼﻧد‬ ‫ﺛﺎﻧﯾﮫ‬ ‫ﭼﻧد‬(‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬:
//‫ارﺳﺎل‬ ‫زﻣﺎن‬ ‫ﺗﻌﯿﯿﻦ‬ ‫ﺑﺮای‬)‫ﺷﻮد‬ ‫ارﺳﺎل‬ ‫ﺛﺎﻧﯿﮫ‬ ‫ﭼﻨﺪ‬ ‫ﺛﺎﻧﯿﮫ‬ ‫ﭼﻨﺪ‬(
rivate void textBox18_TextChanged(object
xKylixSMS.SendInterval = int.Parse(textBox
‫ﮐد‬ ‫از‬ ‫ﮐﻧد‬ ‫ﺗﻼش‬ ‫دوﺑﺎره‬ ‫ﺑﻌد‬ ‫ﮐﻧد‬ ‫ﺻﺑر‬ ‫ﺛﺎﻧﯾﮫ‬ ‫ﭼﻧد‬ ‫ﻧﺷود‬ ‫ارﺳﺎل‬ ‫ﭘﯾﺎﻣﮏ‬ ‫اﮔر‬ ‫اﯾﻧﮑﮫ‬ ‫ﺗﻌﯾﯾن‬ ‫ﺑرای‬
‫ﮐﻨﺪ‬ ‫ﺗﻼش‬ ‫دوﺑﺎره‬ ‫ﺑﻌﺪ‬ ‫ﮐﻨﺪ‬ ‫ﺻﺒﺮ‬ ‫ﺛﺎﻧﯿﮫ‬ ‫ﭼﻨﺪ‬ ‫ﻧﺸﻮد‬ ‫ارﺳﺎل‬ ‫ﭘﯿﺎﻣﮏ‬ ‫اﮔﺮ‬ ‫اﯾﻨﮑﮫ‬ ‫ﺗﻌﯿﯿﻦ‬ ‫ﺑﺮای‬
rivate void textBox19_TextChanged(object
xKylixSMS.SendRetryTimes = int.Parse(textBox
‫ارﺳﺎل‬ ‫زﻣﺎن‬ ‫ﺗﻌﯾﯾن‬ ‫ﺑرای‬)‫ﺷود‬ ‫ارﺳﺎل‬ ‫ﺛﺎﻧﯾﮫ‬ ‫ﭼﻧد‬ ‫ﺛﺎﻧﯾﮫ‬ ‫ﭼﻧد‬
object sender, EventArgs e)
(textBox18.Text);
‫ﮐد‬ ‫از‬ ‫ﮐﻧد‬ ‫ﺗﻼش‬ ‫دوﺑﺎره‬ ‫ﺑﻌد‬ ‫ﮐﻧد‬ ‫ﺻﺑر‬ ‫ﺛﺎﻧﯾﮫ‬ ‫ﭼﻧد‬ ‫ﻧﺷود‬ ‫ارﺳﺎل‬ ‫ﭘﯾﺎﻣﮏ‬ ‫اﮔر‬ ‫اﯾﻧﮑﮫ‬ ‫ﺗﻌﯾﯾن‬ ‫ﺑرای‬
‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬:
//‫ﮐﻨﺪ‬ ‫ﺗﻼش‬ ‫دوﺑﺎره‬ ‫ﺑﻌﺪ‬ ‫ﮐﻨﺪ‬ ‫ﺻﺒﺮ‬ ‫ﺛﺎﻧﯿﮫ‬ ‫ﭼﻨﺪ‬ ‫ﻧﺸﻮد‬ ‫ارﺳﺎل‬ ‫ﭘﯿﺎﻣﮏ‬ ‫اﮔﺮ‬ ‫اﯾﻨﮑﮫ‬ ‫ﺗﻌﯿﯿﻦ‬ ‫ﺑﺮای‬
object sender, EventArgs e)
(textBox19.Text);
‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ارﺳﺎﻟﯽ‬ ‫ھﺎی‬ ‫ﭘﯾﺎم‬ ‫ﯾﺎ‬ ‫ﭘﯾﺎم‬ ‫اﻋﺗﺑﺎر‬ ‫ﺗﻌﯾﯾن‬ ‫رای‬:
//‫ﭘ‬ ‫اﻋﺘﺒﺎر‬ ‫ﺗﻌﯿﯿﻦ‬
rivate void comboBox4_SelectedIndexChanged(
xKylixSMS.SMSValidity = comboBox4.SelectedIndex +
‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺷود‬ ‫ارﺳﺎل‬ ‫ﺳرور‬ ‫ﮐدام‬ ‫از‬ ‫ﭘﯾﺎﻣﮏ‬ ‫اﯾﻧﮑﮫ‬ ‫ﺗﻧظﯾم‬ ‫رای‬:
//‫ﮐﻨﺘﺮ‬ ‫ﻣﺮﮐﺰ‬ ‫ﺗﻌﯿﯿﻦ‬
rivate void button5_Click(object sender,
f (axKylixSMS.SetSMSCNumber(textBox20.Text) !=
xKylixSMS.GetLastError(1);
lse
essageBox.Show("Successful.");
‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ارﺳﺎﻟﯽ‬ ‫ھﺎی‬ ‫ﭘﯾﺎم‬ ‫ﯾﺎ‬ ‫ﭘﯾﺎم‬ ‫اﻋﺗﺑﺎر‬ ‫ﺗﻌﯾﯾن‬ ‫رای‬
_SelectedIndexChanged(object sender, EventArgs e)
.SelectedIndex + 1;
‫ﮐﻨﺘﺮل‬ ‫ﻣﺮﮐﺰ‬ ‫ﻈﯿﻢ‬
‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺷود‬ ‫ارﺳﺎل‬ ‫ﺳرور‬ ‫ﮐدام‬ ‫از‬ ‫ﭘﯾﺎﻣﮏ‬ ‫اﯾﻧﮑﮫ‬ ‫ﺗﻧظﯾم‬ ‫رای‬
sender, EventArgs e)
.Text) != 1)
ivate void button9_Click(object sender, EventArgs e)
t lFolder, lResult;
ring strStatus;
SMSList.Items.Clear();
r (int i = 0; i < 50; i++)
(i == 0)
esult = axKylixSMS.ReadAllSMS(1); //declaration: int
adAllSMS(int IsFirst)
se
esult = axKylixSMS.ReadAllSMS(0);
(1 != lResult)
eak;
SMSList.Items.Add((i + 1).ToString(), 0);
older = axKylixSMS.LastReadSMSFolder;
SMSList.Items[i].SubItems.Add(axKylixSMS.GetSMSFolderInfo
itch (axKylixSMS.LastReadSMSStatus)
se 1: strStatus = " ‫ﺧﻮاﻧﺪه‬ ‫ﻧﺸﺪه‬"; break;
se 2: strStatus = " ‫ﺧﻮاﻧﺪه‬ ‫ﺷﺪه‬"; break;
se 3: strStatus = " ‫ارﺳﻞ‬ ‫ﻧﺸﺪه‬"; break;
se 4: strStatus = " ‫ارﺳﺎل‬ ‫ﺷﺪه‬"; break;
fault: strStatus = ""; break;
SMSList.Items[i].SubItems.Add(strStatus);
‫ھﺎ‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ﺪن‬
‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ھﺎ‬ ‫ﭘﯾﺎﻣﮏ‬ ‫ھﻣﮫ‬ ‫ﺧوادن‬ ‫ی‬:
e)
int
axKylixSMS.GetSMSFolderInfo(lFolder));
lvSMSList.Items[i].SubItems.Add(axKylixSMS.LastReadSMSLocation.ToString
lvSMSList.Items[i].SubItems.Add(axKylixSMS.LastReadSMSTime
lvSMSList.Items[i].SubItems.Add(axKylixSMS.LastReadSMSNumber
lvSMSList.Items[i].SubItems.Add(axKylixSMS.LastReadSMSConcatenatedInfo
lvSMSList.Items[i].SubItems.Add(axKylixSMS.LastReadSMSText
}
}
‫در‬ ‫و‬ ‫دارد‬ ‫ﻣﺷﮑل‬ ‫ﭘﯾﺎﻣﮏ‬ ‫درﯾﺎﻓت‬ ‫ﺑرای‬ ‫ﻣوﺑﺎﯾﻠﮭﺎ‬ ‫اﮐﺛر‬ ‫ﺑﺎ‬ ‫ﮐﺎﻣﭘوﻧﻧت‬ ‫اﯾن‬ ‫ﮐﮫ‬ ‫ﮐﻧﯾد‬ ‫وﺟﮫ‬
‫ﮔﯾرد‬ ‫ﻣﯽ‬ ‫اﻧﺟﺎم‬ ‫ﺑﮭﺗر‬ ‫ﭘﯾﺎﻣﮏ‬ ‫درﯾﺎﻓت‬ ‫ﻣودم‬
axKylixSMS.LastReadSMSLocation.ToString());
axKylixSMS.LastReadSMSTime);
axKylixSMS.LastReadSMSNumber);
axKylixSMS.LastReadSMSConcatenatedInfo);
axKylixSMS.LastReadSMSText);
‫در‬ ‫و‬ ‫دارد‬ ‫ﻣﺷﮑل‬ ‫ﭘﯾﺎﻣﮏ‬ ‫درﯾﺎﻓت‬ ‫ﺑرای‬ ‫ﻣوﺑﺎﯾﻠﮭﺎ‬ ‫اﮐﺛر‬ ‫ﺑﺎ‬ ‫ﮐﺎﻣﭘوﻧﻧت‬ ‫اﯾن‬ ‫ﮐﮫ‬ ‫ﮐﻧﯾد‬ ‫وﺟﮫ‬
GSM‫ﮔﯾرد‬ ‫ﻣﯽ‬ ‫اﻧﺟﺎم‬ ‫ﺑﮭﺗر‬ ‫ﭘﯾﺎﻣﮏ‬ ‫درﯾﺎﻓت‬ ‫ﻣودم‬
‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﭘﯾﺎﻣﮏ‬ ‫ﺣذف‬ ‫رای‬:
‫ﺣﺬف‬ ‫ﭘﯿﺎﻣﮏ‬//
private void button6_Click(object sender,
{
if (textBox21.Text == "")
textBox21.Text = "0";
if (axKylixSMS.DeleteSMS(comboBox3.SelectedIndex +
int.Parse(textBox21.Text)) != 1)
axKylixSMS.GetLastError(1);
else
MessageBox.Show("Successful.");
}
‫ھﺎ‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ﺣﺬف‬
‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﭘﯾﺎﻣﮏ‬ ‫ﺣذف‬ ‫رای‬
sender, EventArgs e)
.SelectedIndex + 1,
‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺟدﯾد‬ ‫ﭘﯾﺎﻣﮏ‬ ‫ﺧودﮐﺎر‬ ‫ﺣذف‬ ‫ی‬:
‫ﺣﺬف‬ ‫ﺧﻮدﮐﺎر‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ﺟﺪﺑﺪ‬
rivate void checkBox6_CheckedChanged(object
xKylixSMS.AutoDeleteNewSMS = checkBox6.Checked.CompareTo(
‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺟدﯾد‬ ‫ﭘﯾﺎﻣﮏ‬ ‫ﺧودﮐﺎر‬ ‫ﺣذف‬ ‫ی‬
object sender, EventArgs e)
.Checked.CompareTo(false);
‫اﺟﺮای‬ ‫ﮐﺪھﺎی‬/ ussd
rivate void button7_Click(object sender, EventArgs
f (axKylixSMS.DialUSSD(textBox22.Text) != 1)
xKylixSMS.GetLastError(1);
lse
essageBox.Show("Successful.");
‫ﺳﯾﻣﮑﺎرت‬ ‫ﺷﺎرژ‬ ‫دﺳﺗور‬ ‫ﻣﺛل‬(‫ﻣﯾﮑﻧﮫ‬ ‫ارﺳﺎل‬ ‫ﺷﻣﺎ‬ ‫ﺑرای‬ ‫ﺟواﺑﯽ‬ ‫اﭘراﺗور‬ ،
KylixSMS،‫از‬ ‫رﺳﯾده‬ ‫ﻣﺗن‬ ‫ﮐﮫ‬ ‫داره‬ ‫وﺟود‬ ‫ﺗوﺳط‬ ‫ﺷده‬ ‫ﻓرﺳﺗﺎده‬ ‫ﭘﯾﻐﺎم‬ ‫ﺟواب‬ ‫وﻗﺗﯽ‬
‫ﻧﺎم‬ ‫ﺑﮫ‬ ‫ﻣﺗﻐﯾری‬ ‫روﯾداد‬ ‫اﯾن‬ ‫ﺗوی‬ ، ‫ﻣﯾﺷﮫ‬ ‫اﺟرا‬‫ارﺳﺎل‬ ‫اﮔر‬ ، ‫دارﯾد‬ ‫اﻣﮑﺎن‬ ‫دو‬ ‫ﺷﻣﺎ‬ ‫روﯾداد‬ ‫اﯾن‬ ‫در‬
‫ﺑرﺳوﻧﯾد‬ ‫ﭘﺎﯾﺎن‬ ‫ﺑﮫ‬ ‫رو‬ ‫دﺳﺗور‬ ‫ارﺳﺎل‬ ‫زﯾر‬ ‫دﺳﺗور‬ ‫ﺑﺎ‬ ‫ﺗوﻧﯾد‬ ‫ﻣﯽ‬ ‫اﭘراﺗورﻧﯾﺳت‬ ‫ﺑرای‬ ‫ﺟواب‬ ‫ارﺳﺎل‬ ‫ﺑﮫ‬ ‫ﻧﯾﺎزی‬ ‫و‬ ‫رﺳﯾده‬ ‫ﭘﺎﯾﺎن‬ ‫ﺑﮫ‬ ‫ورات‬:
ixSMS.EndUSSD()
‫ﺑﻔرﺳﺗﯾد‬ ‫اﭘراﺗوز‬ ‫ﺑرای‬ ‫رو‬ ‫ﺟواب‬ ‫زﯾر‬ ‫دﺳﺗور‬ ‫از‬ ‫ﺗوﻧﯾد‬ ‫ﻣﯽ‬ ، ‫ﮐﻧﯾد‬ ‫ارﺳﺎل‬ ‫ﺟواﺑﯽ‬ ‫اﭘراﺗور‬ ‫ﺑرای‬ ‫ﮐﮫ‬ ‫دارﯾد‬ ‫ﻧﯾﺎز‬ ‫اﮔر‬ ‫ﻣﺎ‬:
ixSMS.ReplyUSSD('Command');
‫ﺑدﯾد‬ ‫ﭘﺎﯾﺎن‬ ‫ﮐﺎرﺗون‬ ‫ﺑﮫ‬ ‫زﯾر‬ ‫دﺳﺗور‬ ‫ﺑﺎ‬ ‫ﺑﺎﯾد‬ ، ‫رﺳﯾد‬ ‫ﭘﺎﯾﺎن‬ ‫ﺑﮫ‬ ‫ﭘﯾﺎم‬ ‫درﯾﺎﻓت‬ ‫و‬ ‫ارﺳﺎل‬ ‫وﻗﺗﯽ‬ ‫ﮐﮫ‬ ‫ﮐﻧﯾد‬ ‫وﺟﮫ‬:
ixSMS.EndUSSD()
‫ﮐﺪھﺎی‬ ‫اﺟﺮای‬ ‫و‬ ‫ﮔﯿﺮی‬ ‫ره‬ussd
‫ﮐدھﺎی‬ ‫ی‬ussd
‫ﮐدھﺎ‬ ‫اﯾن‬ ‫اﺟرای‬ ‫ی‬)‫ﻣﺟدد‬ ‫ﺷﺎرژ‬ ‫ﻣﺛﻼ‬(‫ﻣﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬:
EventArgs e)
‫ﮐﻧﯾد‬ ‫ﻣﯽ‬ ‫ارﺳﺎل‬ ‫اﭘراﺗور‬ ‫ﺑرای‬ ‫دﺳﺗوری‬ ‫ﯽ‬)‫ﺳﯾﻣﮑﺎرت‬ ‫ﺷﺎرژ‬ ‫دﺳﺗور‬ ‫ﻣﺛل‬
‫ﮐﺎﻣﭘوﻧﻧت‬OnNewUSSD‫روﯾداد‬ ، ‫ﺑﺷﮫ‬ ‫داده‬ ‫اﭘراﺗور‬ ‫ﺗوﺳط‬KylixSMS
‫داره‬ ‫ﻗرار‬ ‫ﻣﺗﻐﯾر‬ ‫اﯾن‬ ‫در‬ ‫اﭘراﺗور‬ ‫ف‬Text‫ﻧﺎم‬ ‫ﺑﮫ‬ ‫ﻣﺗﻐﯾری‬ ‫روﯾداد‬ ‫اﯾن‬ ‫ﺗوی‬ ، ‫ﻣﯾﺷﮫ‬ ‫اﺟرا‬
‫ﺑرﺳوﻧﯾد‬ ‫ﭘﺎﯾﺎن‬ ‫ﺑﮫ‬ ‫رو‬ ‫دﺳﺗور‬ ‫ارﺳﺎل‬ ‫زﯾر‬ ‫دﺳﺗور‬ ‫ﺑﺎ‬ ‫ﺗوﻧﯾد‬ ‫ﻣﯽ‬ ‫اﭘراﺗورﻧﯾﺳت‬ ‫ﺑرای‬ ‫ﺟواب‬ ‫ارﺳﺎل‬ ‫ﺑﮫ‬ ‫ﻧﯾﺎزی‬ ‫و‬ ‫رﺳﯾده‬ ‫ﭘﺎﯾﺎن‬ ‫ﺑﮫ‬ ‫ورات‬
‫ﺑﻔرﺳﺗﯾد‬ ‫اﭘراﺗوز‬ ‫ﺑرای‬ ‫رو‬ ‫ﺟواب‬ ‫زﯾر‬ ‫دﺳﺗور‬ ‫از‬ ‫ﺗوﻧﯾد‬ ‫ﻣﯽ‬ ، ‫ﮐﻧﯾد‬ ‫ارﺳﺎل‬ ‫ﺟواﺑﯽ‬ ‫اﭘراﺗور‬ ‫ﺑرای‬ ‫ﮐﮫ‬ ‫دارﯾد‬ ‫ﻧﯾﺎز‬ ‫اﮔر‬ ‫ﻣﺎ‬
*‫ﺟﺎی‬ ‫ﺑﮫ‬Command‫ﺑﻧوﯾﺳﯾد‬ ‫رو‬ ‫ﻧظرﺗون‬ ‫ﻣورد‬ ‫دﺳﺗورات‬
‫ﺑدﯾد‬ ‫ﭘﺎﯾﺎن‬ ‫ﮐﺎرﺗون‬ ‫ﺑﮫ‬ ‫زﯾر‬ ‫دﺳﺗور‬ ‫ﺑﺎ‬ ‫ﺑﺎﯾد‬ ، ‫رﺳﯾد‬ ‫ﭘﺎﯾﺎن‬ ‫ﺑﮫ‬ ‫ﭘﯾﺎم‬ ‫درﯾﺎﻓت‬ ‫و‬ ‫ارﺳﺎل‬ ‫وﻗﺗﯽ‬ ‫ﮐﮫ‬ ‫ﮐﻧﯾد‬ ‫وﺟﮫ‬
‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﻧظر‬ ‫ﻣورد‬ ‫ﺷﻣﺎره‬ ‫ﺑﺎ‬ ‫ﺗﻣﺎس‬ ‫ﺑرﻗراری‬ ‫رای‬:
‫ﺷﻤﺎره‬ ‫ﮔﯿﺮی‬/
private void button8_Click(object sender,
{
if (axKylixSMS.DialCall(textBox23.Text) !=
axKylixSMS.GetLastError(1);
else
MessageBox.Show("Successful.");
}
‫ﺗﻤﺎس‬ ‫ﺮﻗﺮاری‬
‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﻧظر‬ ‫ﻣورد‬ ‫ﺷﻣﺎره‬ ‫ﺑﺎ‬ ‫ﺗﻣﺎس‬ ‫ﺑرﻗراری‬ ‫رای‬
sender, EventArgs e)
.Text) != 1)
‫ﻗﻄﻊ‬ ‫ﺗﻤﺎس‬//
private void button13_Click(object sender,
{
if (axKylixSMS.EndCall() != 1)
axKylixSMS.GetLastError(1);
else
MessageBox.Show("Successful.");
}
‫ﺗﻣﺎس‬ ‫ﻊ‬
‫ﮐﯾﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺗﻣﺎس‬ ‫ﻗطﻊ‬ ‫ی‬:
sender, EventArgs e)
‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﮔوﯾﺎ‬ ‫ﺗﻠﻔن‬ ‫ﺑﮫ‬ ‫ﭘﺎﺳﺦ‬ ‫ارﺳﺎل‬ ‫ی‬:
‫ارﺳﺎل‬ ‫ﭘﺎﺳﺦ‬ ‫ﺑﮫ‬ ‫ﺗﻠﻔﻦ‬ ‫ﮔﻮﯾﺎ‬
private void button14_Click(object sender,
if (axKylixSMS.SendDTMF(textBox24.Text) !=
axKylixSMS.GetLastError(1);
else
MessageBox.Show("Successful.");
‫ﮔﻮﯾﺎ‬ ‫ﺗﻠﻔﻦ‬ ‫ﺑﮫ‬ ‫ﭘﺎﺳﺦ‬ ‫ﺳﺎل‬
‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﮔوﯾﺎ‬ ‫ﺗﻠﻔن‬ ‫ﺑﮫ‬ ‫ﭘﺎﺳﺦ‬ ‫ارﺳﺎل‬ ‫ی‬
sender, EventArgs e)
.Text) != 1)
‫ﭘﯾﺎم‬ ‫اﻋﺗﺑﺎر‬ ‫و‬ ‫اﺗﺻﺎل‬ ‫ﻧﺣوه‬ ‫و‬ ‫ﻧوع‬ ‫ﮐوﻣﺑوﺑﺎﮐس‬ ‫ﺑﮫ‬ ‫ﻓرض‬ ‫ﭘﯾش‬ ‫دھﯽ‬ ‫ﻘدار‬
‫ﻣﻘﺪا‬ ‫دھﯽ‬ ‫ﭘﯿﺶ‬ ‫ﻓﺮض‬ ‫ﺑﮫ‬ ‫ﮐﻮﻣﺒﻮﺑﺎﮐﺲ‬ ‫ﻧﻮع‬ ‫و‬ ‫ﻧﺤﻮه‬ ‫اﺗﺼﺎل‬ ‫و‬ ‫اﻋﺘﺒﺎر‬ ‫ﭘﯿﺎم‬
rivate void Form1_Load(object sender, EventArgs
omboBox1.SelectedIndex = 0;
omboBox2.SelectedIndex = 0;
omboBox4.SelectedIndex = 5;
‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫درﯾﺎﻓﺗﯽ‬ ‫ﺗﻣﺎﺳﮭﺎی‬ ‫رد‬ ‫ای‬:
‫رد‬ ‫ﺗﻤﺎﺳﮭﺎی‬ ‫درﯾﺎﻓﺘﯽ‬//
private void checkBox7_CheckedChanged(object
{
axKylixSMS.RejectIncomingCall = checkBox7
//Checked: 1 Unchecked: 0
}
‫ﭘﯾﺎم‬ ‫اﻋﺗﺑﺎر‬ ‫و‬ ‫اﺗﺻﺎل‬ ‫ﻧﺣوه‬ ‫و‬ ‫ﻧوع‬ ‫ﮐوﻣﺑوﺑﺎﮐس‬ ‫ﺑﮫ‬ ‫ﻓرض‬ ‫ﭘﯾش‬ ‫دھﯽ‬ ‫ﻘدار‬
‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﮐﺎر‬ ‫اﯾن‬ ‫رای‬:
EventArgs e)
‫درﯾﺎﻓﺘﯽ‬ ‫ﺗﻤﺎﺳﮭﺎی‬
‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫درﯾﺎﻓﺗﯽ‬ ‫ﺗﻣﺎﺳﮭﺎی‬ ‫رد‬ ‫ای‬
object sender, EventArgs e)
7.Checked.CompareTo(false);
‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﮐﻧﯾم‬ ‫ﻣﺷﺎھده‬ ‫و‬ ‫درﯾﺎﻓت‬ ‫را‬ ‫ان‬ ‫ﺑﺗواﻧﯾم‬ ‫ﺷد‬ ‫ارﺳﺎل‬ ‫ﻣﺎ‬ ‫ﺑرای‬ ‫ﮐﻧﺗرل‬ ‫ﻣرﮐز‬ ‫ﺳوی‬ ‫از‬ ‫ﭘﺎﺳﺧﯽ‬ ‫اﮔر‬ ‫اﯾﻧﮑﮫ‬ ‫ی‬
‫ﺑﺮای‬ ‫اﯾﻨﮑﮫ‬ ‫اﮔﺮ‬ ‫ﭘﺎﺳﺨﯽ‬ ‫از‬ ‫ﺳﻮی‬ ‫ﻣﺮﮐﺰ‬ ‫ﮐﻨﺘﺮل‬ ‫ﺑﺮای‬ ‫ﻣﺎ‬ ‫ارﺳﺎل‬ ‫ﺷﺪ‬ ‫ﺑﺘﻮاﻧﯿﻢ‬ ‫ان‬ ‫را‬ ‫درﯾﺎﻓﺖ‬ ‫و‬ ‫ﻣﺸﺎھﺪه‬ ‫ﮐﻨﯿﻢ‬ ‫از‬ ‫ﮐﺪ‬ ‫زﯾﺮ‬//
‫اﺳﺘﻔﺎده‬ ‫ﻣﯽ‬ ‫ﮐﻨﯿﻢ‬
private void axKylixSMS_NewUSSD(object sender,
AxKYLIXSMSLib._DKylixSMSEvents_NewUSSDEvent
{
FormUSSD fUSSD = new FormUSSD();
fUSSD.strUSSD = e.text;
fUSSD.ShowDialog();
if ("" == fUSSD.strUSSD)
axKylixSMS.EndUSSD();
else
axKylixSMS.ReplyUSSD(fUSSD.strUSSD);
}
‫روﯾﺪاد‬ ‫ﺑﺮای‬ ‫ﻮﯾﺴﯽ‬axKylixSMS_NewUSSD
‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﮐﻧﯾم‬ ‫ﻣﺷﺎھده‬ ‫و‬ ‫درﯾﺎﻓت‬ ‫را‬ ‫ان‬ ‫ﺑﺗواﻧﯾم‬ ‫ﺷد‬ ‫ارﺳﺎل‬ ‫ﻣﺎ‬ ‫ﺑرای‬ ‫ﮐﻧﺗرل‬ ‫ﻣرﮐز‬ ‫ﺳوی‬ ‫از‬ ‫ﭘﺎﺳﺧﯽ‬ ‫اﮔر‬ ‫اﯾﻧﮑﮫ‬ ‫ی‬
‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫ﻔﺎده‬:
‫ﺑﺮای‬ ‫اﯾﻨﮑﮫ‬ ‫اﮔﺮ‬ ‫ﭘﺎﺳﺨﯽ‬ ‫از‬ ‫ﺳﻮی‬ ‫ﻣﺮﮐﺰ‬ ‫ﮐﻨﺘﺮل‬ ‫ﺑﺮای‬ ‫ﻣﺎ‬ ‫ارﺳﺎل‬ ‫ﺷﺪ‬ ‫ﺑﺘﻮاﻧﯿﻢ‬ ‫ان‬ ‫را‬ ‫درﯾﺎﻓﺖ‬ ‫و‬ ‫ﻣﺸﺎھﺪه‬ ‫ﮐﻨﯿﻢ‬ ‫از‬ ‫ﮐﺪ‬ ‫زﯾﺮ‬
sender,
DKylixSMSEvents_NewUSSDEvent e)
‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫دھﯾم‬ ‫ﭘﺎﺳﺦ‬ ‫ﺑﺗواﻧﯾم‬ ‫و‬ ‫ﺷوﯾم‬ ‫ﻣﺗوﺟﮫ‬ ‫ﮔرﻓت‬ ‫ﺗﻣﺎس‬ ‫ﻣﺎ‬ ‫ﺑﺎ‬ ‫ﮐﺳﯽ‬ ‫اﮔر‬ ‫اﯾﻧﮑﮫ‬ ‫ی‬:
‫ﺑﺮای‬ ‫اﯾﻨﮑﮫ‬ ‫اﮔﺮ‬ ‫ﮐﺴﯽ‬ ‫ﺑﺎ‬ ‫ﻣﺎ‬ ‫ﺗﻤﺎس‬ ‫ﮔﺮﻓﺖ‬ ‫ﻣﺘﻮﺟﮫ‬ ‫ﺷﻮﯾﻢ‬ ‫و‬ ‫ﺑﺘﻮاﻧﯿﻢ‬ ‫ﭘﺎﺳﺦ‬ ‫دھﯿﻢ‬ ‫از‬ ‫ﮐﺪ‬ ‫زﯾﺮ‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﯽ‬ ‫ﮐﻨﯿﻢ‬
rivate void axKylixSMS_NewCall(object sender,
xKYLIXSMSLib._DKylixSMSEvents_NewCallEvent
tring strTemp, strStatus = "";
witch (e.status)
ase 1:
f (0 == axKylixSMS.RejectIncomingCall)
trTemp = String.Format("nAccept incoming call from {
.number);
f (DialogResult.Yes == MessageBox.Show(strTemp
all", MessageBoxButtons.YesNo))
xKylixSMS.AnswerCall();
lse
xKylixSMS.EndCall();
lse
trStatus = "Incoming Call";
‫روﯾﺪاد‬ ‫ﺑﺮای‬ ‫ﻮﯾﺴﯽ‬axKylixSMS_NewCall
‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫دھﯾم‬ ‫ﭘﺎﺳﺦ‬ ‫ﺑﺗواﻧﯾم‬ ‫و‬ ‫ﺷوﯾم‬ ‫ﻣﺗوﺟﮫ‬ ‫ﮔرﻓت‬ ‫ﺗﻣﺎس‬ ‫ﻣﺎ‬ ‫ﺑﺎ‬ ‫ﮐﺳﯽ‬ ‫اﮔر‬ ‫اﯾﻧﮑﮫ‬ ‫ی‬
:‫ﺑﺮای‬ ‫اﯾﻨﮑﮫ‬ ‫اﮔﺮ‬ ‫ﮐﺴﯽ‬ ‫ﺑﺎ‬ ‫ﻣﺎ‬ ‫ﺗﻤﺎس‬ ‫ﮔﺮﻓﺖ‬ ‫ﻣﺘﻮﺟﮫ‬ ‫ﺷﻮﯾﻢ‬ ‫و‬ ‫ﺑﺘﻮاﻧﯿﻢ‬ ‫ﭘﺎﺳﺦ‬ ‫دھﯿﻢ‬ ‫از‬ ‫ﮐﺪ‬ ‫زﯾﺮ‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﯽ‬ ‫ﮐﻨﯿﻢ‬
sender,
DKylixSMSEvents_NewCallEvent e)
incoming call from {0} ?n",
strTemp, "Incoming
break;
case 2: strStatus = "Outgoing Call"; break
case 3: strStatus = "Call Start"; break;
case 4: strStatus = "Call End"; break;
case 5: strStatus = "Remote End"; break;
case 6: strStatus = "Local End"; break;
case 7: strStatus = "Established"; break;
default: strStatus = "Unknown"; break;
}
if (0 != strStatus.Length)
{
strTemp = String.Format("{0} {1}", e.number
MessageBox.Show(strTemp, strStatus);
}
}
break;
;
e.number, strStatus);
‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺗﺣوﯾل‬ ‫ﮔزارش‬ ‫ﻣﺗوﺟﮫ‬ ‫ی‬:
‫ﺑﺮای‬ ‫ﻣﺘﻮﺟﮫ‬ ‫ﮔﺰارش‬ ‫ﺗﺤﻮﯾﻞ‬
rivate void axKylixSMS_NewDeliveryReport(
xKYLIXSMSLib._DKylixSMSEvents_NewDeliveryReportEvent
tring strResult;
f (e.status == 1)
trResult = String.Format("The message you sent to {
elivered at {1}.nnReference:{2} Folder:{
.reference, e.folder, e.location);
lse if (e.status == 2)
trResult = String.Format("The message you sent to {
1}.nnReference:{2} Folder:{3} Location:{
.folder, e.location);
lse
trResult = String.Format("The message you sent to {
1}.nnReference:{2} Folder:{3} Location:{
.folder, e.location);
essageBox.Show(strResult, "New Send Report Received"
‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺗﺣوﯾل‬ ‫ﮔزارش‬ ‫ﻣﺗوﺟﮫ‬ ‫ی‬
(object sender,
DKylixSMSEvents_NewDeliveryReportEvent e)
"The message you sent to {0} has been
} Folder:{3} Location:{4}n", e.number, e.time,
"The message you sent to {0} was failed at
} Location:{4}n", e.number, e.time, e.reference,
"The message you sent to {0} is unknown at
} Location:{4}n", e.number, e.time, e.reference,
"New Send Report Received");
axKylixSMS_NewSMSReceived
‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺟدﯾد‬ ‫ﭘﯾﺎﻣﮏ‬ ‫ﺷدن‬ ‫درﯾﺎﻓت‬ ‫ﻣﺗوﺟﮫ‬ ‫ی‬:
‫ﺑﺮای‬ ‫ﻣﺘﻮﺟﮫ‬ ‫درﯾﺎﻓﺖ‬ ‫ﺷﺪن‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ﺟﺪﯾﺪ‬//
private void axKylixSMS_NewSMSReceived(object
AxKYLIXSMSLib._DKylixSMSEvents_NewSMSReceivedEvent
{
string strResult;
strResult = String.Format("nNew SMS from {
{1}nn{2}nnFolder:{3} Location:{4} Coding:{
ConcatenatedInfo:{7}n", e.number, e.time
axKylixSMS.GetSMSFolderInfo(e.folder), e.location
e.concatenatedInfo);
MessageBox.Show(strResult, "New SMS Received"
}
‫روﯾﺪاد‬ ‫ﺑﺮای‬ ‫ﻧﻮﯾﺴﯽ‬axKylixSMS_NewSMSReceived
‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺟدﯾد‬ ‫ﭘﯾﺎﻣﮏ‬ ‫ﺷدن‬ ‫درﯾﺎﻓت‬ ‫ﻣﺗوﺟﮫ‬ ‫ی‬
object sender,
DKylixSMSEvents_NewSMSReceivedEvent e)
SMS from {0} received at
Coding:{5} Status:{6}
e.time, e.text,
e.location, e.coding, e.status,
New SMS Received");

Rooholahy

  • 1.
    ‫ﭘﯿﺎﻣﮏ‬ ‫درﯾﺎﻓﺖ‬ ‫و‬‫ارﺳﺎل‬ ‫آﻣﻮزش‬ ‫در‬ ‫ﺷﺎرپ‬ ‫ﺳﯽ‬ ‫ﮐﺎﻣﭙﻮﻧﻨﺖ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ Kylix SMS ActiveX ‫ﮐﻨﻨﺪه‬ ‫ﺗﮭﯿﮫ‬ ‫اﻟﻠﮭﯽ‬ ‫روح‬ ‫ﺣﺴﯿﻦ‬25149928 ‫ﺷﮭﺮ‬ ‫ﺧﻤﯿﻨﯽ‬ ‫ﮐﺎﻣﭙﯿﻮﺗﺮ‬ ‫ﺳﺮﮔﺮوه‬ ‫اﺳﺖ‬ ‫ﻧﺸﺪه‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﺠﺎرﺳﺘﺎﻧﯽ‬ ‫ﮔﺬاری‬ ‫ﻧﺎم‬ ‫از‬ ‫ھﺎ‬ ‫ﮐﻨﺘﺮل‬ ‫ﮔﺬاری‬ ‫ﻧﺎم‬ ‫ﺑﺮای‬ ‫ﭘﯿﺎﻣﮏ‬ ‫درﯾﺎﻓﺖ‬ ‫و‬ ‫ارﺳﺎل‬ ‫آﻣﻮزش‬ ‫در‬ ‫ﺷﺎرپ‬ ‫ﺳﯽ‬ ‫ﮐﺎﻣﭙﻮﻧﻨﺖ‬ ‫از‬ ‫اﺳﺘﻔﺎده‬ ‫ﺑﺎ‬ SMS ActiveX 5 ‫ﮐﻨﻨﺪه‬ ‫ﺗﮭﯿﮫ‬ ‫اﻟﻠﮭﯽ‬ ‫روح‬ ‫ﺣﺴﯿﻦ‬ ‫ﺷﮭﺮ‬ ‫ﺧﻤﯿﻨﯽ‬ ‫ﮐﺎﻣﭙﯿﻮﺗﺮ‬ ‫ﺳﺮﮔﺮوه‬ ‫ﻧﮑﺘﮫ‬:‫اﺳﺖ‬ ‫ﻧﺸﺪه‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﺠﺎرﺳﺘﺎﻧﯽ‬ ‫ﮔﺬاری‬ ‫ﻧﺎم‬ ‫از‬ ‫ھﺎ‬ ‫ﮐﻨﺘﺮل‬ ‫ﮔﺬاری‬ ‫ﻧﺎم‬ ‫ﺑﺮای‬
  • 2.
    ‫دﺳﺘﻮرات‬ ‫از‬ ‫ﻣﯿﺘﻮان‬‫ﺷﺎرپ‬ ‫ﺳﯽ‬ ‫ﺑﺎ‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ارﺳﺎل‬ ‫ﺑﺮای‬AT command‫ﮐﺮد‬ ‫اﺳﺘﻔﺎده‬. ‫ﮐﻨﯿﻢ‬ ‫اﺳﺘﻔﺎده‬ ‫اﻣﺎده‬ ‫ﮐﺎﻣﭙﻮﻧﻨﺘﮭﺎی‬ ‫از‬ ‫ﻣﯿﺘﻮاﻧﯿﻢ‬ ‫راﺣﺘﯽ‬ ‫ﺑﮫ‬ ‫ﻣﺎ‬ ‫اﺳﺖ‬ ‫زﻣﺎﻧﺒﺮ‬ ‫روش‬ ‫اﯾﻦ‬ ‫ﯾﺎدﮔﯿﺮی‬ ‫ﭼﻮن‬ ‫وﻟﯽ‬ ‫اﺳﺖ‬ ‫ﮐﺎر‬ ‫اﯾﻦ‬ ‫ﺑﺮای‬ ‫ﮐﺎﻣﭙﻮﻧﻨﺖ‬ ‫ﺑﮭﺘﺮﯾﻦ‬. ‫وﺟﻮد‬ ‫ﺑﮫ‬ ‫ﺷﻤﺎ‬ ‫ﺑﺮای‬ ‫را‬ ‫زﯾﺎدی‬ ‫ﻣﺸﮑﻼت‬ ‫ﭼﻮن‬ ‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﮐﺎﻣﭙﻮﻧﻨﺖ‬ ‫اﯾﻦ‬ ‫ﺷﺪه‬ ‫ﮐﺮک‬ ‫ﻧﺴﺨﮫ‬ ‫از‬ ‫ﻧﺒﺎﯾﺪ‬ ‫ﺷﻤﺎ‬ ‫وﮔﺰﯾﻨﮫ‬ ‫ﮐﻠﯿﮏ‬ ‫راﺳﺖ‬ ‫اﺑﺰار‬ ‫ﺟﻌﺒﮫ‬ ‫روی‬ ‫ﻧﺸﺪ‬ ‫اﺿﺎﻓﮫ‬ ‫ﺗﻮﻟﺒﺎﮐﺲ‬ ‫ﺑﮫ‬ ‫ﮐﺎﻣﭙﻮﻧﻨﺖ‬ ‫ﻧﺼﺐ‬ ‫از‬ ‫ﺑﻌﺪ‬ ‫اﮔﺮ‬choose com component‫ﮐﻨﯿﺪ‬ ‫اﺿﺎﻓﮫ‬ ‫اﺑﺰار‬ ‫ﺟﻌﺒﮫ‬ ‫ﺑﮫ‬ ‫را‬ ‫ﮐﺎﻣﭙﻮﻧﻨﺖ‬ ‫ﺷﺎرپ‬ ‫ﺳﯽ‬ ‫ﺑﺎ‬sms‫ودرﯾﺎﻓﺖ‬ ‫ارﺳﺎل‬ ‫دﺳﺘﻮرات‬ ‫از‬ ‫ﻣﯿﺘﻮان‬ ‫ﺷﺎرپ‬ ‫ﺳﯽ‬ ‫ﺑﺎ‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ارﺳﺎل‬ ‫ﺑﺮای‬ ‫ﮐﻨﯿﻢ‬ ‫اﺳﺘﻔﺎده‬ ‫اﻣﺎده‬ ‫ﮐﺎﻣﭙﻮﻧﻨﺘﮭﺎی‬ ‫از‬ ‫ﻣﯿﺘﻮاﻧﯿﻢ‬ ‫راﺣﺘﯽ‬ ‫ﺑﮫ‬ ‫ﻣﺎ‬ ‫اﺳﺖ‬ ‫زﻣﺎﻧﺒﺮ‬ ‫روش‬ ‫اﯾﻦ‬ ‫ﯾﺎدﮔﯿﺮی‬ ‫ﭼﻮن‬ ‫وﻟﯽ‬ Kylix SMS ActiveX Control‫و‬ ‫ﻣﻌﺮوﻓﺘﺮﯾﻦ‬‫اﺳﺖ‬ ‫ﮐﺎر‬ ‫اﯾﻦ‬ ‫ﺑﺮای‬ ‫ﮐﺎﻣﭙﻮﻧﻨﺖ‬ ‫ﺑﮭﺘﺮﯾﻦ‬ ‫ﻧﮑﺘﮫ‬1:‫وﺟﻮد‬ ‫ﺑﮫ‬ ‫ﺷﻤﺎ‬ ‫ﺑﺮای‬ ‫را‬ ‫زﯾﺎدی‬ ‫ﻣﺸﮑﻼت‬ ‫ﭼﻮن‬ ‫ﮐﻨﯿﺪ‬ ‫اﺳﺘﻔﺎده‬ ‫ﮐﺎﻣﭙﻮﻧﻨﺖ‬ ‫اﯾﻦ‬ ‫ﺷﺪه‬ ‫ﮐﺮک‬ ‫ﻧﺴﺨﮫ‬ ‫از‬ ‫ﻧﺒﺎﯾﺪ‬ ‫ﺷﻤﺎ‬ ‫اورد‬ ‫ﺧﻮاھﺪ‬. ‫ﻧﮑﺘﮫ‬2:‫وﮔﺰﯾﻨﮫ‬ ‫ﮐﻠﯿﮏ‬ ‫راﺳﺖ‬ ‫اﺑﺰار‬ ‫ﺟﻌﺒﮫ‬ ‫روی‬ ‫ﻧﺸﺪ‬ ‫اﺿﺎﻓﮫ‬ ‫ﺗﻮﻟﺒﺎﮐﺲ‬ ‫ﺑﮫ‬ ‫ﮐﺎﻣﭙﻮﻧﻨﺖ‬ ‫ﻧﺼﺐ‬ ‫از‬ ‫ﺑﻌﺪ‬ ‫اﮔﺮ‬ items‫ﺗﺐ‬ ‫از‬ ‫ﺷﺪه‬ ‫ﺑﺎز‬ ‫ﭘﻨﺠﺮه‬ ‫در‬ ‫و‬ ‫اﻧﺘﺨﺎب‬ ‫را‬com component
  • 3.
    rivate void button3_Click(objectsender, EventArgs e) xKylixSMS.RegisterName = " 000000000000000 xKylixSMS.RegisterCode = " 000000000000000000000000000000000000000000 xKylixSMS.NeedLog = 1; //If you have any problem please set the value to , and send us the log file "C:KYLIXSMS.LOG". xKylixSMS.PINCode = textBox1.Text;// ‫ﮐﺪ‬ ‫ﭘﯿﻦ‬ xKylixSMS.ConnectionMode = comboBox1.SelectedIndex + xKylixSMS.ConnectionProtocol = comboBox2.SelectedIndex + xKylixSMS.ConnectionParameter = "COM" + textBox extBox3.Text;// ‫ﭘﻮرت‬ ‫ﺗﻨﻈﯿﻢ‬ f (axKylixSMS.Connect() != 1) xKylixSMS.GetLastError(1); lse utton3.Enabled = false; utton1.Enabled = true; utton2_Click(sender, e); // ‫دﺳﺘﮕﺎه‬ ‫اطﻼﻋﺎت‬ ‫دﮐﻤﮫ‬ etSMSFolders(); // ‫ھﺎ‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ھﻤﮫ‬ ‫ﭘﻮﺷﮫ‬ ‫ﮔﺮﻓﺘﻦ‬ utton9_Click(sender, e); // ‫ھﺎ‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ھﻤﮫ‬ ‫ﺧﻮاﻧﺪن‬ ‫دﮐﻤﮫ‬ ‫ﻮﺑﺎﯾﻞ‬ ‫ﮐ‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫ز‬‫ﻧﯾ‬‫م‬: e) ‫ﮐﺎﻣﭙﻮﻧﻨﺖ‬ ‫ﮐﺮدن‬ ‫ﻓﻌﺎل‬ ‫ﺑﺮای‬//;"000000000000000 ‫ﮐﺎﻣﭙﻮﻧﻨﺖ‬ ‫ﮐﺮدن‬ ‫ﻓﻌﺎل‬//;"000000000000000000000000000000000000000000 If you have any problem please set the value to KYLIXSMS.LOG". ‫ﮐﺪ‬ ‫ﭘﯿﻦ‬ .SelectedIndex + ‫اﺗﺼﺎل‬ ‫ﻧﺤﻮه‬//;1 .SelectedIndex + ‫ارﺗﺒﺎط‬ ‫ﻧﺤﻮه‬//;1 textBox2.Text + "," + ‫دﺳﺘﮕﺎه‬ ‫اطﻼﻋﺎت‬ ‫دﮐﻤﮫ‬ ‫ھﺎ‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ھﻤﮫ‬ ‫ﺧﻮاﻧﺪن‬ ‫دﮐﻤﮫ‬
  • 4.
    ‫ھﺎ‬ ‫ﭘﻮﺷﮫ‬ ‫ﻧﺎم‬‫ﮔﺮﻓﺘﻦ‬ ‫ﺗﺎﺑﻊ‬// public int GetSMSFolders() { int i; string strFolderName; comboBox3.Items.Clear();/‫ھﺎ‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ﭘﻮﺷﮫ‬ ‫درﯾﺎﻓﺖ‬ ‫ﮐﻮﻣﺒﻮﺑﺎﮐﺲ‬ for (i = 0; i < 50; i++) { strFolderName = axKylixSMS.GetSMSFolderInfo if ("" == strFolderName) break; comboBox3.Items.Add(strFolderName); } if (i > 0) { comboBox3.SelectedIndex = 0; return i; } } ‫ھﺎ‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ﭘﻮﺷﮫ‬ ‫درﯾﺎﻓﺖ‬ ‫ﮐﻮﻣﺒﻮﺑﺎﮐﺲ‬ (i + 1);
  • 5.
    private void button1_Click(objectsender, { axKylixSMS.Disconnect(); button3.Enabled = true; button1.Enabled = false; } ‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ارﺗﺑﺎط‬ ‫ﮐردن‬ ‫ﻗطﻊ‬ ‫ﺑرای‬: sender, EventArgs e) ‫روﯾﺪاد‬ ‫در‬ ‫را‬ ‫ﮐﺪ‬ ‫اﯾﻦ‬ ‫اﺳﺖ‬ ‫ﺑﮭﺘﺮ‬Formclosing‫ﺑﻨﻮﯾﺴﯿﻢ‬ ‫ﻧﯿﺰ‬
  • 6.
    ‫ﮐﯾﻧم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﻣودم‬ ‫ﯾﺎ‬ ‫ﻣوﺑﺎﯾل‬ ‫اطﻼﻋﺎت‬ ‫ﮔرﻓﺗن‬ ‫ﺑرای‬: private void button2_Click(object sender, { textBox4.Text = axKylixSMS.GetManufacturer textBox5.Text = axKylixSMS.GetModel(); textBox6.Text = axKylixSMS.GetIMEI(); textBox7.Text = axKylixSMS.GetNetworkInfo textBox8.Text = axKylixSMS.GetBatteryLevel textBox9.Text = axKylixSMS.GetSignalLevel textBox10.Text = axKylixSMS.GetFirmware(); textBox11.Text = axKylixSMS.GetHardware(); textBox12.Text = axKylixSMS.GetTime(); textBox20.Text = axKylixSMS.GetSMSCNumber } ‫ﮐرد‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﺷﺑﯾﮫ‬ ‫ھﺎی‬ ‫ﮐﺎﻣﭘوﻧﻧت‬ ‫از‬ ‫ﺷود‬ ‫ﻣﯽ‬ ‫ﺷﺎرژ‬ ‫ﻣﯾزان‬ ‫و‬ ‫ﺳﯾﮕﻧﺎل‬ ‫ﮔراﻓﯾﮑﯽ‬ ‫ﻧﻣﺎﯾش‬ ‫ﺑرای‬ ‫ﮐﮫ‬ ‫ﻣﻮﺑﺎﯾﻞ‬ ‫ﯾﺎ‬ ‫ﻣﻮدم‬ ‫اطﻼﻋﺎت‬ ‫ﮔﺮﻓﺘﻦ‬ ‫ﮐﯾﻧم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﻣودم‬ ‫ﯾﺎ‬ ‫ﻣوﺑﺎﯾل‬ ‫اطﻼﻋﺎت‬ ‫ﮔرﻓﺗن‬ ‫ﺑرای‬ sender, EventArgs e) axKylixSMS.GetManufacturer(); axKylixSMS.GetNetworkInfo(); axKylixSMS.GetBatteryLevel().ToString(); axKylixSMS.GetSignalLevel().ToString(); (); (); axKylixSMS.GetSMSCNumber(); ‫ﮐرد‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﺷﺑﯾﮫ‬ ‫ھﺎی‬ ‫ﮐﺎﻣﭘوﻧﻧت‬ ‫از‬ ‫ﺷود‬ ‫ﻣﯽ‬ ‫ﺷﺎرژ‬ ‫ﻣﯾزان‬ ‫و‬ ‫ﺳﯾﮕﻧﺎل‬ ‫ﮔراﻓﯾﮑﯽ‬ ‫ﻧﻣﺎﯾش‬ ‫ﺑرای‬ ‫ﮐﮫ‬
  • 7.
    ‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺳﺎﻋت‬ ‫و‬ ‫ﺗﺎرﯾﺦ‬ ‫ﺗﻧظﯾم‬ ‫ﺑرای‬: private void button10_Click(object { if (axKylixSMS.SetTime(textBox12.Text) != axKylixSMS.GetLastError(1); else MessageBox.Show("Successful."); } ‫ﻣﻮدم‬ ‫ﯾﺎ‬ ‫ﻣﻮﺑﺎﯾﻞ‬ ‫ﺳﺎﻋﺖ‬ ‫و‬ ‫ﺗﺎرﯾﺦ‬ ‫ﺗﻨﻈﯿﻢ‬ ‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺳﺎﻋت‬ ‫و‬ ‫ﺗﺎرﯾﺦ‬ ‫ﺗﻧظﯾم‬ ‫ﺑرای‬ object sender, EventArgs e) .Text) != 1)
  • 8.
    ‫از‬ ‫اﺳﺗﻔﺎده‬ ‫ﺑﺎ‬‫اﯾﻧﺟﺎ‬ ‫در‬ ‫ﻣﺎ‬ ‫ﮐﮫ‬2backgroundWorker‫اﯾم‬ ‫ﻧوﺷﺗﮫ‬ ‫را‬ ‫ﮐد‬ ‫اﯾن‬( ivate void button11_Click(object sender, EventArgs (textBox15.Text == "") ssageBox.Show(" ‫وﺟﻮد‬ ‫ارﺳﺎل‬ ‫ﺑﺮای‬ ‫ﻣﺘﻨﯽ‬‫ﻧﺪارد‬ " ) xtBox15.Focus(); se if (textBox13.Text == "") ssageBox.Show (" ‫ﮐﻨﯿﺪ‬ ‫وارد‬ ‫را‬ ‫ﮔﯿﺮﻧﺪه‬ ‫ﭘﯿﺎم‬ ‫"ﺷﻤﺎره‬ ) xtBox13.Focus(); se KylixSMS.SMSValidity = comboBox4.SelectedIndex + ogressBar1.Maximum = ‫ﻣﯿﺰان‬ ‫اﻧﺪازه‬ ‫ﭘﺮوﮔﺮس‬ ‫ﺑﺎر‬ ‫ﮐﮫ‬ ‫در‬ ‫اﯾﻨﺠﺎ‬ ‫ﭼﻮن‬ ‫ﯾﮏ‬ ‫ﭘﯿﺎم‬ ‫ارﺳﺎل‬ ‫ﻣﯽ‬//;1 ‫ﻣﯽ‬ ‫ﮔﺰارﯾﻢ‬1 ckgroundWorker1.RunWorkerAsync();// ‫اﺟﺮا‬ ‫ﮐﺪ‬ ‫ارﺳﺎل‬ tton11.Visible = false; tton15.Visible = true; ‫ﺗﮑﯽ‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ل‬: ‫ﮐﯾﻧم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺷﻣﺎره‬ ‫ﯾﮏ‬ ‫ﺑﮫ‬ ‫ﻓﻘط‬ ‫ﭘﯾﺎم‬ ‫ارﺳﺎل‬ ‫ی‬)‫از‬ ‫اﺳﺗﻔﺎده‬ ‫ﺑﺎ‬ ‫اﯾﻧﺟﺎ‬ ‫در‬ ‫ﻣﺎ‬ ‫ﮐﮫ‬ EventArgs e) .SelectedIndex + ‫ﺗﻌﯿﯿﻦ‬ ‫اﻋﺘﺒﺎر‬ ‫ﭘﯿﺎم‬//;1 ‫ﻣﯿﺰان‬ ‫اﻧﺪازه‬ ‫ﭘﺮوﮔﺮس‬ ‫ﺑﺎر‬ ‫ﮐﮫ‬ ‫در‬ ‫اﯾﻨﺠﺎ‬ ‫ﭼﻮن‬ ‫ﯾﮏ‬ ‫ﭘﯿﺎم‬ ‫ارﺳﺎل‬ ‫ﻣﯽ‬
  • 9.
    private void backgroundWorker sender,DoWorkEventArgs { int x = 1; for (int i = 1; i <= x; i++) { if (backgroundWorker1.CancellationPending) { e.Cancel = true; break; } backgroundWorker1.ReportProgress( ‫ارﺳﺎل‬ ‫ﭘﯿﺎﻣﮏ‬// backgroundWorker1_DoWork(object e) ; i <= x; i++) .CancellationPending) .ReportProgress(i);
  • 10.
    ong lSendReference; xKylixSMS.RequestDeliveryReport =checkBox ‫ﺗﺤﻮ‬ ‫ﮔﺰارش‬ xKylixSMS.SendInterval = int.Parse(textBox xKylixSMS.SendRetryTimes = int.Parse(textBox ‫ﻣﯿﮑﻨﺪ‬ ‫ﻣﺸﺨﺺ‬)‫ﺑﺎﺷﺪ‬ ‫ﺛﺎﻧﯿﮫ‬ ‫ﭼﻨﺪ‬ ‫ﺛﺎﻧﯿﮫ‬ ‫ﭼﻨﺪ‬ xKylixSMS.SendTimeout = int.Parse(textBox ‫ارﺳ‬ ‫ﺑﺮای‬ ‫ﮐﻨﺪ‬ ‫ﺗﻼش‬ ‫دوﺑﺎره‬ ‫ﺑﻌﺪ‬ ‫ﮐﻨﺪ‬ ‫ﺻﺒﺮ‬ ‫ﺛﺎﻧﯿﮫ‬ ‫ﭼﻨﺪ‬ f (checkBox1.Checked)// ‫ﺻﻮرت‬ ‫ﺑﮫ‬ ‫ارﺳﺎل‬ ‫اﯾﺎ‬wap SendReference = axKylixSMS.SendWAPPush(Number.Text extBox16.Text); lse SendReference = axKylixSMS.SendSMS(textBox f (lSendReference < 1) xKylixSMS.GetLastError(1); lse essageBox.Show("n ‫ﺷﺪ‬ ‫ارﺳﺎل‬ ‫ﺑﺎﻣﻮﻓﻘﯿﺖ‬ ‫ﭘﯿﺎﻣﮏ‬ nnReference = checkBox4.Checked.CompareTo(false);// ‫درﯾﺎﻓﺖ‬ ‫ﺗﻌﯿﯿﻦ‬ (textBox18.Text);//‫ارﺳﺎل‬ ‫ﺧﺎﺗﻤﮫ‬ ‫زﻣﺎن‬ (textBox19.Text);// ‫رو‬ ‫ارﺳﺎل‬ ‫زﻣﺎن‬ (textBox17.Text);//‫ﻧﺸﻮد‬ ‫ارﺳﺎل‬ ‫ﭘﯿﺎﻣﮏ‬ ‫اﮔﺮ‬ Number.Text, textBox15.Text, (textBox13.Text, textBox15.Text); nReference: " + lSendReference.ToString());
  • 11.
    ivate void backgroundWorker1_RunWorkerCompleted( (e.Error!= null) ssageBox.Show(e.Error.Message); ogressBar1.Value = 0; tton11.Visible = true; tton15.Visible = false; se if (e.Cancelled) ssageBox.Show(" ‫ارﺳﺎل‬‫ﺷﺪ‬ ‫ﻟﻐﻮ‬ ‫ﭘﯿﺎﻣﮏ‬ " ) ogressBar1.Value = 0; tton11.Visible = true; tton15.Visible = false; se ogressBar1.Value = 0; tton11.Visible = true; tton15.Visible = false; vate void button15_Click(object sender, EventArgs kgroundWorker1.CancelAsync();//‫ارﺳﺎل‬ ‫ﻟﻐﻮ‬ _RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs EventArgs e)
  • 12.
    ‫ﮐﺎراﮐﺗر‬( ‫ﭘﯿﺎم‬‫و‬ ‫ﺻﻔﺤﺎت‬ ‫ﻣﺘﻦ‬‫ﺷﻤﺎرش‬‫ﺗﻌﺪاد‬ ‫ﮐﺎراﮐﺘﺮھﺎ‬ ivate void textBox15_TextChanged(object sender, bel28.Text = axKylixSMS.CountSMSText(textBox ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺷود‬ ‫ارﺳﺎل‬ ‫ﭘﯾﺎﻣﮏ‬ ‫ﯾﮏ‬ ‫ﺻورت‬ ‫ﺑﮫ‬ ‫ﺧواھﯾم‬ ‫ﻣﯽ‬ ‫و‬ ‫ﺑود‬ ‫ﮐﺎراﮐﺗر‬ ‫ﭼﺴﺒﺎﻧﺪ‬ ‫ﺻﻔﺤﺎت‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ھﺎ‬ ‫و‬ ‫ﯾﮑﯽ‬ ‫ﮐﺮدن‬ ‫اﻧﮭﺎ‬ ivate void checkBox2_CheckedChanged(object KylixSMS.IsConcatenatedSMS = checkBox2.Checked.CompareTo( xtBox15_TextChanged(sender, e); ‫ﺻﻔﺣﺎت‬ ‫ﺗﻌداد‬ ‫و‬ ‫ﮐﺎرﮐﺗرھﺎ‬ ‫ﻌداد‬)‫از‬ ‫ﺑﯾﺷﺗر‬ ‫ﯾﻌﻧﯽ‬86‫ﮐﺎراﮐﺗر‬ sender, EventArgs e) textBox15.Text); ‫از‬ ‫ﺑﯾﺷﺗر‬ ‫ﭘﯾﺎﻣﮏ‬ ‫ﻣﺗن‬ ‫اﮔر‬ ‫ﮫ‬86‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺷود‬ ‫ارﺳﺎل‬ ‫ﭘﯾﺎﻣﮏ‬ ‫ﯾﮏ‬ ‫ﺻورت‬ ‫ﺑﮫ‬ ‫ﺧواھﯾم‬ ‫ﻣﯽ‬ ‫و‬ ‫ﺑود‬ ‫ﮐﺎراﮐﺗر‬ ‫ﮐﻧﯾم‬ ‫ﯽ‬: object sender, EventArgs e) .Checked.CompareTo(false);
  • 13.
    ‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺗﺣوﯾل‬ ‫ﮔزارش‬ ‫ﮔرﻓﺗن‬ ‫ﺑرای‬: ‫ﮔﺮﻓﺘﻦ‬ ‫ﮔﺰارش‬ ‫ﺗﺤﻮﯾﻞ‬// private void checkBox4_CheckedChanged(object { axKylixSMS.RequestDeliveryReport = checkBox } ‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬: ‫ﻓﺮﺳﺘﺎدن‬ ‫ﺑﮫ‬ ‫ﺻﻮرت‬ ‫ﻓﻠﺶ‬ ‫اس‬ ‫ام‬ ‫اس‬// private void checkBox3_CheckedChanged(object { axKylixSMS.IsFlashSMS = checkBox3.Checked.CompareTo( textBox15_TextChanged(sender, e); } ‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺗﺣوﯾل‬ ‫ﮔزارش‬ ‫ﮔرﻓﺗن‬ ‫ﺑرای‬ object sender, EventArgs e) = checkBox4.Checked.CompareTo(false); ‫ﺻورت‬ ‫ﺑﮫ‬ ‫ارﺳﺎل‬ ‫ﺑرای‬Flash sms‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ object sender, EventArgs e) .Checked.CompareTo(false);
  • 14.
    ‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ارﺳﺎل‬ ‫ﮔزارﺷﺎت‬ ‫ﺧودﮐﺎر‬ ‫ﺣذف‬ ‫ﺑرای‬: ‫ﺣﺬف‬ ‫ﺧﻮدﮐﺎر‬ ‫ﮔﺰارش‬ ‫ارﺳﺎل‬// private void checkBox5_CheckedChanged(object { axKylixSMS.AutoDeleteAllReport = checkBox } ‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ارﺳﺎل‬ ‫ﻣﮭﻠت‬ ‫ﺗﻌﯾﯾن‬ ‫ﺑرای‬: ‫ﺗﻌﯿﯿﻦ‬ ‫ﻣﮭﻠﺖ‬ ‫ارﺳﺎل‬// private void textBox17_TextChanged(object { axKylixSMS.SendTimeout = int.Parse(textBox } ‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ارﺳﺎل‬ ‫ﮔزارﺷﺎت‬ ‫ﺧودﮐﺎر‬ ‫ﺣذف‬ ‫ﺑرای‬ object sender, EventArgs e) = checkBox5.Checked.CompareTo(false); ‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ارﺳﺎل‬ ‫ﻣﮭﻠت‬ ‫ﺗﻌﯾﯾن‬ ‫ﺑرای‬ object sender, EventArgs e) textBox17.Text);
  • 15.
    ‫ﺷود‬ ‫ارﺳﺎل‬ ‫ﺛﺎﻧﯾﮫ‬‫ﭼﻧد‬ ‫ﺛﺎﻧﯾﮫ‬ ‫ﭼﻧد‬(‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬: //‫ارﺳﺎل‬ ‫زﻣﺎن‬ ‫ﺗﻌﯿﯿﻦ‬ ‫ﺑﺮای‬)‫ﺷﻮد‬ ‫ارﺳﺎل‬ ‫ﺛﺎﻧﯿﮫ‬ ‫ﭼﻨﺪ‬ ‫ﺛﺎﻧﯿﮫ‬ ‫ﭼﻨﺪ‬( rivate void textBox18_TextChanged(object xKylixSMS.SendInterval = int.Parse(textBox ‫ﮐد‬ ‫از‬ ‫ﮐﻧد‬ ‫ﺗﻼش‬ ‫دوﺑﺎره‬ ‫ﺑﻌد‬ ‫ﮐﻧد‬ ‫ﺻﺑر‬ ‫ﺛﺎﻧﯾﮫ‬ ‫ﭼﻧد‬ ‫ﻧﺷود‬ ‫ارﺳﺎل‬ ‫ﭘﯾﺎﻣﮏ‬ ‫اﮔر‬ ‫اﯾﻧﮑﮫ‬ ‫ﺗﻌﯾﯾن‬ ‫ﺑرای‬ ‫ﮐﻨﺪ‬ ‫ﺗﻼش‬ ‫دوﺑﺎره‬ ‫ﺑﻌﺪ‬ ‫ﮐﻨﺪ‬ ‫ﺻﺒﺮ‬ ‫ﺛﺎﻧﯿﮫ‬ ‫ﭼﻨﺪ‬ ‫ﻧﺸﻮد‬ ‫ارﺳﺎل‬ ‫ﭘﯿﺎﻣﮏ‬ ‫اﮔﺮ‬ ‫اﯾﻨﮑﮫ‬ ‫ﺗﻌﯿﯿﻦ‬ ‫ﺑﺮای‬ rivate void textBox19_TextChanged(object xKylixSMS.SendRetryTimes = int.Parse(textBox ‫ارﺳﺎل‬ ‫زﻣﺎن‬ ‫ﺗﻌﯾﯾن‬ ‫ﺑرای‬)‫ﺷود‬ ‫ارﺳﺎل‬ ‫ﺛﺎﻧﯾﮫ‬ ‫ﭼﻧد‬ ‫ﺛﺎﻧﯾﮫ‬ ‫ﭼﻧد‬ object sender, EventArgs e) (textBox18.Text); ‫ﮐد‬ ‫از‬ ‫ﮐﻧد‬ ‫ﺗﻼش‬ ‫دوﺑﺎره‬ ‫ﺑﻌد‬ ‫ﮐﻧد‬ ‫ﺻﺑر‬ ‫ﺛﺎﻧﯾﮫ‬ ‫ﭼﻧد‬ ‫ﻧﺷود‬ ‫ارﺳﺎل‬ ‫ﭘﯾﺎﻣﮏ‬ ‫اﮔر‬ ‫اﯾﻧﮑﮫ‬ ‫ﺗﻌﯾﯾن‬ ‫ﺑرای‬ ‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬: //‫ﮐﻨﺪ‬ ‫ﺗﻼش‬ ‫دوﺑﺎره‬ ‫ﺑﻌﺪ‬ ‫ﮐﻨﺪ‬ ‫ﺻﺒﺮ‬ ‫ﺛﺎﻧﯿﮫ‬ ‫ﭼﻨﺪ‬ ‫ﻧﺸﻮد‬ ‫ارﺳﺎل‬ ‫ﭘﯿﺎﻣﮏ‬ ‫اﮔﺮ‬ ‫اﯾﻨﮑﮫ‬ ‫ﺗﻌﯿﯿﻦ‬ ‫ﺑﺮای‬ object sender, EventArgs e) (textBox19.Text);
  • 16.
    ‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ارﺳﺎﻟﯽ‬ ‫ھﺎی‬ ‫ﭘﯾﺎم‬ ‫ﯾﺎ‬ ‫ﭘﯾﺎم‬ ‫اﻋﺗﺑﺎر‬ ‫ﺗﻌﯾﯾن‬ ‫رای‬: //‫ﭘ‬ ‫اﻋﺘﺒﺎر‬ ‫ﺗﻌﯿﯿﻦ‬ rivate void comboBox4_SelectedIndexChanged( xKylixSMS.SMSValidity = comboBox4.SelectedIndex + ‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺷود‬ ‫ارﺳﺎل‬ ‫ﺳرور‬ ‫ﮐدام‬ ‫از‬ ‫ﭘﯾﺎﻣﮏ‬ ‫اﯾﻧﮑﮫ‬ ‫ﺗﻧظﯾم‬ ‫رای‬: //‫ﮐﻨﺘﺮ‬ ‫ﻣﺮﮐﺰ‬ ‫ﺗﻌﯿﯿﻦ‬ rivate void button5_Click(object sender, f (axKylixSMS.SetSMSCNumber(textBox20.Text) != xKylixSMS.GetLastError(1); lse essageBox.Show("Successful."); ‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ارﺳﺎﻟﯽ‬ ‫ھﺎی‬ ‫ﭘﯾﺎم‬ ‫ﯾﺎ‬ ‫ﭘﯾﺎم‬ ‫اﻋﺗﺑﺎر‬ ‫ﺗﻌﯾﯾن‬ ‫رای‬ _SelectedIndexChanged(object sender, EventArgs e) .SelectedIndex + 1; ‫ﮐﻨﺘﺮل‬ ‫ﻣﺮﮐﺰ‬ ‫ﻈﯿﻢ‬ ‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺷود‬ ‫ارﺳﺎل‬ ‫ﺳرور‬ ‫ﮐدام‬ ‫از‬ ‫ﭘﯾﺎﻣﮏ‬ ‫اﯾﻧﮑﮫ‬ ‫ﺗﻧظﯾم‬ ‫رای‬ sender, EventArgs e) .Text) != 1)
  • 17.
    ivate void button9_Click(objectsender, EventArgs e) t lFolder, lResult; ring strStatus; SMSList.Items.Clear(); r (int i = 0; i < 50; i++) (i == 0) esult = axKylixSMS.ReadAllSMS(1); //declaration: int adAllSMS(int IsFirst) se esult = axKylixSMS.ReadAllSMS(0); (1 != lResult) eak; SMSList.Items.Add((i + 1).ToString(), 0); older = axKylixSMS.LastReadSMSFolder; SMSList.Items[i].SubItems.Add(axKylixSMS.GetSMSFolderInfo itch (axKylixSMS.LastReadSMSStatus) se 1: strStatus = " ‫ﺧﻮاﻧﺪه‬ ‫ﻧﺸﺪه‬"; break; se 2: strStatus = " ‫ﺧﻮاﻧﺪه‬ ‫ﺷﺪه‬"; break; se 3: strStatus = " ‫ارﺳﻞ‬ ‫ﻧﺸﺪه‬"; break; se 4: strStatus = " ‫ارﺳﺎل‬ ‫ﺷﺪه‬"; break; fault: strStatus = ""; break; SMSList.Items[i].SubItems.Add(strStatus); ‫ھﺎ‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ﺪن‬ ‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ھﺎ‬ ‫ﭘﯾﺎﻣﮏ‬ ‫ھﻣﮫ‬ ‫ﺧوادن‬ ‫ی‬: e) int axKylixSMS.GetSMSFolderInfo(lFolder));
  • 18.
    lvSMSList.Items[i].SubItems.Add(axKylixSMS.LastReadSMSLocation.ToString lvSMSList.Items[i].SubItems.Add(axKylixSMS.LastReadSMSTime lvSMSList.Items[i].SubItems.Add(axKylixSMS.LastReadSMSNumber lvSMSList.Items[i].SubItems.Add(axKylixSMS.LastReadSMSConcatenatedInfo lvSMSList.Items[i].SubItems.Add(axKylixSMS.LastReadSMSText } } ‫در‬ ‫و‬ ‫دارد‬‫ﻣﺷﮑل‬ ‫ﭘﯾﺎﻣﮏ‬ ‫درﯾﺎﻓت‬ ‫ﺑرای‬ ‫ﻣوﺑﺎﯾﻠﮭﺎ‬ ‫اﮐﺛر‬ ‫ﺑﺎ‬ ‫ﮐﺎﻣﭘوﻧﻧت‬ ‫اﯾن‬ ‫ﮐﮫ‬ ‫ﮐﻧﯾد‬ ‫وﺟﮫ‬ ‫ﮔﯾرد‬ ‫ﻣﯽ‬ ‫اﻧﺟﺎم‬ ‫ﺑﮭﺗر‬ ‫ﭘﯾﺎﻣﮏ‬ ‫درﯾﺎﻓت‬ ‫ﻣودم‬ axKylixSMS.LastReadSMSLocation.ToString()); axKylixSMS.LastReadSMSTime); axKylixSMS.LastReadSMSNumber); axKylixSMS.LastReadSMSConcatenatedInfo); axKylixSMS.LastReadSMSText); ‫در‬ ‫و‬ ‫دارد‬ ‫ﻣﺷﮑل‬ ‫ﭘﯾﺎﻣﮏ‬ ‫درﯾﺎﻓت‬ ‫ﺑرای‬ ‫ﻣوﺑﺎﯾﻠﮭﺎ‬ ‫اﮐﺛر‬ ‫ﺑﺎ‬ ‫ﮐﺎﻣﭘوﻧﻧت‬ ‫اﯾن‬ ‫ﮐﮫ‬ ‫ﮐﻧﯾد‬ ‫وﺟﮫ‬ GSM‫ﮔﯾرد‬ ‫ﻣﯽ‬ ‫اﻧﺟﺎم‬ ‫ﺑﮭﺗر‬ ‫ﭘﯾﺎﻣﮏ‬ ‫درﯾﺎﻓت‬ ‫ﻣودم‬
  • 19.
    ‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬‫ﮐد‬ ‫از‬ ‫ﭘﯾﺎﻣﮏ‬ ‫ﺣذف‬ ‫رای‬: ‫ﺣﺬف‬ ‫ﭘﯿﺎﻣﮏ‬// private void button6_Click(object sender, { if (textBox21.Text == "") textBox21.Text = "0"; if (axKylixSMS.DeleteSMS(comboBox3.SelectedIndex + int.Parse(textBox21.Text)) != 1) axKylixSMS.GetLastError(1); else MessageBox.Show("Successful."); } ‫ھﺎ‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ﺣﺬف‬ ‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﭘﯾﺎﻣﮏ‬ ‫ﺣذف‬ ‫رای‬ sender, EventArgs e) .SelectedIndex + 1,
  • 20.
    ‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬‫ﮐد‬ ‫از‬ ‫ﺟدﯾد‬ ‫ﭘﯾﺎﻣﮏ‬ ‫ﺧودﮐﺎر‬ ‫ﺣذف‬ ‫ی‬: ‫ﺣﺬف‬ ‫ﺧﻮدﮐﺎر‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ﺟﺪﺑﺪ‬ rivate void checkBox6_CheckedChanged(object xKylixSMS.AutoDeleteNewSMS = checkBox6.Checked.CompareTo( ‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺟدﯾد‬ ‫ﭘﯾﺎﻣﮏ‬ ‫ﺧودﮐﺎر‬ ‫ﺣذف‬ ‫ی‬ object sender, EventArgs e) .Checked.CompareTo(false);
  • 21.
    ‫اﺟﺮای‬ ‫ﮐﺪھﺎی‬/ ussd rivatevoid button7_Click(object sender, EventArgs f (axKylixSMS.DialUSSD(textBox22.Text) != 1) xKylixSMS.GetLastError(1); lse essageBox.Show("Successful."); ‫ﺳﯾﻣﮑﺎرت‬ ‫ﺷﺎرژ‬ ‫دﺳﺗور‬ ‫ﻣﺛل‬(‫ﻣﯾﮑﻧﮫ‬ ‫ارﺳﺎل‬ ‫ﺷﻣﺎ‬ ‫ﺑرای‬ ‫ﺟواﺑﯽ‬ ‫اﭘراﺗور‬ ، KylixSMS،‫از‬ ‫رﺳﯾده‬ ‫ﻣﺗن‬ ‫ﮐﮫ‬ ‫داره‬ ‫وﺟود‬ ‫ﺗوﺳط‬ ‫ﺷده‬ ‫ﻓرﺳﺗﺎده‬ ‫ﭘﯾﻐﺎم‬ ‫ﺟواب‬ ‫وﻗﺗﯽ‬ ‫ﻧﺎم‬ ‫ﺑﮫ‬ ‫ﻣﺗﻐﯾری‬ ‫روﯾداد‬ ‫اﯾن‬ ‫ﺗوی‬ ، ‫ﻣﯾﺷﮫ‬ ‫اﺟرا‬‫ارﺳﺎل‬ ‫اﮔر‬ ، ‫دارﯾد‬ ‫اﻣﮑﺎن‬ ‫دو‬ ‫ﺷﻣﺎ‬ ‫روﯾداد‬ ‫اﯾن‬ ‫در‬ ‫ﺑرﺳوﻧﯾد‬ ‫ﭘﺎﯾﺎن‬ ‫ﺑﮫ‬ ‫رو‬ ‫دﺳﺗور‬ ‫ارﺳﺎل‬ ‫زﯾر‬ ‫دﺳﺗور‬ ‫ﺑﺎ‬ ‫ﺗوﻧﯾد‬ ‫ﻣﯽ‬ ‫اﭘراﺗورﻧﯾﺳت‬ ‫ﺑرای‬ ‫ﺟواب‬ ‫ارﺳﺎل‬ ‫ﺑﮫ‬ ‫ﻧﯾﺎزی‬ ‫و‬ ‫رﺳﯾده‬ ‫ﭘﺎﯾﺎن‬ ‫ﺑﮫ‬ ‫ورات‬: ixSMS.EndUSSD() ‫ﺑﻔرﺳﺗﯾد‬ ‫اﭘراﺗوز‬ ‫ﺑرای‬ ‫رو‬ ‫ﺟواب‬ ‫زﯾر‬ ‫دﺳﺗور‬ ‫از‬ ‫ﺗوﻧﯾد‬ ‫ﻣﯽ‬ ، ‫ﮐﻧﯾد‬ ‫ارﺳﺎل‬ ‫ﺟواﺑﯽ‬ ‫اﭘراﺗور‬ ‫ﺑرای‬ ‫ﮐﮫ‬ ‫دارﯾد‬ ‫ﻧﯾﺎز‬ ‫اﮔر‬ ‫ﻣﺎ‬: ixSMS.ReplyUSSD('Command'); ‫ﺑدﯾد‬ ‫ﭘﺎﯾﺎن‬ ‫ﮐﺎرﺗون‬ ‫ﺑﮫ‬ ‫زﯾر‬ ‫دﺳﺗور‬ ‫ﺑﺎ‬ ‫ﺑﺎﯾد‬ ، ‫رﺳﯾد‬ ‫ﭘﺎﯾﺎن‬ ‫ﺑﮫ‬ ‫ﭘﯾﺎم‬ ‫درﯾﺎﻓت‬ ‫و‬ ‫ارﺳﺎل‬ ‫وﻗﺗﯽ‬ ‫ﮐﮫ‬ ‫ﮐﻧﯾد‬ ‫وﺟﮫ‬: ixSMS.EndUSSD() ‫ﮐﺪھﺎی‬ ‫اﺟﺮای‬ ‫و‬ ‫ﮔﯿﺮی‬ ‫ره‬ussd ‫ﮐدھﺎی‬ ‫ی‬ussd ‫ﮐدھﺎ‬ ‫اﯾن‬ ‫اﺟرای‬ ‫ی‬)‫ﻣﺟدد‬ ‫ﺷﺎرژ‬ ‫ﻣﺛﻼ‬(‫ﻣﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬: EventArgs e) ‫ﮐﻧﯾد‬ ‫ﻣﯽ‬ ‫ارﺳﺎل‬ ‫اﭘراﺗور‬ ‫ﺑرای‬ ‫دﺳﺗوری‬ ‫ﯽ‬)‫ﺳﯾﻣﮑﺎرت‬ ‫ﺷﺎرژ‬ ‫دﺳﺗور‬ ‫ﻣﺛل‬ ‫ﮐﺎﻣﭘوﻧﻧت‬OnNewUSSD‫روﯾداد‬ ، ‫ﺑﺷﮫ‬ ‫داده‬ ‫اﭘراﺗور‬ ‫ﺗوﺳط‬KylixSMS ‫داره‬ ‫ﻗرار‬ ‫ﻣﺗﻐﯾر‬ ‫اﯾن‬ ‫در‬ ‫اﭘراﺗور‬ ‫ف‬Text‫ﻧﺎم‬ ‫ﺑﮫ‬ ‫ﻣﺗﻐﯾری‬ ‫روﯾداد‬ ‫اﯾن‬ ‫ﺗوی‬ ، ‫ﻣﯾﺷﮫ‬ ‫اﺟرا‬ ‫ﺑرﺳوﻧﯾد‬ ‫ﭘﺎﯾﺎن‬ ‫ﺑﮫ‬ ‫رو‬ ‫دﺳﺗور‬ ‫ارﺳﺎل‬ ‫زﯾر‬ ‫دﺳﺗور‬ ‫ﺑﺎ‬ ‫ﺗوﻧﯾد‬ ‫ﻣﯽ‬ ‫اﭘراﺗورﻧﯾﺳت‬ ‫ﺑرای‬ ‫ﺟواب‬ ‫ارﺳﺎل‬ ‫ﺑﮫ‬ ‫ﻧﯾﺎزی‬ ‫و‬ ‫رﺳﯾده‬ ‫ﭘﺎﯾﺎن‬ ‫ﺑﮫ‬ ‫ورات‬ ‫ﺑﻔرﺳﺗﯾد‬ ‫اﭘراﺗوز‬ ‫ﺑرای‬ ‫رو‬ ‫ﺟواب‬ ‫زﯾر‬ ‫دﺳﺗور‬ ‫از‬ ‫ﺗوﻧﯾد‬ ‫ﻣﯽ‬ ، ‫ﮐﻧﯾد‬ ‫ارﺳﺎل‬ ‫ﺟواﺑﯽ‬ ‫اﭘراﺗور‬ ‫ﺑرای‬ ‫ﮐﮫ‬ ‫دارﯾد‬ ‫ﻧﯾﺎز‬ ‫اﮔر‬ ‫ﻣﺎ‬ *‫ﺟﺎی‬ ‫ﺑﮫ‬Command‫ﺑﻧوﯾﺳﯾد‬ ‫رو‬ ‫ﻧظرﺗون‬ ‫ﻣورد‬ ‫دﺳﺗورات‬ ‫ﺑدﯾد‬ ‫ﭘﺎﯾﺎن‬ ‫ﮐﺎرﺗون‬ ‫ﺑﮫ‬ ‫زﯾر‬ ‫دﺳﺗور‬ ‫ﺑﺎ‬ ‫ﺑﺎﯾد‬ ، ‫رﺳﯾد‬ ‫ﭘﺎﯾﺎن‬ ‫ﺑﮫ‬ ‫ﭘﯾﺎم‬ ‫درﯾﺎﻓت‬ ‫و‬ ‫ارﺳﺎل‬ ‫وﻗﺗﯽ‬ ‫ﮐﮫ‬ ‫ﮐﻧﯾد‬ ‫وﺟﮫ‬
  • 22.
    ‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬‫ﮐد‬ ‫از‬ ‫ﻧظر‬ ‫ﻣورد‬ ‫ﺷﻣﺎره‬ ‫ﺑﺎ‬ ‫ﺗﻣﺎس‬ ‫ﺑرﻗراری‬ ‫رای‬: ‫ﺷﻤﺎره‬ ‫ﮔﯿﺮی‬/ private void button8_Click(object sender, { if (axKylixSMS.DialCall(textBox23.Text) != axKylixSMS.GetLastError(1); else MessageBox.Show("Successful."); } ‫ﺗﻤﺎس‬ ‫ﺮﻗﺮاری‬ ‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﻧظر‬ ‫ﻣورد‬ ‫ﺷﻣﺎره‬ ‫ﺑﺎ‬ ‫ﺗﻣﺎس‬ ‫ﺑرﻗراری‬ ‫رای‬ sender, EventArgs e) .Text) != 1)
  • 23.
    ‫ﻗﻄﻊ‬ ‫ﺗﻤﺎس‬// private voidbutton13_Click(object sender, { if (axKylixSMS.EndCall() != 1) axKylixSMS.GetLastError(1); else MessageBox.Show("Successful."); } ‫ﺗﻣﺎس‬ ‫ﻊ‬ ‫ﮐﯾﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺗﻣﺎس‬ ‫ﻗطﻊ‬ ‫ی‬: sender, EventArgs e)
  • 24.
    ‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﮔوﯾﺎ‬ ‫ﺗﻠﻔن‬ ‫ﺑﮫ‬ ‫ﭘﺎﺳﺦ‬ ‫ارﺳﺎل‬ ‫ی‬: ‫ارﺳﺎل‬ ‫ﭘﺎﺳﺦ‬ ‫ﺑﮫ‬ ‫ﺗﻠﻔﻦ‬ ‫ﮔﻮﯾﺎ‬ private void button14_Click(object sender, if (axKylixSMS.SendDTMF(textBox24.Text) != axKylixSMS.GetLastError(1); else MessageBox.Show("Successful."); ‫ﮔﻮﯾﺎ‬ ‫ﺗﻠﻔﻦ‬ ‫ﺑﮫ‬ ‫ﭘﺎﺳﺦ‬ ‫ﺳﺎل‬ ‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﮔوﯾﺎ‬ ‫ﺗﻠﻔن‬ ‫ﺑﮫ‬ ‫ﭘﺎﺳﺦ‬ ‫ارﺳﺎل‬ ‫ی‬ sender, EventArgs e) .Text) != 1)
  • 25.
    ‫ﭘﯾﺎم‬ ‫اﻋﺗﺑﺎر‬ ‫و‬‫اﺗﺻﺎل‬ ‫ﻧﺣوه‬ ‫و‬ ‫ﻧوع‬ ‫ﮐوﻣﺑوﺑﺎﮐس‬ ‫ﺑﮫ‬ ‫ﻓرض‬ ‫ﭘﯾش‬ ‫دھﯽ‬ ‫ﻘدار‬ ‫ﻣﻘﺪا‬ ‫دھﯽ‬ ‫ﭘﯿﺶ‬ ‫ﻓﺮض‬ ‫ﺑﮫ‬ ‫ﮐﻮﻣﺒﻮﺑﺎﮐﺲ‬ ‫ﻧﻮع‬ ‫و‬ ‫ﻧﺤﻮه‬ ‫اﺗﺼﺎل‬ ‫و‬ ‫اﻋﺘﺒﺎر‬ ‫ﭘﯿﺎم‬ rivate void Form1_Load(object sender, EventArgs omboBox1.SelectedIndex = 0; omboBox2.SelectedIndex = 0; omboBox4.SelectedIndex = 5; ‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫درﯾﺎﻓﺗﯽ‬ ‫ﺗﻣﺎﺳﮭﺎی‬ ‫رد‬ ‫ای‬: ‫رد‬ ‫ﺗﻤﺎﺳﮭﺎی‬ ‫درﯾﺎﻓﺘﯽ‬// private void checkBox7_CheckedChanged(object { axKylixSMS.RejectIncomingCall = checkBox7 //Checked: 1 Unchecked: 0 } ‫ﭘﯾﺎم‬ ‫اﻋﺗﺑﺎر‬ ‫و‬ ‫اﺗﺻﺎل‬ ‫ﻧﺣوه‬ ‫و‬ ‫ﻧوع‬ ‫ﮐوﻣﺑوﺑﺎﮐس‬ ‫ﺑﮫ‬ ‫ﻓرض‬ ‫ﭘﯾش‬ ‫دھﯽ‬ ‫ﻘدار‬ ‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﮐﺎر‬ ‫اﯾن‬ ‫رای‬: EventArgs e) ‫درﯾﺎﻓﺘﯽ‬ ‫ﺗﻤﺎﺳﮭﺎی‬ ‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫درﯾﺎﻓﺗﯽ‬ ‫ﺗﻣﺎﺳﮭﺎی‬ ‫رد‬ ‫ای‬ object sender, EventArgs e) 7.Checked.CompareTo(false);
  • 26.
    ‫زﯾر‬ ‫ﮐد‬ ‫از‬‫ﮐﻧﯾم‬ ‫ﻣﺷﺎھده‬ ‫و‬ ‫درﯾﺎﻓت‬ ‫را‬ ‫ان‬ ‫ﺑﺗواﻧﯾم‬ ‫ﺷد‬ ‫ارﺳﺎل‬ ‫ﻣﺎ‬ ‫ﺑرای‬ ‫ﮐﻧﺗرل‬ ‫ﻣرﮐز‬ ‫ﺳوی‬ ‫از‬ ‫ﭘﺎﺳﺧﯽ‬ ‫اﮔر‬ ‫اﯾﻧﮑﮫ‬ ‫ی‬ ‫ﺑﺮای‬ ‫اﯾﻨﮑﮫ‬ ‫اﮔﺮ‬ ‫ﭘﺎﺳﺨﯽ‬ ‫از‬ ‫ﺳﻮی‬ ‫ﻣﺮﮐﺰ‬ ‫ﮐﻨﺘﺮل‬ ‫ﺑﺮای‬ ‫ﻣﺎ‬ ‫ارﺳﺎل‬ ‫ﺷﺪ‬ ‫ﺑﺘﻮاﻧﯿﻢ‬ ‫ان‬ ‫را‬ ‫درﯾﺎﻓﺖ‬ ‫و‬ ‫ﻣﺸﺎھﺪه‬ ‫ﮐﻨﯿﻢ‬ ‫از‬ ‫ﮐﺪ‬ ‫زﯾﺮ‬// ‫اﺳﺘﻔﺎده‬ ‫ﻣﯽ‬ ‫ﮐﻨﯿﻢ‬ private void axKylixSMS_NewUSSD(object sender, AxKYLIXSMSLib._DKylixSMSEvents_NewUSSDEvent { FormUSSD fUSSD = new FormUSSD(); fUSSD.strUSSD = e.text; fUSSD.ShowDialog(); if ("" == fUSSD.strUSSD) axKylixSMS.EndUSSD(); else axKylixSMS.ReplyUSSD(fUSSD.strUSSD); } ‫روﯾﺪاد‬ ‫ﺑﺮای‬ ‫ﻮﯾﺴﯽ‬axKylixSMS_NewUSSD ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﮐﻧﯾم‬ ‫ﻣﺷﺎھده‬ ‫و‬ ‫درﯾﺎﻓت‬ ‫را‬ ‫ان‬ ‫ﺑﺗواﻧﯾم‬ ‫ﺷد‬ ‫ارﺳﺎل‬ ‫ﻣﺎ‬ ‫ﺑرای‬ ‫ﮐﻧﺗرل‬ ‫ﻣرﮐز‬ ‫ﺳوی‬ ‫از‬ ‫ﭘﺎﺳﺧﯽ‬ ‫اﮔر‬ ‫اﯾﻧﮑﮫ‬ ‫ی‬ ‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫ﻔﺎده‬: ‫ﺑﺮای‬ ‫اﯾﻨﮑﮫ‬ ‫اﮔﺮ‬ ‫ﭘﺎﺳﺨﯽ‬ ‫از‬ ‫ﺳﻮی‬ ‫ﻣﺮﮐﺰ‬ ‫ﮐﻨﺘﺮل‬ ‫ﺑﺮای‬ ‫ﻣﺎ‬ ‫ارﺳﺎل‬ ‫ﺷﺪ‬ ‫ﺑﺘﻮاﻧﯿﻢ‬ ‫ان‬ ‫را‬ ‫درﯾﺎﻓﺖ‬ ‫و‬ ‫ﻣﺸﺎھﺪه‬ ‫ﮐﻨﯿﻢ‬ ‫از‬ ‫ﮐﺪ‬ ‫زﯾﺮ‬ sender, DKylixSMSEvents_NewUSSDEvent e)
  • 27.
    ‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫دھﯾم‬ ‫ﭘﺎﺳﺦ‬ ‫ﺑﺗواﻧﯾم‬ ‫و‬ ‫ﺷوﯾم‬ ‫ﻣﺗوﺟﮫ‬ ‫ﮔرﻓت‬ ‫ﺗﻣﺎس‬ ‫ﻣﺎ‬ ‫ﺑﺎ‬ ‫ﮐﺳﯽ‬ ‫اﮔر‬ ‫اﯾﻧﮑﮫ‬ ‫ی‬: ‫ﺑﺮای‬ ‫اﯾﻨﮑﮫ‬ ‫اﮔﺮ‬ ‫ﮐﺴﯽ‬ ‫ﺑﺎ‬ ‫ﻣﺎ‬ ‫ﺗﻤﺎس‬ ‫ﮔﺮﻓﺖ‬ ‫ﻣﺘﻮﺟﮫ‬ ‫ﺷﻮﯾﻢ‬ ‫و‬ ‫ﺑﺘﻮاﻧﯿﻢ‬ ‫ﭘﺎﺳﺦ‬ ‫دھﯿﻢ‬ ‫از‬ ‫ﮐﺪ‬ ‫زﯾﺮ‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﯽ‬ ‫ﮐﻨﯿﻢ‬ rivate void axKylixSMS_NewCall(object sender, xKYLIXSMSLib._DKylixSMSEvents_NewCallEvent tring strTemp, strStatus = ""; witch (e.status) ase 1: f (0 == axKylixSMS.RejectIncomingCall) trTemp = String.Format("nAccept incoming call from { .number); f (DialogResult.Yes == MessageBox.Show(strTemp all", MessageBoxButtons.YesNo)) xKylixSMS.AnswerCall(); lse xKylixSMS.EndCall(); lse trStatus = "Incoming Call"; ‫روﯾﺪاد‬ ‫ﺑﺮای‬ ‫ﻮﯾﺴﯽ‬axKylixSMS_NewCall ‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫دھﯾم‬ ‫ﭘﺎﺳﺦ‬ ‫ﺑﺗواﻧﯾم‬ ‫و‬ ‫ﺷوﯾم‬ ‫ﻣﺗوﺟﮫ‬ ‫ﮔرﻓت‬ ‫ﺗﻣﺎس‬ ‫ﻣﺎ‬ ‫ﺑﺎ‬ ‫ﮐﺳﯽ‬ ‫اﮔر‬ ‫اﯾﻧﮑﮫ‬ ‫ی‬ :‫ﺑﺮای‬ ‫اﯾﻨﮑﮫ‬ ‫اﮔﺮ‬ ‫ﮐﺴﯽ‬ ‫ﺑﺎ‬ ‫ﻣﺎ‬ ‫ﺗﻤﺎس‬ ‫ﮔﺮﻓﺖ‬ ‫ﻣﺘﻮﺟﮫ‬ ‫ﺷﻮﯾﻢ‬ ‫و‬ ‫ﺑﺘﻮاﻧﯿﻢ‬ ‫ﭘﺎﺳﺦ‬ ‫دھﯿﻢ‬ ‫از‬ ‫ﮐﺪ‬ ‫زﯾﺮ‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﯽ‬ ‫ﮐﻨﯿﻢ‬ sender, DKylixSMSEvents_NewCallEvent e) incoming call from {0} ?n", strTemp, "Incoming
  • 28.
    break; case 2: strStatus= "Outgoing Call"; break case 3: strStatus = "Call Start"; break; case 4: strStatus = "Call End"; break; case 5: strStatus = "Remote End"; break; case 6: strStatus = "Local End"; break; case 7: strStatus = "Established"; break; default: strStatus = "Unknown"; break; } if (0 != strStatus.Length) { strTemp = String.Format("{0} {1}", e.number MessageBox.Show(strTemp, strStatus); } } break; ; e.number, strStatus);
  • 29.
    ‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺗﺣوﯾل‬ ‫ﮔزارش‬ ‫ﻣﺗوﺟﮫ‬ ‫ی‬: ‫ﺑﺮای‬ ‫ﻣﺘﻮﺟﮫ‬ ‫ﮔﺰارش‬ ‫ﺗﺤﻮﯾﻞ‬ rivate void axKylixSMS_NewDeliveryReport( xKYLIXSMSLib._DKylixSMSEvents_NewDeliveryReportEvent tring strResult; f (e.status == 1) trResult = String.Format("The message you sent to { elivered at {1}.nnReference:{2} Folder:{ .reference, e.folder, e.location); lse if (e.status == 2) trResult = String.Format("The message you sent to { 1}.nnReference:{2} Folder:{3} Location:{ .folder, e.location); lse trResult = String.Format("The message you sent to { 1}.nnReference:{2} Folder:{3} Location:{ .folder, e.location); essageBox.Show(strResult, "New Send Report Received" ‫ﮐﻧﯾم‬ ‫ﻣﯽ‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺗﺣوﯾل‬ ‫ﮔزارش‬ ‫ﻣﺗوﺟﮫ‬ ‫ی‬ (object sender, DKylixSMSEvents_NewDeliveryReportEvent e) "The message you sent to {0} has been } Folder:{3} Location:{4}n", e.number, e.time, "The message you sent to {0} was failed at } Location:{4}n", e.number, e.time, e.reference, "The message you sent to {0} is unknown at } Location:{4}n", e.number, e.time, e.reference, "New Send Report Received");
  • 30.
    axKylixSMS_NewSMSReceived ‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬‫ﮐد‬ ‫از‬ ‫ﺟدﯾد‬ ‫ﭘﯾﺎﻣﮏ‬ ‫ﺷدن‬ ‫درﯾﺎﻓت‬ ‫ﻣﺗوﺟﮫ‬ ‫ی‬: ‫ﺑﺮای‬ ‫ﻣﺘﻮﺟﮫ‬ ‫درﯾﺎﻓﺖ‬ ‫ﺷﺪن‬ ‫ﭘﯿﺎﻣﮏ‬ ‫ﺟﺪﯾﺪ‬// private void axKylixSMS_NewSMSReceived(object AxKYLIXSMSLib._DKylixSMSEvents_NewSMSReceivedEvent { string strResult; strResult = String.Format("nNew SMS from { {1}nn{2}nnFolder:{3} Location:{4} Coding:{ ConcatenatedInfo:{7}n", e.number, e.time axKylixSMS.GetSMSFolderInfo(e.folder), e.location e.concatenatedInfo); MessageBox.Show(strResult, "New SMS Received" } ‫روﯾﺪاد‬ ‫ﺑﺮای‬ ‫ﻧﻮﯾﺴﯽ‬axKylixSMS_NewSMSReceived ‫ﻣﯾﮑﻧﯾم‬ ‫اﺳﺗﻔﺎده‬ ‫زﯾر‬ ‫ﮐد‬ ‫از‬ ‫ﺟدﯾد‬ ‫ﭘﯾﺎﻣﮏ‬ ‫ﺷدن‬ ‫درﯾﺎﻓت‬ ‫ﻣﺗوﺟﮫ‬ ‫ی‬ object sender, DKylixSMSEvents_NewSMSReceivedEvent e) SMS from {0} received at Coding:{5} Status:{6} e.time, e.text, e.location, e.coding, e.status, New SMS Received");