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

مشكلة - الماوس يحتفظ بقيمته حتى تشغيل البرنامج مرة أخرى!

مغلق
بدأه إسماعيل ابراهيم في 31 أكتوبر 2002 · 5 رد · 391 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم!

-------------------

كتدريب على درس الاخ خالد المصري حول الماوس في الدوس وبدمج ملاحظة الاخ tmaaa بإستخدام int56 قمت بكتابة كود وظيفته إظهار الماوس وتعقبه وتحديد مكان الضغط واذا كان الزر الذي ضُغط هو الايمن ينتهي البرنامج! (كما ترون برنامج فارغ بس للتدريب) المشكلة أنني وضعت البرنامج في حلقة - وحددت بأن الحلقة تنتهي عندما تقون قيمة الزر 2 (الايمن) - في المرة الاولى عندما اشغل البرنامج يعمل 100% , لكن في المرة الثانية يتوقف البرنامج فورا (وذلك لأن قيمة الزر بقيت محفوظة في ax منذ المرة السابقة التي شغلت فيها البرنامج وبهذا يتحقق شرط الخروج من الحلقة فور تشغيل البرنامج - فينتهي البرنامج)...

كيف يمكنني تصفير هذه القيمة في كل مرة اشغل فيها البرنامج.

:confused: (f)

#2

مشكلة لا اذكر انها قابلتنى من قبل واعتقد انه من الأفضل لو وضعت الكود كمرفق مع ردك لرؤيته و من ثم مناقشته :)

خالد

#3

سأضع الكود هنا باذن الله.

#4
//////////////////////////////////////////////

#include
#include
#include
void ShowMouse()
{
	union REGS regs;
	regs.x.ax=0x1;
	int86(0x33,&regs,&regs);
}
int MouseClick(int* X,int* Y)
	{
	int button;
	union REGS regs;
	regs.x.ax=0x5;
	regs.x.bx=0x0;
	int86(0x33,&regs,&regs);
	*Y=regs.x.dx;
	*X=regs.x.cx;
	button=regs.x.ax;
	return button;
	}
main()
{
 int x,y,btn;
 ShowMouse();
 clrscr();
 while(1)
 {

 btn=MouseClick(&x,&y);
  gotoxy(50,20);
  printf("x coordinate is %d       ",x);
  gotoxy(50,21);
  printf("y coordinate is %d       ",y);
if (btn==2)break; //Right Click!
 }

 }



////////////////////////////////////////////
#5

آسف يا أخوان.,,

انا أخطأت,, فالدالة التي استخدمتها (5×0) ليست هي المناسبة - لقد فهمتها خطأ ..

والان تصحح عندي الخطأ....

عندما استخدمت الدالة 3 بدل منها تم كل شيء على ما يرام...

= ==

شكرا للاخ خالد وكل من حاول المساعدة .....

#6

العفو يا سمعه :) احنا فى الخدمة

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

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

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

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

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

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