01-05-13, 06:57 PM
السلم عليكم ورحمة الله وبركاتة
---------------
بعد إذن إدارة المنتدى
منقول للفائدة
--------------
لاخوة الكرام
كثيراً منا من يجد برامج تعمل لعدد مرات معين ثم يغلق او ما يسمى بيننا بالـ 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) واكتب الكود التالى :
وفى الكود السابق قمنا بتعريف متغير بصيغة DataBase ليحمل القاعدة داخل البرنامج وايضاً متغير من نوع RecordSet ليحمل الجدول .
2 - اذهب الى الـ Form_Load واكتب الكود التالى :
والكود السابق لتعريف المتغيرات كوحدات اتصال فعلية بالقاعدة التى قمنا بأنشائها مسبقاً وايضا للجدول الذى بها.
3 - اذهب الى حدث الأ Form_Resize وضع الكود التالى :
والكود السابق يعنى اذا كان الحقل مدون به عدد 5 سيقوم بأرسال رسالة تقوم انه انتهت مده عمل البرنامج الخمس ويمكنك ايضاً وضع الكود السابق فى حدث الـ Form_Load بعد تعريفات متغير ات القاعدة .
4 - اذهب الى الحدث Click للـ Command1 واكتب الكود التالى :
ويعنى الكود السابق انه اذا وجد عدد سجلات الحقل اكبر من صفر اى بها سجل بمعنى اصح فسيقوم البرنامج بجمع رقم واحد على القيمة الحالية له واذا لم يجد سجلات بالقاعدة فى حالة اننا اول مره تقوم بغلق البرنامج فسيقوم بأنشاء سجل جديد ويضع به قيمة 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 .
بالتوفيق للجميع
إشهـــــــــــــــــــد إن لا إله إلا اللــــــــــــه إشهـــــــــــــــــد إن محمد رسول اللــــــــــــــه
الرجال أربعة
رجل يدري ويدري أنه يدري فذلك عالم فاتبعوه.
ورجل يدري ولا يدري أنه يدري فذلك نائم فأيقظوه.
ورجل لا يدري ويدري أنه لا يدري فذلك مسترشد فأرشدوه.
ورجل لا يدري ولا يدري أنه لا يدري فذلك جاهل فارفضوه.
الرجال أربعة
رجل يدري ويدري أنه يدري فذلك عالم فاتبعوه.
ورجل يدري ولا يدري أنه يدري فذلك نائم فأيقظوه.
ورجل لا يدري ويدري أنه لا يدري فذلك مسترشد فأرشدوه.
ورجل لا يدري ولا يدري أنه لا يدري فذلك جاهل فارفضوه.