تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] كيف يتم الـ Automatically Update للتطبيق بشكل احترافي ؟
#1
Question 
السلام عليكم ورحمة الله وبركاته ..
اسعد الله اوقاتكم وملأها بالطاعات ..

أحبتي لقد شاغلتني طريقة التحديث التلقائي لأي تطبيق يتم برمجته ! .. ولكن عملت بعض الخطوات التي سأسردها عليكم ولي بعض التعليقات وهي كالتالي :
قمت بعمل فورم 1 ( main ) ويوجد به Button1 فقط ، وفورم 2 ( Search ) ويوجد به فقط TonguerogressBar1 + Timer1، وفورم 3 ( Download ) يحتوي على :
RichTextBox1 + 2 Button .
العملية كالتالي :
الفورم الأول يتم الضغط على الـButton1 ليظهر فورم الفحص (Search) والذي من خلاله يتم البحث عن التحديثات فإن لم تتوفر تحديثات ظهرت رسالة مفادها : لا تتوفر تحديثات جديدة ، وإن كان هنالك تحديثات جديدة يتم عرض الفورم 3 ( Download ) وفي هذا الفورم يتم ظهور تفاصيل النسخة الجديدة في الـ RichTextBox1 بمعنى سيكون متصل بمستند نص عبر الاترنت ، والـ Button 1 عبارة عن زر تحميل النسخة برابط مباشر .. والـ Button 2 عبارة عن زر اغلاق الفورم .

تقريباً العملية ناجحة معي ولا توجد بها إشكالية ولكن لدي سؤال هام :
كيف أجعل التطبيق دوماً يقوم بالفحص عند تشغيل الفورم ( main ) دون ظهور أية اشكالات فإن توفرت نسخة جديدة مباشرة يتم عرض الفورم ( Download ) الذي به الخصائص والمميزات للنسخة ، وإن لم تتوفر نسخة جديدة لا تظهر رسالة "بأنه لا تتوفر نسخة جديدة " نهائياً .

من لديه خلفية فليفيدني في هذا الجانب .

وهذه الأكواد الخاصة بالـ Forms :
Form1 (main) Button1
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Search.Show()
    End Sub
Form2 (Search ) Timer1
كود :
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        ProgressBar1.Increment(2)
        If ProgressBar1.Value = 100 Then
            Timer1.Stop()

            If ProgressBar1.Value = 100 Then
                Dim request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("رابط المستند النصي")
                Dim response As System.Net.HttpWebResponse = request.GetResponse()

                Dim sr As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())

                Dim newestversion As String = sr.ReadToEnd()
                Dim currentversion As String = Application.ProductVersion
                If newestversion.Contains(currentversion) Then
                    MsgBox("لا توجد تحديثات جديدة ", MsgBoxStyle.Information, "لا توجد تحديثات")
                    Me.Close()
                    Exit Sub
                Else
                    Download.Show()
                    Me.Hide()
                End If
            End If
        End If
    End Sub
كود :
Public Sub CheckForUpdates()
        If ProgressBar1.Value = 100 Then
            Dim request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("رابط المستند النصي")
            Dim response As System.Net.HttpWebResponse = request.GetResponse()

            Dim sr As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())

            Dim newestversion As String = sr.ReadToEnd()
            Dim currentversion As String = Application.ProductVersion
            If newestversion.Contains(currentversion) Then
                MsgBox("لا توجد تحديثات جديدة", MsgBoxStyle.Information, "لا توجد تحديثات")
                Me.Close()
                Exit Sub

            Else
                Download.Show()
                Me.Hide()
            End If
        End If
    End Sub
Form3 (Download ) Button1
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Process.Start("رابط التحميل المباشر للتطبيق")
    End Sub
Form3 (Download ) Button2
كود :
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.Close()
    End Sub
Form3 (Download ) RichTextBox1
كود :
Private Sub Download_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        On Error Resume Next
        Dim address As String = "رابط مستند التفاصيل الجديدة"
        Dim client As WebClient = New WebClient()
        Dim reader As StreamReader = (New StreamReader(client.OpenRead(address)))
        RichTextBox1.Text = reader.ReadToEnd
    End Sub


اعتذر عن الإطالة ولكم خالص تحياتي .
قــراءة حــجــازية
سبحان الله وبحمده ، سبحان الله العظيم
فيس بوك
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] Bulk Insert records and Update existing rows if record exists using from datagridview failasouf 0 196 16-04-22, 05:04 PM
آخر رد: failasouf
Rainbow [VB.NET] عرض حقل يحتوي على قيم مختلفة بشكل أفقي في تقرير الكرستال ريبورت معتز حسن 0 399 09-02-22, 12:32 AM
آخر رد: معتز حسن
Bug [سؤال] حل خطأ Update requires a valid UpdateCommand when passed DataRow collection with modi Necro PC 12 755 25-12-21, 11:09 AM
آخر رد: Necro PC
  ادخال ارقام بشكل منتظم في الدليل المحاسبي بسام محمدغانم 3 746 29-10-21, 03:16 PM
آخر رد: بسام محمدغانم
Exclamation [VB.NET] سؤال حول مشكلة كتابة التاريخ في جملة update ali bajmmal 4 1,123 01-09-21, 06:35 PM
آخر رد: Anas Mahmoud
Exclamation [VB.NET] فكرة برمجية لنقل أسطر قاعدة البيانات بشكل مستمر sniperjawadino 2 955 13-05-21, 08:32 PM
آخر رد: sniperjawadino
  [VB.NET] كيف أستخدم TRansaction حتى أضمن تطبيق الكود بشكل جيد sniperjawadino 6 1,084 09-05-21, 05:29 PM
آخر رد: sniperjawadino
  [vb6.0] كود اذا لم يقم بتسجيل الدخول خلال 3 دقائق فانه سيتم الخروج من البرنامج بشكل تلقائي Rasha Hasanain 1 908 18-04-21, 04:31 PM
آخر رد: messry
  [VB.NET] كيف تقوم بقص الصورة بشكل دائري و تحريكها في الفورم قبل طباعتها Ali Naser 2 1,119 06-03-21, 11:15 PM
آخر رد: asmarsou
  [VB.NET] [مساعدة] ... كيفية تنفيذ هذا الكود بشكل صحيح ...؟ Mahmoud41 1 706 01-01-21, 02:14 AM
آخر رد: اليوم السابع

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


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