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

[مخالف - عنوان غير مناسب :]طلب بسيط ........ مع فيجوال 6

مغلق
بدأه sad85man في 29 يوليو 2007 · 26 رد · 1,860 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

سلااااام

انا جديد هنا واعجبني المنتدى بصراحة

وعندي طلب بسيط يا ريت تساعدوني

عندي برنامج ( لعبة ) تحتاج باستمرار للضغط المتكرر علي المسافة space والموضوع ازعجني

فكرت بعمل برنامج صغير باستخدام الفيجوال بيسك ( انا بعتبر حالي مبرمج هاوي للفيجوال ) ووضيفة البرنامج هو الضغط على ال space بدالي

الفكرة كالتالي

عملت فورم

وحطيت فيه 2 command bottms

الاول يعمل start والثاني stop

واستعملت timer لتكرار الضغط

وكان اساس فكرتي هو استعمال sendkey والفكرة كانت بالنسبة لي ممتازة

ولكن فوجئت بفشلها مع انني تاكدت ان البرنامج يرسل space بتكرار التايمر باستخدام الوورد

ولمن لم يحدث اي تاثير اثناء تشغيل اللعبة

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

والكود بسيط جدا

ها هو فكرتي ببساطة

Private Sub Command1_Click()

Timer1.Enabled = True

End Sub

Private Sub Command2_Click()

Timer1.Enabled = False

End Sub

Private Sub Timer1_Timer()

SendKeys (" ")

End Sub

فارجو من اصحاب الخبرة افادتي

هل هناك طريقة اخرى لجعل الفيجوال ( يضغط ال space ) بطريقة مماثلة للضغط باليد

او هل هناك امر اخر غير ال sendkeys او يجب استخدام ال ascii

انتظر ردكم بفارغ الصبر مشكووورين

#2

ما هي اللعبة؟

google.gif

spamxk4.gif

petitionbanner17a.gif

Email : sao_-5000@hotmail.com

#3

أرجوا أن تعطينا اللعبة نفسها حتى نحل المشكلة التي بها

#4

بسم الله

جرب الكود ده

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte,Val dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const VK_SPACE = &H20
Private Sub Timer1_Timer
Keybd_Event VK_SPACE ,0 ,0 ,0
End Sub

بس معلش انا مستغرب طيب ليه تعمل Space على طول وليه متعملهاش من اللعبة نفسها وخلاص

#5

اعتقد ان ارسال الفراغ صحيح لكن قد تكون المشكلة في استقبال هذا الفراغ والتعامل معه

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

Private Sub Form_KeyPress(KeyAscii As Integer)
if KeyAscii  =32 then
'do anything
endif
End Sub
#6

مشكوووووووووورين اخواني للتفاعل فعلا شجعتوني

اللعبة اسمها chicken invaders 2 وهي لعبة بسيطة ولكن انا واصدقائي نتحدى من يلعبها افضل

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

وساقوم بتحميل اللعبه علي ال rapid share لتجربوها

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

واعتقد ان خاصية keypreview كما قال عزيزي طارق ممكن ان يكون لها دور ولكن انا لم ابرمج اللعبة وبالتالي لا اقدر على تغيير اي شيء بها

وانما هدفي ان استخدم الفيجوال

وبالنسبة لكود الاخ امير ساقوم بتجريبه وسارد لك خبر ان شاء الله مشكوووور لتعاونك

اخواني عمر وسعد ساقوم بتحميل اللعبة وساضع اللينك مباشرة

تحياااااااااااااتي للجميع

#7

اعزائي هاي اللينك الخاص باللعبة

http://rapidshare.com/files/45743375/ChickenInvaders2Xmas.rar

اسف الموضوع تافه ولكن المبدا يستحق المحاوله

انتظر ردودكم

وانا حاليا سافتح الفيجوال لتجريب الكود

تحياااااااااتي

#8

بسم الله

مفيش حاجة اسمها موضوع تافه كل المواضيع مهمه

وكل فكرة بتبدأ بحاجة تافهه وتنتهي بشيء دميل جدا والدليل مشروع التخرج بتاعي (ولا داعي للشرح) :lol:

#9
Amir Imam كتب:
بسم الله

جرب الكود ده

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte,Val dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const VK_SPACE = &H20
Private Sub Timer1_Timer
Keybd_Event VK_SPACE ,0 ,0 ,0
End Sub

بس معلش انا مستغرب طيب ليه تعمل Space على طول وليه متعملهاش من اللعبة نفسها وخلاص

اخي العزيز انا بجرب بالكود ولكن في خطا اعتقد انه هنا

Val dwFlags As Long

وقمت بتعديله ل

byVal dwFlags As Long

وجاري تجربته مع اللعبة

تم تعديل هذه المشاركة بواسطة sad85man في 29 يوليو 2007 في 17:47

#10

بسم الله

صح اكيد ممكن يكون في خطا لاني كتبت الكود بايدي مش نسخته ... انا اسف

