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


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


الردود في هذا الموضوع
كيف يتم الـ Automatically Update للتطبيق بشكل احترافي ؟ - بواسطة البروف سيمونس - 27-12-13, 06:02 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Question [VB.NET] هناك سؤال يهم كل مبرمج الماذا برنامجك يظهر على بعض الشاشات اكثر دقه بشكل مصغر ومشوه Microformt 0 448 01-02-25, 03:48 PM
آخر رد: Microformt
  هذا الكود لا يعمل بشكل صحيح لماذا ؟ PeterGhattas082460 3 446 21-12-24, 02:55 PM
آخر رد: aljzazy
  ممكن طريقة عمل الصورة بشكل دائري بوحمد 3 485 14-10-24, 04:01 PM
آخر رد: بوحمد
  هل يمكن جعل عناوين الهيدر بشكل عمودي مصمم هاوي 2 561 16-04-24, 03:59 AM
آخر رد: مصمم هاوي
Heart اقدم لكم هدية تصفح منتدى vb4arb.com بشكل أفضل من قبل مع ( vb4arb Code Highlighter ) عبدالله الدوسري 5 4,561 24-01-24, 10:31 PM
آخر رد: annagui
  كيف يتم تعبئة قريد فيو بدون قاعدة بيانات بشكل مباشر؟ nowiglah 1 705 01-12-23, 10:57 PM
آخر رد: Taha Okla
  خطا لغوى فى جملة update نبيل فتحى 2 635 10-10-23, 09:51 PM
آخر رد: Ahmed5
Rainbow [كود] معرفه حجم كل المجلدات في القرص C بشكل واضح محمد مسافر 7 962 10-09-23, 01:56 AM
آخر رد: أبو خالد الشكري
  [C#.NET] update delete gridview devexpress c# ahmed_king2023 1 563 17-07-23, 06:22 PM
آخر رد: أبووسم
  هل ممكن اجعل عناصر ال LISTBOX بشكل افقي ismaeel 0 620 01-05-23, 11:26 PM
آخر رد: ismaeel

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


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