الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يتم فبركة هذا الكود ليتم اعادة تشغيل البرنامج ؟

بدأه shadi77 في 26 يناير 2009 · 7 رد · 851 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
retvalue = GetSetting("A", "0", "Runcount")

GD$ = Val(retvalue) + 1

SaveSetting "A", "0", "RunCount", GD$

If GD$ > 3 Then

MsgBox ("out of date")

End

End If

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

ان كان هناك تعديل على هذا الكود نرجو منكم اطلاعنا عليه او ان وجدت وسيلة اخرى غير تلك اعلاه نرجو منكم تزويدنا

ودمتم سالمين

تم تعديل هذه المشاركة بواسطة Xacker في 26 يناير 2009 في 18:36 — السبب: تم حذف الجزء الخاطئ الناتج بالنسخ

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

#2

السلام عليكــم ورحمـة الله وبركاتــه

هذا هو الكود بعد التعديل ليقوم بما تريده :

Dim RetValue As String
Dim nValue As Integer
Dim OpenCode As String

RetValue = GetSetting("A", "0", "Runcount")

nValue = Val(RetValue) + 1

If nValue > 3 Then

   OpenCode = InputBox("أكتب كود فتح القفل", "كود فتح القفل")

   If Trim$(OpenCode) = "1234" Then
	  SaveSetting "A", "0", "RunCount", "0"
	  MsgBox "الكود صحيح تم فتح القفل"
   Else
	  MsgBox "الكود غير صحيح"
	  End
   End If

Else

   SaveSetting "A", "0", "RunCount", Str$(nValue)

End If

السلام عليكــم ورحمـة الله وبركاتــه

#3

شكرا لك اخي حنديم

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

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

وشكراااااااااااااااااااااااااا

shadi.rar

تم تعديل هذه المشاركة بواسطة shadi77 في 27 يناير 2009 في 12:22

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

#4

السلام عليكــم ورحمـة الله وبركاتــه

أهلاً أخوي شادي

هذا الكود الذي وضعته في مثالك :

Private Sub Form_Load()
Dim RetValue As String
Dim nValue As Integer
Dim OpenCode As String

RetValue = GetSetting("A", "0", "Runcount")

nValue = Val(RetValue) + 1

If nValue > 3 Then

   OpenCode = InputBox("أكتب كود فتح القفل", "كود فتح القفل")

   If Trim$(OpenCode) = "1234" Then
	  SaveSetting "A", "0", "RunCount", "0"
	  MsgBox "الكود صحيح تم فتح القفل"
   Else
	  MsgBox "الكود غير صحيح"
	  End
   End If

Else

   SaveSetting "A", "0", "RunCount", Str$(nValue)
End If
End

End Sub

لقد قمت بإضافة كلمة End في الأخير وهذا غير صحيح .

على العموم الكود صحيح ويعمل عندي وجرب السابق مع تعديل طفيف عليه :

Private Sub Form_Load()
Dim RetValue As String
Dim nValue As Integer
Dim OpenCode As String

RetValue = GetSetting("A", "0", "Runcount","0")

nValue = Val(RetValue) + 1

If nValue > 3 Then

   OpenCode = InputBox("أكتب كود فتح القفل", "كود فتح القفل")

   If Trim$(OpenCode) = "1234" Then
	  SaveSetting "A", "0", "RunCount", "0"
	  DoEvents
	  MsgBox "الكود صحيح تم فتح القفل"
   Else
	  MsgBox "الكود غير صحيح"
	  End
   End If

Else

   SaveSetting "A", "0", "RunCount", Str$(nValue)

End If


End Sub

السلام عليكــم ورحمـة الله وبركاتــه

تم تعديل هذه المشاركة بواسطة al7ndeem في 27 يناير 2009 في 16:36

#5

اخي الكريم

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

الكود السابق يشفر البرنامج بعد 3 استخدامات ويقوم بفك التشفير من خلال رقم الفك المدرج !!

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

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

#6

مرحبا إخوان

عذرا على المداخلة قمت بإضافة صغيرة جدا على الكود الأخير عسى أن يلبي الحاجة مع أني لم أطلع عليه جيدا:

Private Sub Form_Load()
Dim RetValue As String
Dim nValue As Integer
Dim OpenCode As String
If GetSetting("A", "O", "Opened") = 1 Then Exit Sub
RetValue = GetSetting("A", "0", "Runcount", "0")

nValue = Val(RetValue) + 1

If nValue > 3 Then

   OpenCode = InputBox("ÃßÊÈ ßæÏ ÝÊÍ ÇáÞÝá", "ßæÏ ÝÊÍ ÇáÞÝá")

   If Trim$(OpenCode) = "1234" Then
	  SaveSetting "A", "0", "RunCount", "0"
	  SaveSetting "A", "O", "Opened", "1"
	  DoEvents
	  MsgBox "ÇáßæÏ ÕÍíÍ Êã ÝÊÍ ÇáÞÝá"
   Else
	  MsgBox "ÇáßæÏ ÛíÑ ÕÍíÍ"
	  End
   End If

Else

   SaveSetting "A", "0", "RunCount", Str$(nValue)

End If


End Sub

Doried Abd Allah

Prelware D&D Association

Lattakia/Syria

#7

ايضا نفس المشكلة

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

#8

إليك الكود بعد التعديل أستاذ شادي B)

لاحظ أننا وضعنا مفتاحاً آخر اسمه Opened ونضع فيه قيمة "1" إذا أدخل المستخدم كلمة مرور صحيحة:

  1.  
  2. Private Sub Form_Load()
  3. Dim RetValue As String
  4. Dim nValue As Integer
  5. Dim OpenCode As String
  6. Dim Opened As String
  7.  
  8. Opened = GetSetting("A", "0", "Opened")
  9. If Opened = "1" Then
  10. Exit Sub
  11. Else
  12. RetValue = GetSetting("A", "0", "Runcount")
  13. nValue = Val(RetValue) + 1
  14. End If
  15.  
  16. If nValue > 3 Then
  17.  
  18. OpenCode = InputBox("ÃßÊÈ ßæÏ ÝÊ&Iac
    ute; ÇáÞÝá", "ßæÏ ÝÊÍ &C
    cedil;áÞÝá")
  19.  
  20. If Trim$(OpenCode) = "1234" Then
  21. SaveSetting "A", "0", "RunCount", "0"
  22. MsgBox "ÇáßæÏ ÕÍíÍ Ê&ati
    lde; ÝÊÍ ÇáÞÝá"
  23. SaveSetting "A", "0", "Opened", "1"
  24. Else
  25. MsgBox "ÇáßæÏ ÛíÑ ÕÍ&iac
    ute;Í"
  26. End If
  27.  
  28. Else
  29.  
  30. SaveSetting "A", "0", "RunCount", Str$(nValue)
  31. End If
  32.  
  33. End Sub
  34.  

أرجو أن يكون هذا ما تريده.

ملاحظة: هذه الطريقة في الحماية ضعيفة جداً.

هذه الجملة خاطئة  :wacko: 


مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…