تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
هل تريد ان تحدد عدد مرات عمل لبرنامجك ؟ ادخل هنا !
#1
السلم عليكم ورحمة الله وبركاتة
---------------
بعد إذن إدارة المنتدى
منقول للفائدة
--------------
لاخوة الكرام
كثيراً منا من يجد برامج تعمل لعدد مرات معين ثم يغلق او ما يسمى بيننا بالـ Trial Programs او او البرامج التجريبية فهى وبكل بساطة وبأبسط فكرة ايضاً سنقوم بها معاً
والفكرة وفقنى اليها الله عند سؤال احد الاعضاء لى هذا السؤال من قبل فى احد المنتديات الحبيبة
والان الى الشرح :
1 - قم بأنشاء قاعدة بيانات وليكن اسمها Num .
2 - قم بأنشاء جدول وسمه بأسم TNum .
3 - قم بأنشاء حقل من نوع Number واسمه Numb.
-------------------------------------------------
4 - قم بأنشاء مشروع جديد من Microsoft Visual Basic 6.0 .
5 - قم بأنشاء 1 Form و 1 من اداة Command Button .
6 - نسق شكل الادوات بالشكل الذى تريد وتحب !.
7 - الان الى برمجة الادوات :
- سوف تستخدم اداة الـ Dao 3.6 وذلك لكى تتعامل مع قواعد بيانات بأصدار حديث مثل 2003 مثلاً كما قمنا نحن اذا كنا نستخدم
Ms-Access 2003

- ونقوم بتعريف المكتبة من خلال قائمة Project ومنها الى Refrence ونختا من القائمة Microsoft DAO 3.6 Object Library
والان الى البرمجة :
1 - اذهب الى قسم التصريحات العامة (General) واكتب الكود التالى :
كود :
Dim Db As DataBase
Dim Rs As RecordSet


وفى الكود السابق قمنا بتعريف متغير بصيغة DataBase ليحمل القاعدة داخل البرنامج وايضاً متغير من نوع RecordSet ليحمل الجدول .
2 - اذهب الى الـ Form_Load واكتب الكود التالى :

كود :
Private Sub Form_Load ()
Set Db = OpenDataBase("Num.mdb")
Set Rs = Db.OpenRecordSet ("TNum",2)
End Sub

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


كود :
Private Sub Form_Resize ()
If Rs.RecordCount = 0 Then Exit Sub
Rs.MoveFirst
If  Val(Rs.Fields!Numb) = 5 Then
MsgBox "Runing Program Has Over" + Val(Rs.Fields!Numb) + " Times",VbExlamation ,"End Program"
End
End If

والكود السابق يعنى اذا كان الحقل مدون به عدد 5 سيقوم بأرسال رسالة تقوم انه انتهت مده عمل البرنامج الخمس ويمكنك ايضاً وضع الكود السابق فى حدث الـ Form_Load بعد تعريفات متغير ات القاعدة .
4 - اذهب الى الحدث Click للـ Command1 واكتب الكود التالى :

كود :
Private Sub Command1_Click ()
Dim X As String
X = MsgBox("Are You Sure To Exit ?", vbQuestion + vbYesNo, "Exit..")
If X = vbNo Then Exit Sub
If Rs.RecordCount > 0 Then
Rs.MoveFirst
Rs.Edit
Rs.Fields!Numb = Val(Rs.Fields!Numb) + 1
Rs.Update
Else
Rs.AddNew
Rs.Fields!Numb = "1"
Rs.Update
End If
End
End Sub

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



بالتوفيق للجميع
إشهـــــــــــــــــــد إن لا إله إلا اللــــــــــــه إشهـــــــــــــــــد إن محمد رسول اللــــــــــــــه

الرجال أربعة
رجل يدري ويدري أنه يدري فذلك عالم فاتبعوه.Smile
ورجل يدري ولا يدري أنه يدري فذلك نائم فأيقظوه.Cool
ورجل لا يدري ويدري أنه لا يدري فذلك مسترشد فأرشدوه.Big Grin

ورجل لا يدري ولا يدري أنه لا يدري فذلك جاهل فارفضوه‏.‏Cool
الرد }}}
تم الشكر بواسطة: awidan76
#2
لكم مني الف شكر وتقدير لك استاذي العزيز والله يحفظكم ويرعاكم
الرد }}}
تم الشكر بواسطة: awidan76
#3
ولك من لكل التقدير اخي الكريم

