تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] درس انشاء تحديث للمشروع الخاص بك شرح مصور.
#1
Photo 
السلام عليكم ورحمة الله

اخوتى واحبابى اعضاء وزوار 
موقع فيجوال بيسك لكل العرب

التحية الطيبة وخالص التهانى بعيد الفطر

فى البداية اسف لان الشرح صورة + اكواد بدلاً من الشرح فيديو

لكن باذن الله سيكون الشرح بسيط وملخص كل تسائلات 
من يريد عمل تحديث للمشروع الخاص به بكل بساطة

نبداء اولاً بذكر الله والصلاه على الحبيب المصطفى صلى الله عليه وسلم

1- قم بانشاء المشروع الاول كما فى الصورة وقم بتسميته كما تشاء



2- قم بعد ذلك بتصميم الفورم بما تريد انا قمت بعل الشكل التالى


لكن قم بالتركيز على عمل خصائص الفور على هذه الاعدادات
كود :
MaximizeBox = False
MinimizeBox  = False

MaximumSize = [الارقام التى تتواجد فى Size]
MinimumSize  = [الارقام التى تتواجد فى Size]

ShowIcon = False
ShowIn Taskbar = False
StartPosition = CenterScreen

كما فى الصورة التالية...


3- اضافة حقل فى Setting من خلال التالى
الضغط المزدوج بالمؤشر على كلمة (My Project)


من ثم تطبيق كما هو موجود بالصورة....


الى هنا تم الانتهاء من تصميم الهيكل للمشروع 
ندخل بعد ذلك فى كتابة الاكواد التى سيتم استخدامها

الكود المستخدم كاملاً:
كود :
Imports System.Net

Public Class Form1

   Dim WEB_ As New WebClient
   Dim Process_() As Process = Process.GetProcessesByName("File") ' Name file your program
   Dim VProject As Integer = WEB_.DownloadString("D:\v.txt") ' You can use link Example: http://www.mysite.com/file.txt  (Link Direct...)

   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       Button1.Visible = False

       If VProject > My.Settings.VProject Then
           Label3.Text = "Download the new version"
           Button1.Visible = True
       End If

   End Sub

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       If VProject > My.Settings.VProject Then
           If Process_.Count > 0 Then
               For Each MyProject_ In Process_
                   MyProject_.Kill()              ' Close Your Project.
               Next
               GoTo GoDownlod_
           Else
GoDownlod_:
               WEB_.DownloadFileAsync(New Uri("D:\File.exe"), Application.StartupPath & "\File.exe", True) ' You can use link Example: http://www.mysite.com/File.exe  (Link Direct...)
               My.Settings.VProject = VProject
               My.Settings.Save()
               MsgBox("تم تحديث البرنامج.")
               Process.Start(Application.StartupPath & "\File.exe") ' Open Your Project After Finish Update.
               Application.Exit()
           End If
       End If
   End Sub

End Class

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


وعند توفر تحديث من خلال تغيير قيمة ملف V.Txt بزيادة رقم 
بمعنى لو كان الملف يحتوى على رقم 1 يصبح الرقم 2 ثم يتم الحفظ
حتى يظهر الشاشة بعد ذلك لهذا الشكل


ناتى للخطوة التالية
وهو عمل المشروع الرئيسي الخاص بك..

لم اقوم باعادة شرح انشاء مشروع جديد راجع الصور 1 و 2

بعد انشاء المشروع الخاص الذى سيعمل عند العميل
سيكون وليكن الشكل كما يلى كمثال


نقوم بعد ذلك بتطبيق الخطوة التالية كما فى المشروع التحديث
اضافة حقل فى Setting ستجد بالاعلى عند البند رقم 3
طبق كل ما اتى بالشرح لاضافة الحقل

ناتى بعد ذلك للكود المستخدم كاملاً

الكود المستخدم كاملاً:
كود :
Imports System.Net

Public Class Form1

   Dim WEB_ As New WebClient
   Dim VProject As Integer = WEB_.DownloadString("D:\v.txt") ' You can use link Example: http://www.mysite.com/file.txt  (Link Direct...)

   Private Sub AboutToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AboutToolStripMenuItem.Click

       If VProject > My.Settings.VProject Then

           Dim MSG_ As Integer = MessageBox.Show("هل تريد اتمام تحديث البرنامج للاصدار الجديد؟", "تنبيه بوجود تحديد", MessageBoxButtons.YesNo)

           If MSG_ = DialogResult.Yes Then
               Process.Start(Application.StartupPath & "\CheckUpdate.exe")
               My.Settings.VProject = VProject
               My.Settings.Save()
               Application.Exit()
           Else
               ' FormAbout.show()
               MsgBox("شكراً لك.")
           End If

       End If

   End Sub

