المستخدمين يبحثون عن تحديث جديد عبر الانترنت لبرامجك

المستخدمين يبحثون عن تحديث جديد عبر الانترنت لبرامجك

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

فكره عمل الكود

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

و لكي تتم عمليه المقارنه هذه يقوم البرنامج بتنزيل الملف النصي من جوجل دريف و يقوم بقراءه محتوي هذا الملف النصي

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

المستخدمين يبحثون عن تحديث جديد عبر الانترنت لبرامجك

رفع ملف التحديث علي جوجل دريف

يمكن تطبيق نفس الفكره علي العديد من البدائل السحابيه المجانيه  (جوجل درايف – وان درايف – دروبوكس ) مع مراعه ان رابط التحميل يكون متاح بشكل عام او ان يسمح بالتحميل المباشر او ان نستطيع تحويل هذا الرابط الي رابط تحميل مباشر

و لكن هنا السؤال كيف يستطيع المبرمج الاحتفاظ برابط ثابت لكل ملف يقوم برفعه علي جوجل دريف

يمكن عمل ذلك و الاحتفاظ برابط ثابت لكل التحديثات اذا حافظ المصمم علي نفس اسم الملف عند رفع الملف

يمكن تقسيم خطوات العمل كالتالي

تحيث برنامج بالاكسيس من النت

رفع المبرمج لملف نصي  برقم التحديث و ملف تحديث البرنامج علي جوجل دريف

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

و بذلك يكون للمستخدم النهائي حق تحميل التحديث من خلال البرنامج

البحث عن اخر تحديث متاح

عند الضغط علي زر بحث عن اخر تحديث يقوم البرنامج بتحميل الملف النصي الذي يحتوي علي رقم التحديث

و يقوم بقراءه رقم التحديث و عمل مقارنه بسيطه بين هذا الرقم و الرقم المحفوظ في قاعده بيانات البرنامج

فرابط التحميل ثابت في الكود و أيضا للعلم انه لن يتغير في اي وقت يقوم المبرمج بتحديث رقم الاصدار في الملف النصي

و نلاحظ أيضا ان الخطوه الاولي كانت تحميل الملف النصي و ذلك لسهوله تحميله بدلا من تحميل قاعده البيانات بالكامل

تحميل التحديث

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

تحديث قاعده بيانات البرنامج

و هنا يتم انتقال البيانات من قاعده البيانات القديمه الي ملف التحديث من كافه الجدول فقط

و لن نحتاج الي نقل اي من النماذج او الاستعلامات

الكود المستخدم

Private Sub updateVersion_Click()
    Dim UrlLeft As String: UrlLeft = "http://drive.google.com/u/0/uc?id="
    Dim UrlRight As String: UrlRight = "&export=download"
    ' رابط ملف جوجل دريف مقسم لكي يتمكن الكود من تحميله بشكل مباشر
    Dim FileID As String: FileID = "1lVeb4IwwkNMiwDyD_BLKwH1TW-U9qcyg"
' مسار حفظ الملف في الجهاز 
    Dim FilePath As String: FilePath = CurrentProject.Path & "\" & "LastVersion.txt"
    Dim Url As String: Url = UrlLeft & FileID & UrlRight
    
    Dim wasDownloaded As Boolean
    wasDownloaded = downloadFile(Url, FilePath)
    If wasDownloaded Then
'    نجحت عمليه تحميل ملف التحديث بنجاح
'        MsgBox "Success"
'    Else

' لقراءه رقم اصدار الملف الذي تم تحميله
  Dim strText As String
  Dim FSO As New FileSystemObject
  Dim TSO As Object
  Set FSO = CreateObject("Scripting.FileSystemObject")
  Set TSO = FSO.OpenTextFile(CurrentProject.Path & "\" & "LastVersion.txt")
'  strText = TSO.ReadAll
  strText = TSO.ReadLine
    TSO.close
  Set TSO = Nothing
  Set FSO = Nothing
  
'مقارنه بين رقم الاصدار الحالي و رقم الاصدار الخاص بملف التحديث  
If Right(Me.Txt_version.value, 6) > strText Then
Debug.Print Right(Me.Txt_version.value, 6)

        Label_version.Visible = True
        Label_version.Caption = "لا يوجد تحديث عن النسخه" & "  " & strText
        MsgBox "Success"
    Else
    If Right(Me.Txt_version.value, 6) < strText Then
         Label_version.Visible = True
        Label_version.Caption = " يتوفر تحديث للنسخه الاصدار" & "  " & strText
        Command_version.Visible = True
        Label29.Visible = True
        txt_SelectedDirectory.Visible = True
        Command61.Visible = True
  Else
  Label_version.Visible = False
End If: End If


'    Debug.Print strText
        MsgBox "Success"
    Else
        MsgBox "Fail"
    End If
' هنا يم حذف الملف النصي الذي سبق تحميله في الخطوه الاولي
'               version_Delete
    Kill CurrentProject.Path & "\" & "LastVersion.txt"
End Sub

 

يمكنك أيضا مشاهده

الفاتورة الالكترونية لهيئة الزكاة والدخل فى السعودية المرحلة الثانية من خلال الاكسيس

يمكنك أيضا مشاهده اضافه شريط تحميل للنموذج في الاكسيس ProgressBar

يمكنك أيضا مشاهده خطوه في تجهيز برامج الاكسيس للربط مع الويب

افكار برمجيه لحمايه ملف الاكسيس تعرف عليها من هنا

 

 

 


اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *