تقييم الموضوع :
  • 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


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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  سلام عليكم احتاج كود يقوم بطباعة Report Viewer 1 بشكل اتوماتيكي مجرد فتح الفورم mohamedgadain61 0 0 16-02-18, 04:30 PM
آخر رد: mohamedgadain61
  فتح الفورم بشكل تاني محمود صالح 9 167 18-01-18, 03:49 PM
آخر رد: silverlight
  اختيار بيانات من حقل بشكل عشوائي zaid1 0 39 14-01-18, 02:38 AM
آخر رد: zaid1
  أريد ارسل ايميلات مع المرفقات بشكل تلقائى VB.net 2012 HERO92 5 784 01-01-18, 03:02 PM
آخر رد: solbi
Information update لعدة قيم الو0 3 86 17-11-17, 05:30 AM
آخر رد: الو0
  [VB.NET] السلام عليكم ارجو المساعدة يااعضاء ومشرفي المنتدي الكرام بشكل عاجل MOHAMED.2030 0 112 27-09-17, 05:46 PM
آخر رد: MOHAMED.2030
Big Grin [كود] شباب طريقة لإظهار الادوات بشكل شبه مخفى وليس الفورم badr.kamel 3 222 14-09-17, 05:07 AM
آخر رد: Mohamad Anan
  مشكله فى UPDATE نبيل كونكت 1 114 15-08-17, 11:53 PM
آخر رد: ابو ليلى
  [VB.NET] مطلوب مساعدة بشكل عاجل في حل مشكلة في الإتصال بالقاعدة "بمقابل مادي" asadtaif 4 299 22-06-17, 11:04 PM
آخر رد: moh_g
  مشكله في Update الداتا في DataGridview أحمد العرب 5 423 04-06-17, 04:24 PM
آخر رد: khodor1985

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


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