PDA

نسخه کامل مشاهده نسخه کامل : استفاده از کد کلیدهای چاپ نشدنی



medalion
12-12-2007, 11:53
سلام
می خوام برنامه ای بنویسم که با استفاده از arrow keys عملی را انجام بدم.مثلاً رشته ای رو با arrow keys در صفحه جابه جا کنم. اما چه جوری از کد ای کلیدها استفاده کنم؟

m3hrz4d
13-12-2007, 16:32
برای خوندن کلید هایی مثل Arrow Keys باید 2 بار از تابع getch پشت سر هم استفاده کنی.روش کار getch به این صورته که برای کاراکتر های معمولی مستقیما کد اسکی شون رو(به نوعی خودشون رو) برمیگردون اما وقتی یک کلید مثل Arrow Keys فشار داده میشه اگه 2 بار getch فراخوانی بشه بار اون 0 یا 0xE0 (اگه خروجی رو char بگیری بجاش 32-) و بار دوم Key Code دکمه ی زده شده رو برمیگردونه. برای اینکه بهتر متوجه بشی:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این کد تا وقتی که کلید Ctrl+Z رو نزنی ادامه پیدا میکنه و هر کلید دیگه ای که بزنی خروجی getch رو نشون میده.
اینم یه کد دیگه برای تشخیص کلید های کاراکتر های معمولی و کلید های Arrow و امثال اون ها :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

یعنی وقتی KeyCode رو میگیری باید ببینی اگه 0 یا 0xE0 هست یه بار دیگه getch رو بزنی تا Keycode کلید مربوطه رو بگیری.