وعلى كلامك الطيب

بارك الله فيك
إشهـــــــــــــــــــد إن لا إله إلا اللــــــــــــه إشهـــــــــــــــــد إن محمد رسول اللــــــــــــــه

الرجال أربعة
رجل يدري ويدري أنه يدري فذلك عالم فاتبعوه.Smile
ورجل يدري ولا يدري أنه يدري فذلك نائم فأيقظوه.Cool
ورجل لا يدري ويدري أنه لا يدري فذلك مسترشد فأرشدوه.Big Grin

ورجل لا يدري ولا يدري أنه لا يدري فذلك جاهل فارفضوه‏.‏Cool
الرد }}}
تم الشكر بواسطة: awidan76
#4
مشكور وبارك الله فيك
الرد }}}
تم الشكر بواسطة: awidan76
#5
شكرا اخي الكريم ع مرورك الطيب
إشهـــــــــــــــــــد إن لا إله إلا اللــــــــــــه إشهـــــــــــــــــد إن محمد رسول اللــــــــــــــه

الرجال أربعة
رجل يدري ويدري أنه يدري فذلك عالم فاتبعوه.Smile
ورجل يدري ولا يدري أنه يدري فذلك نائم فأيقظوه.Cool
ورجل لا يدري ويدري أنه لا يدري فذلك مسترشد فأرشدوه.Big Grin

ورجل لا يدري ولا يدري أنه لا يدري فذلك جاهل فارفضوه‏.‏Cool
الرد }}}
تم الشكر بواسطة: awidan76
#6
بارك الله فيك
الرد }}}
تم الشكر بواسطة: awidan76
#7
السلام عليكم...

الشكر مسبقاً على المحاولة، و لكن ليس هناك برنامج محمي ضد النسخ أو تجاوز الفترة التجريبية. التركيز يجب أن ينصب على تحسين أداء البرنامج و تسهيل استعماله و إعطائه مظهراً بسيطاً و جذاباً.

كذلك فإن الكود يحتوي على خطأ أساسي، و هو الاعتقاد بأن المستخدم سيغلق البرنامج دائماً عن طريق الزر المكتوب فيه كود زيادة العداد! ماذا لو أغلق المستخدم النافذة عن طريق زر الإغلاق (X) الموجود في شريط عنوان النافذة، أو عن طريق ضغط Alt+F4 ؟ - لن يزيد العداد!

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

سلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}
تم الشكر بواسطة: awidan76
#8
اخي الكريم بارك الله فيك

وأنت اهل الخيرة


كل ما هناك انها فكرة ليست اكثر

مشكرو اخي الكريم ع مرورك
إشهـــــــــــــــــــد إن لا إله إلا اللــــــــــــه إشهـــــــــــــــــد إن محمد رسول اللــــــــــــــه

الرجال أربعة
رجل يدري ويدري أنه يدري فذلك عالم فاتبعوه.Smile
ورجل يدري ولا يدري أنه يدري فذلك نائم فأيقظوه.Cool
ورجل لا يدري ويدري أنه لا يدري فذلك مسترشد فأرشدوه.Big Grin

ورجل لا يدري ولا يدري أنه لا يدري فذلك جاهل فارفضوه‏.‏Cool
الرد }}}
تم الشكر بواسطة: awidan76
#9
السلام عليكم
ماذا عن عملية اختراق مثل هذا الكود؟
أقصد ما مدى حماية مثل هذه الطريقة ؟
الرد }}}
تم الشكر بواسطة: awidan76


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيف يكتب هذا الكود 0عدد مرات التكرار متغير غير ثابت اسلام الكبابى 16 5,174 13-05-13, 01:58 PM
آخر رد: اسلام الكبابى
  كود عند الخروج من الشاشه تظهر رساله تريد الحفظ ام لا رجل الكهرباء_mybb_import4729 2 2,455 29-03-13, 06:24 PM
آخر رد: رجل الكهرباء_mybb_import4729
  قبل تكتب موضوع في القسم ادخل هناااااااااا a_senan 0 12,015 21-09-12, 10:13 PM
آخر رد: a_senan

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم