PDA

View Full Version : استفاده از کلید های مکان نما و fدر زبان c



ghalehnoey
یک شنبه 22 فروردین 1389, 06:03 صبح
با سلام
برای استفاده از کلید های f1 تاf10
و کلید های مکان نمادر زبان cباید چه مراحلی طی کنیم به طوری که هر کلید یک تابع را فراخوانی کند وکلید های مکان نما در صفحه حرکت کنند؟

hmrbesharat
یک شنبه 22 فروردین 1389, 12:29 عصر
دوست عزیز
کلیدهای جهت و f از 2 کاراکتر تشکیل میشند
به این ترتیب میتونیی انهارو تشخیص بدی
ch=getch();
printf("%d",ch);
ch=getch();
printf("%d",ch);(

به این ترتیب میتونیی با هر روشی که مایلی اونارو کنترل کنی

ghalehnoey
سه شنبه 24 فروردین 1389, 21:55 عصر
با تشکر از شما دوست عزیز
کسی راه حل ساده تری برای این کار نداره

user1101
سه شنبه 24 فروردین 1389, 23:08 عصر
خوب فکر کنم منظور شما این باشه که برنامت فشرده شدن این کلید ها رو تشخیص بده و بر اساس اینکه چه کلیدی فشرده شده یه عمل خاصی رو انجام بده

این کلید ها به همراه بعضی از کلیدهای ترکیبی دارای کدهای 2 بایتی هستند
اولین بایت همه صفر هست و دومین بایت مشخص کننده ی کلید هستش، جدول کدهای این کلید ها رو می تونی تو اینجا (http://brebru.com/asciicodes.html) در قسمت EXTENDED ASCII KEYBOARD CODES ببینی
برای خوندن این کدها باید از دو تا getch() پشت سر هم استفاده کنی ، بعدش باید مقادیری رو که getch() خونده بررسی کنی ، ببینی که کدوم کلید فشرده شده، می تونی اول از یه ساختار if استفاده کنی اگه بایت اولی صفر بود، برنامه وارد یک ساختار switch بشه و با توجه به مقدار بایت دومی عمل متناظر کلید مربوطه انجام بشه

برای اینکه با استفاده از کلیدها مکان نما کرسر رو حرکت بدی باید وقتی کلید راست فشرده می شه کاری کنی که کرسر روی همون سطر یک ستون به راست بره ، وقتی بالا فشرده می شه کرسر روی همون ستون یه سطر به بالا بره ، برای این کار باید از تابع gotoxy() به همراه دو تا متغیر که مقدار سطر و ستون رو نگهداری می کنن استفاده کنی

اگه بخوای من قبلا برنامش رو نوشتم می تونم کدش رو برات بزارم