End Class

وبكده تكون انهيت المشروع الخاص بك وقمت 
باضافة التحديث مع استبدال التحديث الجديد بالقديم

كل ما عليك نسخ ملف CheckUpdate.exe
بنفس مجلد المشروع الخاص بك ليصبح كلاهما معاً بنفس المجلد

لتجربة التحديث قم بنسخ كل من الملفين الخاص بـ CheckUpdate
والاخر الخاص بالمشروع الخاص بك فى مجلد واحد من ثم
يوجد مثال مرفق بمجلد Pro Test

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

ويمكنك ان تجرب الان ....

ناتى الان الى الشرح النظرى وهاااااااااام جداً

فى الاكواد السابقة خاصة مشروع التحديث قمنا باستخدام الاسطر التالية

الشرح الاول لهذا السطر:
كود :
Dim Process_() As Process = Process.GetProcessesByName("File")

المقصود بكلمة File
هو اسم المشروع الرئيسي لك عند استخراجه
يعنى بمعنى اذا كان الملف للمشروع عند استخراجه بهذا الاسم
ahmed.exe
فهنا ناخد اسم ahmed ونضعه بدلاً من File

الشرح الثانى لهذا السطر:
كود :
Dim VProject As Integer = WEB_.DownloadString("D:\v.txt")

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

يجب بالنهاية ان يصبح هذا المسار 
PHP كود :
D:\v.txt 

ان يكون رابط موقع الكتروني برابط مباشر 

للوصول الى الملف ليصبح بهذا الشكل
PHP كود :
http://www.mysite.com/namefile.txt 

الشرح الثالث لهذا السطر :
كود :
WEB_.DownloadFileAsync(New Uri("D:\File.exe"), Application.StartupPath & "\File.exe", True)

بخصوص
PHP كود :
D:\File.exe 

نفس الوضع لما تم شرحه فى الشرح الثانى

لكن ماذا يعنى هذا الملف ؟؟
هذا الملف الخاص بالمشروع الرئيسيى بعد التحديث ورفعه على الموقع
حتى يقوم الطرف الثانى من تمكينه من تحميل التحديث حتى يعمل لديه بدلاً من القديم

وكلمة File يتم تطبيق الاسم كما تم شرحه فى الشرح الاول بالاعلى

وينطبق ذلك ايضاً على هذا السطر
كود :
Process.Start(Application.StartupPath & "\File.exe")


والى هنا يتم الانتهاء من الدرس
ويارب ان ينال الشرح للجميع

وان يكون الشرح مبسط ولا يوجد به اى مشكلة

الاكواد المستخدمة قليلة وبسيطة
ويمكنك الاستفادة من هذا الدرس وتطويره كما تريد

وفى النهاية اسال الله المغفرة والرحمة وان يتوب على من الاخطاء والنسيان

وراحة البال والكرم والرزق من حيث لا اعلم

وشكراً للجميع



اسئلة قد يتم طرحها من بعض الاعضاء ومن زوار الموضوع...

1- لماذا قمت باستخدام For Each لاغلاق البرنامج بدلاً من وضع سطر اغلاق البرنامج مباشراً؟
ج: السبب هو ان البعض يعمل على مشروع وقد يقوم المستخدم فتح البرنامج اكثر من مرة فى وقت واحد لذلك تجنباً لهذا تم عمل ذلك.

2- لماذا قمت باستخدام Button لتحميل المشروع بدلاً من تنفيذ التحديث مباشراً؟
ج: لاسباب عديدة واهم ما خطر فى بالى هم اصحاب مشاريع التى تعتمد على الادخالات مثل الفواتير
فتخيل اذا كان المستخدم يقوم بادخال بيانات فاتورة وله الكثير من الوقت يعمل على ذلك ولكن بالخطاء
قام بعرض شاشة التحديث لك ان تتخيل ردة فعله وقتها عندما يعلم ان كل ما كان يقوم بتسجيله ولم يحفظ بعد
وانه سيقوم باعادة العمل عليه مجدداً واعادة ادخال بيانات الفاتورة من جديد وتخيل ردة فعله بالدعاء لبعض الاشخاص ....
نصيحة لتكون مبرمج يجب عليك اولاً ان تكون مكان المستخدم للبرنامج لذلك ضع نفسك مكان المستخدم اولاً حتى تتمكن من تفادى الاخطاء.

