url=http://www.0zz0.com]سلسلة دروس المحاكاة ( لوحة المفاتيح , الفأرة ,التشفير ) للمبتدئين 769147144[/url]

انت غير مسجل لدينا
يشرفنا انظمامك الى اعظاء المنتدى
رجاء قم بالتسجيل اولا


انضم إلى المنتدى ، فالأمر سريع وسهل


url=http://www.0zz0.com]سلسلة دروس المحاكاة ( لوحة المفاتيح , الفأرة ,التشفير ) للمبتدئين 769147144[/url]

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

سلسلة دروس المحاكاة ( لوحة المفاتيح , الفأرة ,التشفير ) للمبتدئين

اذهب الى الأسفل

سلسلة دروس المحاكاة ( لوحة المفاتيح , الفأرة ,التشفير ) للمبتدئين Empty سلسلة دروس المحاكاة ( لوحة المفاتيح , الفأرة ,التشفير ) للمبتدئين

مُساهمة من طرف صانع برامج الجمعة أبريل 30, 2010 5:16 pm

[size=16]بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته




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




أولا الحدث :

كود PHP:
KeyDown(KeyCode As Integer, Shift As Integer)




ينطلق هذا الحدث فور ضغطك إي زر من أزرار الكيبود وهو يحتوي على المتغير KeyCode

الذي سوف يقوم بحمل القيمة التي من خلالها سوف نعرف إي زر قد ضغط المستخدم فهو يحمل نوع المفتاح لكن بصورة خاصة حيث يحفظ النوع عن طريق أرقام تسجل فيه ولكل مفتاح رمز أو رقم معين سوف أعلمك بعد قليل كيفية قراءة ومعرفة كل رقم مفتاح إما بالنسبة للمتغيرShift فهذا المتغير وظيفته أيضا نفس الوظيفة لكنه يخزن بعض المفاتيح الأخرى التي لا يخزنها المتغير السابق ولا يتعامل معها وهو أزرار Shift و Tab وغيرها إلى الخ ...

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



كود PHP:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
MsgBox
""
End Sub




شغل البرنامج ولاحظ ان البرنامج سوف يعطي رسالة فور ضغطك اي زر من الازرار على الفورم فور ضغطك للزر لان الحدث يتفجر في ذلك الوقت او ينفذ حسنا استطعنا تنفيذ حدث لكن الحدث لا ينفع لانه ينفذ مع كل زر كيف استطيع تخصيص كود معين للازرار معينه هل يمكن ذلك هل يمكن استخدام F1 و F2 وغيرها الى الخ .. في برنامجي بكل تاكيد تستطيع فعل ذلك واكثر سوف اشرحها كل بالتفصيل ان شاء الله اولا كيف تعرف الـ KeyCode او الرمز الخاص لكل مفتاح فانه من غير المعقول ان تحفظ ارقامها بذهنك لذا سوف نقوم بالاتي لو اردنا معرفة الرمز الخاص لمفتاح ما نقوم بالاتي وفي نفس الحدث نكتب الكود الاتي

كود PHP:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
MsgBox KeyCode
End Sub




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


كود PHP:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If
KeyCode =
13 Then
MsgBox
"you Click On Enter Button"
End
If
End Sub




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


كود PHP:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If
Chr(KeyCode) = "A"
Then
MsgBox
"you Click On A"
End
If
End Sub




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

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



الحدث :

كود PHP:
KeyPress(KeyAscii As Integer)




ينفجر بنفس الوقت الذي ينفجر فيه الحدث السابق ومن الجدير بالذكر ان هذا الحدث يتعامل بالرموز عن طريق المتغير KeyAscii لكن الامر لا يفرق يمكن عمل كل الذي سبق بنفس الشكل عليه ومن الجدير بالذكر ايضا ان هذا الحدث لا يتنفذ اذا ما كان الحدث السابق موجود وبداخله كود معين الا ان هذا الحدث لا يسمح لك باالتعامل مع كافة الازرار كالـ Shift و غيرها وهذا هو اختلافه



الان الحدث الاخير وهو حدث :

كود PHP:
KeyUp(KeyCode As Integer, Shift As Integer)





نفس خصائص اول حدث ونفس الطريقه بالتعامل الا انه يختلف عنه بانه يتفجر عند رفم المستخدم يده عن الزر
اتمنى ان اكون وفقت بطرح هذا الدرس والممت بكل التفاصيل التي تحتاجها
ان شاء الله اذا الله قدر رح اسوي شرح مال محاكة الفائرة بالاضافة الى شرح
عمل برنامج لتشفير الرسائل وفك التشفير ايضا,,,,,,,,,,,,,,,,,,,,,,,,, اذا أعجبك الشرح
وأحستت أنك استفدت منه شيئا فكل ما أطلبه منك هو الدعاء لو ولوالدي بالدعاء بضاهر
الغيب بالغفران والرحمة
[/size]
صانع برامج
صانع برامج
المدير العام
المدير العام

عدد المساهمات : 415
0
تاريخ التسجيل : 05/04/2010
العمر : 37
الموقع : برامج x

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى