تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيف أعمل برنامج لإرسال رسائل sms بالvb.net ؟
#1


السلام عليكم ،

لدي مشروع تخرج ، ويحتوي على شاشة لإرسال رسائل sms لمجموعات معينة أو إلى أرقام معينة ..

كيف يمكن عمل مثل هذا الفورم ؟؟

وشكرا ..
الرد }}}
تم الشكر بواسطة:
#2
شاهد الموضوع ادناه
http://vb4arb.com/vb/showthread.php?3112...Irsskin%29
Everyone is a genius. It's just that some people are too stupidto realize it
الرد }}}
تم الشكر بواسطة:
#3
الله يجزاك خير

حملت ملفات api التي يوفرها موقع موبايلي وموقع جوالي sms

ولكن عند عمل debug يظهر لي رسالة خطأ ..

فما السبب ؟

مع العلم أني لم أقم بتغيير شيء في ملفاتهم، نزلتها من النت وفتحتها بالفيجوال ستوديو فقط
الرد }}}
تم الشكر بواسطة:
#4
أم عبد العزيز كتب :الله يجزاك خير

حملت ملفات api التي يوفرها موقع موبايلي وموقع جوالي sms

ولكن عند عمل debug يظهر لي رسالة خطأ ..

فما السبب ؟

مع العلم أني لم أقم بتغيير شيء في ملفاتهم، نزلتها من النت وفتحتها بالفيجوال ستوديو فقط
كم إصدار الفيجوال ستوديو عندك
الرد }}}
تم الشكر بواسطة:
#5
السلام عليكم ورحمة الله وبركاته

اختصرت لكم البرنامج بأهم جزء منه وهو 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

جربوا الاشتراك وسيعطونكم رسائل مجانية محدودة للتجربة

السلام عليكم ورحمة الله وبركاته
الرد }}}
تم الشكر بواسطة:
#6
مشكور ابو رائد
جازاك الله خيراّ
الرد }}}
تم الشكر بواسطة:
#7
السلام عليكم ورحمة الله وبركاته

جمعت لكم كلا الإجرائين للشركتين 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
السلام عليكم ورحمة الله وبركاته
الرد }}}
تم الشكر بواسطة:
#8
جزاك الله كل خير على المعلومات القيمة ..

ولكن كيف أضيف ملفات aip (التي أنشأتها شركة موبايلي) إلى ملفات مشروعي ؟ هل أعمل باك أب أو ماذا ؟

2/ لكل عميل رقم جوال يخزن في جدول قاعدة البيانات ، وأريد أن أسهل العمل على المستخدم ، بحيث لا يضطر في كل مرة إلى إدخال الأرقام المراد الإرسال إليها ، فقط يحدد اسم مجموعة معينة من الموظفين (من compobox) ويرسل إليهم رسالة جماعية ..
كيف أعطي أمر في الفيجوال بأن يجعل الأرقام الموجودة في جدول معينة ، والمدخلة على شكل 05511111111 بأن تكون في خانة الإرسال على شكل :
9665511111111 ، 966552222222
(بحيث يكون بينهم فاصلة ) ؟؟


وجزاكم الله كل خير
الرد }}}
تم الشكر بواسطة:
#9
السلام عليكم ورحمة الله وبركاته

الإجرائين السابقين هي الـ api .

السلام عليكم ورحمة الله وبركاته
الرد }}}
تم الشكر بواسطة:
#10
أقصد أن البرنامج اشتغل معي ، واستطعت الإرسال من خلاله ،

ولكن أريد أن أجعل هذه الواجهات في مشروعي أنا ، وليست في مشروع لوحدها ؟؟ فكيف ذلك ؟

وشكرا
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] أتمنى اجابة وافية:عمل برنامج بقاعدة بيانات SQL دون حاجة تثبيت SQLSERVER dr.programming 6 601 19-03-24, 08:56 AM
آخر رد: سلامه محمد11
  معرفة رصيدي للهاتف النقال المتصل بالكمبيوتر وارسال رسائل نصية منه AHMED213 0 98 22-02-24, 11:47 AM
آخر رد: AHMED213
  [VB.NET] كيف يمكنني استظافة سوفت وير برنامج ادارة جهاز السي بي سي في المختبر الى برنامجي الحزين اليماني 2 282 15-01-24, 10:39 PM
آخر رد: الحزين اليماني
  برنامج لحفظ اكوادي samsunggears 2 386 05-01-24, 12:57 AM
آخر رد: HALIM ELEULMA
  انشاء واجهات برنامج شؤون الموظفين والرواتب شمسـ لا تغيب 5 12,850 27-09-23, 10:05 PM
آخر رد: melad2002
  مطلوب برنامج لحوافظ المالية الاسطورة1 2 433 27-09-23, 09:12 PM
آخر رد: melad2002
  تشغيل برنامج خارجي ضمن شاشة برنامجي strongriseman 1 341 13-09-23, 10:14 PM
آخر رد: anes
  طلب برنامج Active report v1.1 ali_dark 2 436 19-07-23, 01:33 AM
آخر رد: مصمم هاوي
  طلب تصحيح كود ارسال رسائل SMS assuhimi 3 747 09-07-23, 01:41 PM
آخر رد: Shade0001
  [نقاش] مساعدة برنامج جمعية خيرية mgsmm 0 458 30-06-23, 01:03 AM
آخر رد: mgsmm

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم