PDA

View Full Version : سوال: فشرده شدن یک کلید



deathdemon
جمعه 04 تیر 1389, 11:22 صبح
سلام به برنامه نویسان گل
من یه سوال نیمه فنی داشتم !!
می خواستم ببینم راهی هست که زده شدن کلیدی در زمان اجرای برنامه رو بدست آورد برای مثال میگم


ch=getch()
این دستور کلید زده شده روی کیبورد رو به شما میده اما مشکلی که هست برنامه رو متوقف می کنه یعنی درست مثل دریافت کردنه برنامه صبر میکنه تا شما کلیدی رو بزنید و بعد ادامه پیدا کنه من می خوام همین کار انجام بشه یعنی کلید زده شده روی کیبورد رو بهم بده اما این کار رو زمانی انجام بده که کلیدی زده شد !! امیدوارم تونسته باشم منظورم رو برسونم !

یه توضیح هم از کاری که می خوام انجام بدم میدم تا شاید راهی پیدا شد !!

من یه منو دارم و می خوام با موس و کیبورد روش کار کنم به صورت هم زمان !! در حال استفاده از کیبورد همین موضوع ch=getch جواب میده شما صبر می کنید که کاربر کلید رو بزنه و اون کار رو انجام بدید در مورد موس هم همین طور شما وقتی کلیدی از موس زده شد کار رو انجام میدید اما وقتی بخوایم این دوتا با هم باشن مشکل میشه «یعنی همون طوری که کاربر داره از کلید های صحفه کلید استفاده می کنه از موس هم استفاده کنه »
تو حالت استفاده از هر دو مشکل اینجاست که حرکات موس لحظه ایه یعنی مثلاً متغییر چپ کلیک شما وقتی روی مختصات 100 و 100 فشرده میشه و شما می خواین این و چک کنید باید در همون لحظه که فشرده میشه این موضوع رو چک کنید یعنی نیاز به یک حلقه دارین اما وقتی این و با کیبورد ترکیب می کنید به محض رسیدن به دستور دریافت کلید از کیبورد برنامه متوقف و منتظر زده شدن کلیک میشه که تو کار موس اختلال ایجاد می کنه

اگه میشه راهنمایی کنید واسه پروژه برنامه سازیم لازمش دارم :افسرده:

tdkhakpur
جمعه 04 تیر 1389, 11:55 صبح
در حالت زیر فقط زمانی که کلید فشار داده شد مقدار میگیرد


if( kbhit() )
ch = getch();