3- هل يمكن تطوير فكرة هذا التحديث واستخدام شخصى ؟
ج: نعم فقمت بعمل هذا الدرس هنا ليس ليكون عليه حقوق بال هو درس عامة ليعم الفائدة للجميع فلك حرية الاستخدام 
لكن تذكر ان تستخدمه فقط فى ما يرضي الله فانا غير مسؤل عن غير ذلك.

4- لماذا لم تقم بعمل الدرس من خلال شرح عن طريق الفيديو؟
ج: اولاً انا لست من اصحاب من يريد الربح من خلال الفيديوهات ثانياً والاهم هو الملاحظة الكثير ومنها
قد يكون الاغلب لم يعد يفضل القراءة فاصبحنا فى هذا الزمن يكره الكثير القراءة وفقط يعتمد على ما يراه
للاسف هذا خطأ كبير جداً لان ما تراه وتشاهده ليس دائماً الصح ولا يعتمد الذاكرة لديك على ما تشاهده
عكس ما تعتمد الذاكرة على ما تقوم بقراءته حتى لو مر عليه السنين ستتذكر انك فى يوم كان فى شئ مثل ذلك
لهذا السبب افضل الشرح كتابتاً مع بعض الصور للتوضح الفكرة لان الهدف الاهم لى هو جعلك تكون متطور داخلياً عن
ان تكون اسم مطور او مبرمج وتاتى فى يوم تحت اختبار بدون استخدام الانترنت لتعمل كود ولا تعلم حتى كيف تكتب الكود



تحياتى لكم
وتمنياتى للجميع التوفيق


الملفات المرفقة
.zip   CheckUpdate.zip (الحجم : 98.11 ك ب / التحميلات : 568)
.zip   Master.zip (الحجم : 69.86 ك ب / التحميلات : 375)
.zip   Pro Test.zip (الحجم : 27.86 ك ب / التحميلات : 337)
.zip   صور الشرح.zip (الحجم : 176.65 ك ب / التحميلات : 357)
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}


الردود في هذا الموضوع
درس انشاء تحديث للمشروع الخاص بك شرح مصور. - بواسطة elgokr - 17-06-18, 03:05 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [اقتراح] استفسار انشاء برنامج الفاتوره الالكترونيه asseriano 3 4,334 26-07-23, 07:43 PM
آخر رد: ibrahimibrahim
Video [سلسلة تعليمية] دورة انشاء برنامج مبيعات شامل فيجوال + قاعدة بيانات SQL aljzazy 12 17,263 24-10-22, 02:06 AM
آخر رد: b97er
  [كورس] دورة انشاء برنامج ادارة المطاعم فيجوال بيسك وقاعدة بيانات sql aljzazy 2 4,538 15-05-22, 10:32 PM
آخر رد: ابراهيم ايبو
  كيفية انشاء حقوق ملكية وشروط الاستخدام وافتتاحية التحزيم [ الدرس الاول ]. elgokr 23 10,741 28-06-20, 05:59 PM
آخر رد: alsouf
  [سلسلة تعليمية] دورة انشاء تحزيم المشاريع بتصميم وبرمجة خاصة بك دون استخدام اى برنامج مساعدة. elgokr 3 3,534 18-05-20, 01:14 AM
آخر رد: ibra9009
  [درس فيديو] دورة انشاء برنامج مبيعات من الصفر اسامه الهرماوي 2 5,296 14-11-19, 07:18 PM
آخر رد: rateb
  [VB.NET] دورة انشاء برنامج مبيعات بسيط بقاعدة بيانات من نوع sql aljzazy 6 7,898 14-11-19, 07:16 PM
آخر رد: rateb
  حصرى ابتداء دورة انشاء تطبيق سطح مكتب باستخدام electron صنع تطبيق "حاسبة" فكتور 1 3,560 04-09-19, 02:51 AM
آخر رد: أمجد وضاح
  [VB.NET] عمل تحديث لمستخدمين البرنامج الخاص بك اونلاين عن طريق ال DropBox YousefOkasha 8 7,744 24-04-19, 03:50 PM
آخر رد: YousefOkasha
  [درس فيديو] مشروع انشاء محرر نصوص بلغة VB net أحمد النجار 3 5,221 07-02-18, 10:59 PM
آخر رد: الوايلي

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


يقوم بقرائة الموضوع: