بسم الله الرحمن الرحيم
السلام عليكم
سأريكم اليوم كيف تجعل برنامجك قابل للتحديث من الانترنت اي ستضيف خاصية التحقق من التحديثات وفي حال تواجد تحديث سيحولك الى صفحة انترنت تحمل منها الاصدار الجديد.
يوجد عدة طرق لهذا الشئ ولكني ساستخدم ابسط طريقة ولكم الحرية
أولا: سننشئ متغير داخل البرنامج يحتوي اصدار البرنامج
اذهب الى قائمة Project ثم اختر اخر خيار check for update project properties
واذهب الى Resources واضف متغير من نوع string وسمه version واعطه قيمة ابتدائية وليكن 1.0 ان هذا الاصدار الاول أو يمكنك انشاء متغير من نوع float في البرنامج يحمل نفس الرقم بدل من الطريقة هذه
float version=1.0;
ثانيا: ستحتاج الى صفحة html او ملف txt ترفعه لموقعك يحتوي على الاصدار الجديد في حين تصدره او رقم الاصدار الحالي في حال لايوجد تحديث كل محتواه هو رقم الاصدار مثلا سيحتوي على 1.1
ثالثا: سنحتاج الى انشاء متغير من نوع WebClient ولذلك لابد من استخدام النطاق .net
using System.Net;
WebClient wc =new WebClient();
رابعا : نقوم بتحميل محتوى الصفحة اللي تحتوي على رقم الاصدار
string content = wc.DownloadString("http://ahmadmagdy.me/v.txt");
خامسا: نقوم بالمقارنة بين الرقم المحمل والاصدار المخزن بالبرنامج في حين كان اكبر سيخبرك انه يوجد اصدار احدث ويظهر رقم الاصدار وفي حين لايوجد سيخبرك انه لايوجد تحديث
وفي عرض التحديث سيظهر امكانية تحميله في حين الضغط على yes وسيحولك لصفحة محددة مسبقا
انا افضل ان تكون صفحة فارغة وتضيف في الصفحة اعادة تحويل لرابط تحميل الاصدار الاحدث في كل اصدار يحوله للاصدار الاحدث
if (float.Parse(Properties.Resources.version) < float.Parse(content)) { DialogResult dr= MessageBox.Show("There are a new version " + content + " do you want to download it?", "Alter", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == DialogResult.Yes) { Process.Start("http://ahmadmagdy.me/blog"); } else { this.Close(); } } else { MessageBox.Show("You have a latest version"); }
الكود كامل :
using System.Net; using System.Diagnostics;
private void button1_Click(object sender, EventArgs e) { WebClient wc =new WebClient(); string content = wc.DownloadString("http://ahmadmagdy.me/v.txt"); if (float.Parse(Properties.Resources.version) < float.Parse(content)) { DialogResult dr= MessageBox.Show("There are a new version " + content + " do you want to download it?", "Alter", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == DialogResult.Yes) { Process.Start("http://ahmadmagdy.me/blog"); } else { this.Close(); } } else { MessageBox.Show("You have a latest version"); } }