تمت الإجابة عندي مشكلة في كود فورم .

تم تحميل الصفحة في 1,1831746 ثانية
عندي مشكلة في كود فورم .
الحالة
مغلق و غير مفتوح للمزيد من الردود.
إنضم
19 مايو 2016
المشاركات
1,342
الإعجابات
1,362
النقاط
243
العمر
38
السلام عليكم أحبتي الكرام
خبرتي سيئه في البرمجة
لكن تابعت اليوتيوب و
برمجت برنامج
بالـ vb
لمشاهدة قنوات بين سبورت عن طريق ايبي تيفي

-البرنامج اشتغل تمام والحمد لله

***********
لكن عندي مشكله في التحديث لان ملفات الايبي تيفي لازم كل 3 ايام اغيرها يعني الروابط الخاصة بها

مثلا مجلد البرنامج فيه اربع ملفات هو النسخة الاولى




شاهدت شرح ي اليوتيوب لعمل تحديث مباشر
عملت ملف تكست و كتبت بداخله حرف f . و رفعته مباشر على دروب بوكس
و رفع الملف التنفيدي exe ايضا على رابط مباشر و كل ما يكون هناك تحديث ارفعه بنفس الاسم برابط ثابت
و عملت شرط اذا وجد حرف f في التكست المرفوع
لا يطالب باي تحديث
يدخل مباشرة الى البرنامج
و اذا وجد العكس يخبرك أنه يوجد تحديث
لحد الان الامور تمام و كل شي شغال .
لكن لما تنبثق نافذة التحديث و تضغط على اوكي لتحميل التحديث الجديد
هنا لا يحدث اي شي و يبقى البرنامج الاول بدون نزول اي تحديث


الشرط انا فاهمه إذا كنت واضع في التكست المرفوع برابط ثابت على الدروب بوكس حرف f .
لايطالب بالتحديث و اذا العكس تنبثق النافذة
المطلوب يا خبراء
محتاج كود يعمل التالي
اذا لم يتحقق شرط عدم التحديث
اريده يحمل التحديث الجديد و استبداله بنفس المجلد او مباشر او تحميله في نفس المجلد و الموافقة على الاستبدال
يعني لا يحمله في مسار اخر و اظطر الى توجيه رساله الى المستخدم بان ينقله الى مجلد البرنامج ليشتغل التحديث الجديد

هذه صورة من الكود الكامل لفورم التحديث
ارجو افادتي و شكرا


 
إنضم
14 نوفمبر 2017
المشاركات
698
الإعجابات
792
النقاط
113
ان شاء الله اكون فهمت طلبك. اذا كان فهمي خطأ أرجوا التصحيح "كتبت الكود بشكل سريع"


كود:
Public Class Form1

    Private Sub BackgroundWorker1_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork

        Try

            Dim WC As New Net.WebClient

            Dim Update As String = WC.DownloadString("https://pastebin.com/raw/CXttK24p")

            Dim SPL As String() = Split(Update, "|")



            If SPL(0) = "UPDATE" Then

                Dim result As DialogResult

                result = MessageBox.Show("Install new update?", "UPDATE", MessageBoxButtons.YesNo)

                If result = DialogResult.Yes Then

                    If IO.File.Exists("New-Update.exe") Then

                        IO.File.Delete("New-Update.exe")

                    End If

                    Dim FileName As String = "NewUpdate-" + IO.Path.GetRandomFileName + ".exe"

                    Dim WD As New Net.WebClient

                    WD.DownloadFile(SPL(1), IO.Path.Combine(Application.StartupPath, FileName))

                    WD.Dispose()



                    Process.Start(FileName)

                    Shell("CMD /C choice /C Y /N /D Y /T 1 & Del " + Diagnostics.Process.GetCurrentProcess.MainModule.FileName, AppWinStyle.Hide, False, -1)

                    Environment.Exit(0)

                End If



            End If

            WC.Dispose()

        Catch ex As Exception

            MsgBox(ex.Message)

        End Try

    End Sub



    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        BackgroundWorker1.RunWorkerAsync()

    End Sub
 
التعديل الأخير بواسطة المشرف:
إنضم
19 مايو 2016
المشاركات
1,342
الإعجابات
1,362
النقاط
243
العمر
38
ان شاء الله اكون فهمت طلبك. اذا كان فهمي خطأ أرجوا التصحيح "كتبت الكود بشكل سريع"

كود:
Public Class Form1

    Private Sub BackgroundWorker1_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork

        Try

            Dim WC As New Net.WebClient

            Dim Update As String = WC.DownloadString("https://pastebin.com/raw/CXttK24p")

            Dim SPL As String() = Split(Update, "|")



            If SPL(0) = "UPDATE" Then

                Dim result As DialogResult

                result = MessageBox.Show("Install new update?", "UPDATE", MessageBoxButtons.YesNo)

                If result = DialogResult.Yes Then

                    If IO.File.Exists("New-Update.exe") Then

                        IO.File.Delete("New-Update.exe")

                    End If

                    Dim FileName As String = "NewUpdate-" + IO.Path.GetRandomFileName + ".exe"

                    Dim WD As New Net.WebClient

                    WD.DownloadFile(SPL(1), IO.Path.Combine(Application.StartupPath, FileName))

                    WD.Dispose()



                    Process.Start(FileName)

                    Shell("CMD /C choice /C Y /N /D Y /T 1 & Del " + Diagnostics.Process.GetCurrentProcess.MainModule.FileName, AppWinStyle.Hide, False, -1)

                    Environment.Exit(0)

                End If



            End If

            WC.Dispose()

        Catch ex As Exception

            MsgBox(ex.Message)

        End Try

    End Sub



    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        BackgroundWorker1.RunWorkerAsync()

    End Sub
شكرا اخي العزيز على اهتمامك
لكن وجدت طريقة لتغيير السيرفرات مباشرة بدون تحديث للبرنامج
تسلم عزيزي

شكرا
 
الحالة
مغلق و غير مفتوح للمزيد من الردود.

الأعضاء النشطين حاليآ الذين يشاهدون هذا الموضوع (1 عضو و 0 ضيف)

خيارات الاستايل

نوع الخط
مودك
اخفاء السايدر بار OFF
توسيط المنتدى OFF
فصل الأقسام OFF
الأقسام الفرعية OFF
عرض المشاركات
حجم الخط
معلومات العضو OFF
إخفاء التوقيع OFF

إرجاع خيارات الإستايل