#11

السلام عليكم اخي امير

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

ولكن كل هدفي كان التاكد قبل التجربة

ولكن للاسف الكود لم يفلح مع اللعبة ولكنه شغال 100% جربته مع الوورد

وانتظر محاولاتكم مع اللعبة

تحيااااااااااااااااااااااااااااااااااااتي

#12

مشكوووووووووووووووووووووووووور اخي امير لكلامك الجميل وردك اللطيف

وبازن الله الفرصه تيجي وتشرحلي عن مشروع تخرجك

#13

أخي الكريم الظاهر أن اللعبة لازم تتتبعها بإستخدام إحدى برامج تتبع الأسمبلي ‘ذهب إلى قسم الأسمبلي وستجد ما أقصد.

google.gif

spamxk4.gif

petitionbanner17a.gif

Email : sao_-5000@hotmail.com

#14

بسم الله

جزاك الله خيرا اخي العزيز

طيب ممكن اعرف هو انت اللي برمجت اللعبة دي؟ ولو انت اللي برمجتها طيب ايه هو المحرك الي عملتها بيه ؟

اكيد هيكون في طريقة برمجية من جوة اللعبة توصل للي انت عايزه

#15
Saad AL.Moosa كتب:
أخي الكريم الظاهر أن اللعبة لازم تتتبعها بإستخدام إحدى برامج تتبع الأسمبلي 'ذهب إلى قسم الأسمبلي وستجد ما أقصد.

مشكووووووووووور اخي ولكن للاسف ليس لدي خبرة بالاسمبلي

ولكن ساحاول

تحياااااتي

#16
Amir Imam كتب:
بسم الله

جزاك الله خيرا اخي العزيز

طيب ممكن اعرف هو انت اللي برمجت اللعبة دي؟ ولو انت اللي برمجتها طيب ايه هو المحرك الي عملتها بيه ؟

اكيد هيكون في طريقة برمجية من جوة اللعبة توصل للي انت عايزه

اخي الغالي للاسف مش انا الي برمجت اللعبة دي

هي جاهزه كده زي ما هي اخدناها من واحد صاحبنا

#17

بسم الله

كده انا فهمت فكرتك مظبوط ... وهي بصراحة فكرة جميلة وذكية ... بس مش عارف مش عايزة تنفع ليه

بس اعتقد زي ما قال الاخ سعد هتلاقي الحل عند بتوع الاسمبلي

وربنا يوفقك

#18

لا أعتقد أن لقسم الأسمبلى أنفراد بالحل , عموما أول مشكلة ممكن أتخيلها هى الأعتماد على الـ Standard VB Timer اللى هو بيتأثر بسهولة بأى حمل على النظام , و بالتالى ممكن ننقل الى API Timer .

#19

ممكن أخي msayed2004 كيف يمكنني وضع تايمر API؟؟

google.gif

spamxk4.gif

petitionbanner17a.gif

Email : sao_-5000@hotmail.com

#20

اخي msayed2004 ما هو ال API تايمر

انا فعلا فكرت ان المشكلة من التايمر ولكن اعتقد ان اللعبة تعطله تماما لانه لا يعمل اي مفعول بعد تشغيلها

وسؤالي هل من الممكن ان نستخدم LOOP ولكن هل من الممكن ان نضع فيها ما يمنع الدخول في INFINITE LOOP

ومشكور اخي سعد لمحاولاتك

#21

مرفق API Timer من تصميم واحد أسمه Wokawidget , و أنا كنت محوله من DLL لـ ActiveX control و طبعا يستحسن أستعمال كـ Usercontrol على طول.

Wokawidget_API_Timer.rar

#22

اخي msayed2004 عندي مشكلة

هنا خطا يحدث عندما احاول استخدام التايمر API على الفورم الخاص بي

يعطي

COMPILE ERORR

user defined type not defined

(WithEvents mobjTmr As APITimer)

ما المشكلة واسف للازعاج

#23

لأنك أستعملت الـ Control لوحدها ( وكمان لم تقرأ سطر واحد منها , ليه بس ) , الأداه تحتاج أيضا الى الـ Class Module و الـ Module الموجودين بنفس المرفق.

#24

والله كنت مستعجل جدا جدا وعايز اجربها على اللعبة

ومفكرتش اركز فيها اوي

ولكن زبطت وعملت الكود المطلوب باستخدامه ولكنه لم ينجح ايضا مع اللعبه

وانا تقريبا فقدت الامل

#25

بدل وظيفة Sendkeys هنعمل تجربة , خللى الكود يعمل ملف و يكتب فيه قيمة تزيد بأستمرار أو حتى الوقت , شغل اللعبة , ألعب شوية , أغلقها و شوف الملف فيه ما يدل على أن البرنلمج كان شغال أثناء اللعب أم ما ؟!

أن كان شغال يبقى يمكن تكون اللعبة مؤمنة بطريقة ما.

هذا الموضوع مغلق.

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

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

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

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

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