المشاركات : 39
المواضيع 9
الإنتساب : Dec 2012
السمعة :
0
الشكر: 0
تم شكره 0 مرات في 0 مشاركات
السلام عليكم ،
لدي مشروع تخرج ، ويحتوي على شاشة لإرسال رسائل sms لمجموعات معينة أو إلى أرقام معينة ..
كيف يمكن عمل مثل هذا الفورم ؟؟
وشكرا ..
المشاركات : 102
المواضيع 3
الإنتساب : Sep 2012
السمعة :
1
الشكر: 0
تم شكره 331 مرات في 7 مشاركات
Everyone is a genius. It's just that some people are too stupidto realize it
المشاركات : 39
المواضيع 9
الإنتساب : Dec 2012
السمعة :
0
الشكر: 0
تم شكره 0 مرات في 0 مشاركات
الله يجزاك خير
حملت ملفات api التي يوفرها موقع موبايلي وموقع جوالي sms
ولكن عند عمل debug يظهر لي رسالة خطأ ..
فما السبب ؟
مع العلم أني لم أقم بتغيير شيء في ملفاتهم، نزلتها من النت وفتحتها بالفيجوال ستوديو فقط
المشاركات : 749
المواضيع 17
الإنتساب : Sep 2013
السمعة :
54
الشكر: 521
تم شكره 619 مرات في 232 مشاركات
أم عبد العزيز كتب :الله يجزاك خير
حملت ملفات api التي يوفرها موقع موبايلي وموقع جوالي sms
ولكن عند عمل debug يظهر لي رسالة خطأ ..
فما السبب ؟
مع العلم أني لم أقم بتغيير شيء في ملفاتهم، نزلتها من النت وفتحتها بالفيجوال ستوديو فقط
كم إصدار الفيجوال ستوديو عندك
المشاركات : 901
المواضيع 34
الإنتساب : Nov 2012
السمعة :
65
الشكر: 517
تم شكره 1181 مرات في 245 مشاركات
16-12-12, 12:24 AM
(آخر تعديل لهذه المشاركة : 16-12-12, 12:54 AM {2} بواسطة Moo00ooN.)
السلام عليكم ورحمة الله وبركاته
اختصرت لكم البرنامج بأهم جزء منه وهو SendMessage
عند الاشتراك لدى شركة موبايلي وأي شركة سيعطونكم username و password
عند استخدام هذا الإجراء وهو جاهز، فقط ارسل له البارامترات التالية
username اسم المستخدم
password كلمة المرور
msg نص الرسالة
sender المرسل الذي تريدونه يظهر عنوان للرسالة مثل اسم الشركات
numbers ارقام الجوالات المراد ارسال الرسالة لهم يفصل بين الاقام بفاصلة
سيعود الإجراء بالنتيجة بنص يذكر فيها مثلا نجاح الإرسال من عدمه
كود :
Public Function [color=#FF0000]SendMessage[/color](ByVal [color=#FF0000]username [/color]As String, ByVal [color=#FF0000]password [/color]As String, ByVal [color=#FF0000]msg [/color]As String, ByVal [color=#FF0000]sender [/color]As String, ByVal [color=#FF0000]numbers [/color]As String) As String
Dim temp As Integer = 0
Dim req As HttpWebRequest = WebRequest.Create("http://www.mobily.ws/api/msgSend.php")
req.Method = "POST"
req.ContentType = "application/x-www-form-urlencoded"
Dim postData As String = "mobile=" & username & "&password=" & password & "&numbers=" & numbers & "&sender=" & sender & "&msg=" & msg & "&applicationType=24"
req.ContentLength = postData.Length
Dim stOut As StreamWriter = New StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII)
stOut.Write(postData)
stOut.Close()
Dim strResponse As String
Dim stIn As StreamReader = New StreamReader(req.GetResponse().GetResponseStream())
strResponse = stIn.ReadToEnd()
stIn.Close()
Select Case strResponse
Case "1" : MessageBox.Show("لقد تمت العملية بنجاح")
Case "2" : MessageBox.Show("إن رصيدك لدى موبايلي قد إنتهى ولم يعد به أي رسائل. (لحل المشكلة قم بشحن رصيدك من الرسائل لدى موبايلي. لشحن رصيدك إتبع تعليمات شحن الرصيد)")
Case "3" : MessageBox.Show("إن رصيدك الحالي لا يكفي لإتمام عملية الإرسال. (لحل المشكلة قم بشحن رصيدك من الرسائل لدى موبايلي. لشحن رصيدك إتبع تعليمات شحن الرصيد")
Case "4" : MessageBox.Show("إن إسم المستخدم الذي إستخدمته للدخول إلى حساب الرسائل غير صحيح (تأكد من أن إسم المستخدم الذي إستخدمته هو نفسه الذي تستخدمه عند دخولك إلى موقع موبايلي).")
Case "5" : MessageBox.Show("هناك خطأ في كلمة المرور (تأكد من أن كلمة المرور التي تم إستخدامها هي نفسها التي تستخدمها عند دخولك موقع موبايلي,إذا نسيت كلمة المرور إضغط على رابط نسيت كلمة المرور لتصلك رسالة على جوالك برقم المرور الخاص بك)")
Case "6" : MessageBox.Show("إن صفحة الإرسال لاتجيب في الوقت الحالي (قد يكون هناك طلب كبير على الصفحة أو توقف مؤقت للصفحة فقط حاول مرة أخرى أو تواصل مع الدعم الفني إذا إستمر الخطأ)")
Case "12" : MessageBox.Show("إن حسابك بحاجة إلى تحديث يرجى مراجعة الدعم الفني")
Case "13" : MessageBox.Show("إن إسم المرسل الذي إستخدمته في هذه الرسالة لم يتم قبوله. (يرجى إرسال الرسالة بإسم مرسل آخر أو تعريف إسم المرسل لدى موبايلي)")
Case "14" : MessageBox.Show("إن إسم المرسل الذي إستخدمته غير معرف لدى موبايلي. (يمكنك تعريف إسم المرسل من خلال صفحة إضافة إسم مرسل)")
Case "15" : MessageBox.Show("يوجد رقم جوال خاطئ في الأرقام التي قمت بالإرسال لها. (تأكد من صحة الأرقام التي تريد الإرسال لها وأنها بالصيغة الدولية)")
Case "16" : MessageBox.Show("الرسالة التي قمت بإرسالها لا تحتوي على إسم مرسل. (أدخل إسم مرسل عند إرسالك الرسالة)")
Case "17" : MessageBox.Show("لم يتم ارسال نص الرسالة. الرجاء التأكد من ارسال نص الرسالة والتأكد من تحويل الرسالة الى يوني كود (الرجاء التأكد من استخدام الدالة()")
Case "-1" : MessageBox.Show("لم يتم التواصل مع خادم (Server) الإرسال موبايلي بنجاح. (قد يكون هناك محاولات إرسال كثيرة تمت معا , أو قد يكون هناك عطل مؤقت طرأ على الخادم إذا إستمرت المشكلة يرجى التواصل مع الدعم الفني)")
Case "-2" : MessageBox.Show("لم يتم الربط مع قاعدة البيانات (Database) التي تحتوي على حسابك وبياناتك لدى موبايلي. (قد يكون هناك محاولات إرسال كثيرة تمت معا , أو قد يكون هناك عطل مؤقت طرأ على الخادم إذا إستمرت المشكلة يرجى التواصل مع الدعم الفني)")
Case Else : Return strResponse.ToString()
End Function
طريقة استخدام الإجراء كالتالي
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
SendMessage(Me.txtUsername.Text, Me.txtPassword.Text, Me.txtMSG.Text, Me.txtSender.Text, Me.txtNumbers.Text)
End Sub
جربوا الاشتراك وسيعطونكم رسائل مجانية محدودة للتجربة
السلام عليكم ورحمة الله وبركاته
المشاركات : 190
المواضيع 5
الإنتساب : Sep 2013
السمعة :
3
الشكر: 27
تم شكره 103 مرات في 33 مشاركات
مشكور ابو رائد
جازاك الله خيراّ
المشاركات : 901
المواضيع 34
الإنتساب : Nov 2012
السمعة :
65
الشكر: 517
تم شكره 1181 مرات في 245 مشاركات
16-12-12, 01:41 AM
(آخر تعديل لهذه المشاركة : 16-12-12, 02:01 AM {2} بواسطة Moo00ooN.)
السلام عليكم ورحمة الله وبركاته
جمعت لكم كلا الإجرائين للشركتين Mobily و Jawal
[COLOR="#FF0000"]ملاحظة: عدلت اسم الإجراء ليدل على اسم الشركة وقمت بإعادة ترتيب البارامترات لكلا الإجرائين للتتوافق مع بعض في الترتيب
[/COLOR]
عند الاشتراك لدى أي شركة سيعطونكم username و password مع عدد رسائل مجانية للتجربة
بعدها استخدموا الإجراء الذي يخصهم بارسال البارامترات التالية
username اسم المستخدم
password كلمة المرور
msg نص الرسالة
sender المرسل الذي تريدونه يظهر عنوان للرسالة مثل اسم الشركات
numbers ارقام الجوالات المراد ارسال الرسالة لهم يفصل بين الاقام بفاصلة
إجراء Mobily
كود :
#Region " Mobily SMS "
Public Sub MobilySendMessage(ByVal username As String, ByVal password As String, ByVal sender As String, ByVal msg As String, ByVal numbers As String)
Dim temp As Integer = 0
Dim req As Net.HttpWebRequest = Net.WebRequest.Create("http://www.mobily.ws/api/msgSend.php")
req.Method = "POST"
req.ContentType = "application/x-www-form-urlencoded"
Dim postData As String = "mobile=" & username & "&password=" & password & "&numbers=" & numbers & "&sender=" & sender & "&msg=" & msg & "&applicationType=24"
req.ContentLength = postData.Length
Dim stOut As IO.StreamWriter = New IO.StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII)
stOut.Write(postData)
stOut.Close()
Dim strResponse As String
Dim stIn As IO.StreamReader = New IO.StreamReader(req.GetResponse().GetResponseStream())
strResponse = stIn.ReadToEnd()
stIn.Close()
Select Case strResponse
Case "1" : MessageBox.Show("لقد تمت العملية بنجاح")
Case "2" : MessageBox.Show("إن رصيدك لدى موبايلي قد إنتهى ولم يعد به أي رسائل. (لحل المشكلة قم بشحن رصيدك من الرسائل لدى موبايلي. لشحن رصيدك إتبع تعليمات شحن الرصيد)")
Case "3" : MessageBox.Show("إن رصيدك الحالي لا يكفي لإتمام عملية الإرسال. (لحل المشكلة قم بشحن رصيدك من الرسائل لدى موبايلي. لشحن رصيدك إتبع تعليمات شحن الرصيد")
Case "4" : MessageBox.Show("إن إسم المستخدم الذي إستخدمته للدخول إلى حساب الرسائل غير صحيح (تأكد من أن إسم المستخدم الذي إستخدمته هو نفسه الذي تستخدمه عند دخولك إلى موقع موبايلي).")
Case "5" : MessageBox.Show("هناك خطأ في كلمة المرور (تأكد من أن كلمة المرور التي تم إستخدامها هي نفسها التي تستخدمها عند دخولك موقع موبايلي,إذا نسيت كلمة المرور إضغط على رابط نسيت كلمة المرور لتصلك رسالة على جوالك برقم المرور الخاص بك)")
Case "6" : MessageBox.Show("إن صفحة الإرسال لاتجيب في الوقت الحالي (قد يكون هناك طلب كبير على الصفحة أو توقف مؤقت للصفحة فقط حاول مرة أخرى أو تواصل مع الدعم الفني إذا إستمر الخطأ)")
Case "12" : MessageBox.Show("إن حسابك بحاجة إلى تحديث يرجى مراجعة الدعم الفني")
Case "13" : MessageBox.Show("إن إسم المرسل الذي إستخدمته في هذه الرسالة لم يتم قبوله. (يرجى إرسال الرسالة بإسم مرسل آخر أو تعريف إسم المرسل لدى موبايلي)")
Case "14" : MessageBox.Show("إن إسم المرسل الذي إستخدمته غير معرف لدى موبايلي. (يمكنك تعريف إسم المرسل من خلال صفحة إضافة إسم مرسل)")
Case "15" : MessageBox.Show("يوجد رقم جوال خاطئ في الأرقام التي قمت بالإرسال لها. (تأكد من صحة الأرقام التي تريد الإرسال لها وأنها بالصيغة الدولية)")
Case "16" : MessageBox.Show("الرسالة التي قمت بإرسالها لا تحتوي على إسم مرسل. (أدخل إسم مرسل عند إرسالك الرسالة)")
Case "17" : MessageBox.Show("لم يتم ارسال نص الرسالة. الرجاء التأكد من ارسال نص الرسالة والتأكد من تحويل الرسالة الى يوني كود (الرجاء التأكد من استخدام الدالة()")
Case "-1" : MessageBox.Show("لم يتم التواصل مع خادم (Server) الإرسال موبايلي بنجاح. (قد يكون هناك محاولات إرسال كثيرة تمت معا , أو قد يكون هناك عطل مؤقت طرأ على الخادم إذا إستمرت المشكلة يرجى التواصل مع الدعم الفني)")
Case "-2" : MessageBox.Show("لم يتم الربط مع قاعدة البيانات (Database) التي تحتوي على حسابك وبياناتك لدى موبايلي. (قد يكون هناك محاولات إرسال كثيرة تمت معا , أو قد يكون هناك عطل مؤقت طرأ على الخادم إذا إستمرت المشكلة يرجى التواصل مع الدعم الفني)")
Case Else : MessageBox.Show(strResponse.ToString())
End Select
End Sub
#End Region
إجراء Jawal
كود :
#Region " Jawal SMS"
Private ArabicMessage As Boolean = True
Private EnglishMessage As Boolean = False
Private Sub JawalSendmessage(ByVal USER_NAM As String, ByVal PASSWRD As String, ByVal SENDER As String, ByVal MESSAGE As String, ByVal RECIEVER As String, Optional ByVal UNICOD As String = "A")
Dim response As String = ""
'****************************************************************
'This link is used to send message either in arabic or in English
'****************************************************************
Dim url As String = "http://www.jawalsms.net/httpSmsProvider.aspx"
'****************************************************************
' here are the parameters needed to send sms message
'****************************************************************
'Dim USER_NAM As String = User_Name
'Dim PASSWRD As String = Pass_word
'Dim SENDER As String = ComboBox1.SelectedItem.ToString()
'Dim RECIEVER As String = mobilenumtxt.Text
'Dim MESSAGE As String = messagetxt.Text
'Dim UNICOD As String = "E"
If EnglishMessage Then
UNICOD = "E"
'****************************************************************
'this parameter is for english message
'****************************************************************
ElseIf ArabicMessage Then
UNICOD = "U"
'****************************************************************
'this parameter isfor arabic message
'****************************************************************
MESSAGE = Unicode(MESSAGE)
End If
Dim query As String = "username=" + USER_NAM + "&password=" + PASSWRD + "&mobile=" + RECIEVER + "&unicode=" + UNICOD + "&message=" + MESSAGE + "&sender=" + SENDER
Try
'****************************************************************
'here we can make a request for the the required api website by passing parameters to it.
'****************************************************************
Dim httpwc As Net.HttpWebRequest = DirectCast(Net.WebRequest.Create(url), Net.HttpWebRequest)
httpwc.Method = "POST"
Dim data As Byte() = System.Text.Encoding.UTF8.GetBytes(query)
httpwc.ContentType = "application/x-www-form-urlencoded"
httpwc.ContentLength = data.Length
Dim stwriter As IO.Stream = httpwc.GetRequestStream()
stwriter.Write(data, 0, data.Length)
stwriter.Close()
Dim wr As Net.WebResponse = httpwc.GetResponse()
stwriter = wr.GetResponseStream()
Dim streader As New IO.StreamReader(stwriter)
response = streader.ReadLine()
streader.Close()
stwriter.Close()
MessageBox.Show(response)
'****************************************************************
'This result returned by the response to the request and it takes one of these values
'****************************************************************
Select Case response
Case "0"
MessageBox.Show("تم الارسال بنجاح")
Exit Select
Case "101"
MessageBox.Show("معاملات خاطئة")
Exit Select
Case "104"
MessageBox.Show("قد يكون اسم المستخدم او كلمة المرور غير صحيح ")
Exit Select
Case "105"
MessageBox.Show("بطاقة غير متوفرة")
Exit Select
Case "106"
MessageBox.Show("unicode خاطئ")
Exit Select
Case "107"
MessageBox.Show("اسم المرسل غير مسموح")
Exit Select
Case "108"
MessageBox.Show("اسم المرسل غير موجود")
Exit Select
Case Else
MessageBox.Show("هناك خطاء في الارسال ")
Exit Select
End Select
Catch ex As Exception
End Try
MessageBox.Show("النقاط الحالية= " & getpoints(USER_NAM, PASSWRD))
End Sub
Private Function Unicode(ByVal messg As String) As String
Dim arabicmessage As String = String.Empty
Dim i As Integer = 0
While i < messg.Length
arabicmessage += ToChar(System.Convert.ToChar(messg.Substring(i, 1)))
System.Math.Max(System.Threading.Interlocked.Increment(i), i - 1)
End While
Return arabicmessage
End Function
Private Function ToChar(ByVal ch As Char) As String
Dim class1 As New System.Text.UnicodeEncoding()
Dim msg As Byte() = class1.GetBytes(System.Convert.ToString(ch))
Return ToHeDecimal(msg(1) & msg(0).ToString("X"))
End Function
Private Function ToHeDecimal(ByVal messg As String) As String
Dim temp As String = String.Empty
Select Case messg.Length
Case 1
temp = "000" + messg
Exit Select
Case 2
temp = "00" + messg
Exit Select
Case 3
temp = "0" + messg
Exit Select
Case 4
temp = messg
Exit Select
End Select
Return temp
End Function
Protected Function getpoints(ByVal User_Name As String, ByVal Pass_word As String) As String
Dim url As String = "http://www.jawalsms.net/api/getBalance.aspx"
Dim str As String = url + "?username=" + User_Name + "&password=" + Pass_word
Try
Dim httpwc As Net.HttpWebRequest = DirectCast(Net.WebRequest.Create(str), Net.HttpWebRequest)
Dim httpwr As Net.HttpWebResponse = DirectCast(httpwc.GetResponse(), Net.HttpWebResponse)
Dim streader As New IO.StreamReader(httpwr.GetResponseStream())
Dim balancestr As String = streader.ReadToEnd().ToString()
streader.Close()
httpwr.Close()
Return balancestr
Catch EX As Exception
Return ""
End Try
End Function
#End Region
استخدام الإجرائين
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MobilySendMessage(Me.txtUsername.Text, Me.txtPassword.Text, Me.txtSender.Text, Me.txtMSG.Text, Me.txtNumbers.Text)
JawalSendmessage(Me.txtUsername.Text, Me.txtPassword.Text, Me.txtSender.Text, Me.txtMSG.Text, Me.txtNumbers.Text [color=#FF0000],"A"[/color])
' [color=#FF0000]"A"[/color] تعني الرسالة اللغة العربية
' [color=#FF0000]"E"[/color] تعني الرسالة باللغة الإنجليزية
' هذا البارامتر لجوال اختياري، الإفتراضي اللغة العربية
End Sub
السلام عليكم ورحمة الله وبركاته
المشاركات : 39
المواضيع 9
الإنتساب : Dec 2012
السمعة :
0
الشكر: 0
تم شكره 0 مرات في 0 مشاركات
جزاك الله كل خير على المعلومات القيمة ..
ولكن كيف أضيف ملفات aip (التي أنشأتها شركة موبايلي) إلى ملفات مشروعي ؟ هل أعمل باك أب أو ماذا ؟
2/ لكل عميل رقم جوال يخزن في جدول قاعدة البيانات ، وأريد أن أسهل العمل على المستخدم ، بحيث لا يضطر في كل مرة إلى إدخال الأرقام المراد الإرسال إليها ، فقط يحدد اسم مجموعة معينة من الموظفين (من compobox) ويرسل إليهم رسالة جماعية ..
كيف أعطي أمر في الفيجوال بأن يجعل الأرقام الموجودة في جدول معينة ، والمدخلة على شكل 05511111111 بأن تكون في خانة الإرسال على شكل :
9665511111111 ، 966552222222
(بحيث يكون بينهم فاصلة ) ؟؟
وجزاكم الله كل خير
المشاركات : 901
المواضيع 34
الإنتساب : Nov 2012
السمعة :
65
الشكر: 517
تم شكره 1181 مرات في 245 مشاركات
السلام عليكم ورحمة الله وبركاته
الإجرائين السابقين هي الـ api .
السلام عليكم ورحمة الله وبركاته
المشاركات : 39
المواضيع 9
الإنتساب : Dec 2012
السمعة :
0
الشكر: 0
تم شكره 0 مرات في 0 مشاركات
أقصد أن البرنامج اشتغل معي ، واستطعت الإرسال من خلاله ،
ولكن أريد أن أجعل هذه الواجهات في مشروعي أنا ، وليست في مشروع لوحدها ؟؟ فكيف ذلك ؟
وشكرا
|