PDA

View Full Version : بدست آوردن کد کلید فشرده شده



mehdi_moosavi
جمعه 27 شهریور 1383, 16:27 عصر
سلام دوستان
من بوسیله دستور زیر کد کلید فشرده شده رو بدست میارم و متناسب با اون کد
روالی رو که لازمه فراخوانی میکنم

Byte(Key);ولی این دستور برای بعضی از کلیدها مثل کلید جهت بالا یا جهت پایین عمل نمیکنه.
حالا چطور میشه کد این کلیدها رو در داخل برنامه بدست آورد.
مثلا کلیدهای جهت بالا یا جهت پایین یا Back Space
متشکرم

moradi_am
جمعه 27 شهریور 1383, 17:25 عصر
باید در رویداد onkeyUp,onkeyDown از کدهای مربوطه استفاده کنید .
برای دیدن کدها این تاپیک را در help دلفی ببینید :

Virtual key codes
مثال :


VK_LEFT Left Arrow key
VK_UP Up Arrow key
VK_RIGHT Right Arrow key
VK_DOWN Down Arrow key

MSK
جمعه 27 شهریور 1383, 20:42 عصر
کد این کلید ها دوبایتی اند. بنابر این فکر میکنم این رویداد برای این کلید ها دوبار صدازده میشه. :?
دفعه اول مقدار آنها 0 و دفعه دوم مقدار کلید که البته به یاد ندارم. :متفکر:

mehdi_moosavi
جمعه 27 شهریور 1383, 21:52 عصر
مشکلم حل شد.
متشکر از جوابتون. :flower:

فریدی
شنبه 28 شهریور 1383, 01:47 صبح
اگه لطف کنید یک مثال هم بزنید که دیگه نور علی نور میشه.

MSK
یک شنبه 05 مهر 1383, 20:47 عصر
مقصود شما کیه؟ :|

بهر حال برای نمونه: احتمالا همون طور که خودتون می دونید توی پاسکال از مثالا form1.onkeypress خبری نبود پس هر وقت می خواستی اطلاعاتی دریافت کنی تابع مربوطه read بود-هر وقت می خواستی ببینی آیا کلیدی زده شده KeyPressed که البته فقط در هنگام فشرده بودن کلید true بود- و هر وقت می خواستی ببینی اون کلید چیه readkey که البته اگه ماقبل احضار اون کلیدی زده نشده باشه منتظر اون کلید می مونه.

حالا اگه هنگام انتظار این تابع کلید کنترلی زده بشه تابع 0# بر می گردونه! :o
حالا اگه بلافاصله دوباره تابع صدا بشه قاعدتا تابع باید دوباره منتظر بشه ولی تابع عددی بر میگردونه و بلافاصله به کار خود پایان می ده! :shock:
مقصود از این رفتار اینه که کد کلید دوبایتی بوده که بخش اول اون 0 بوده. :متفکر:

من میدونم هنوز کد این کلید ها دو بایتیه پس حدس میزنم یا با فشار دادن این کلیدها onkeypress صدازده نمیشه یا دوبار صدا زده میشه! :متفکر:

اگه دوستان جواب رو میدونن ماهم خوشحال میشیم که بدونیم! :مخالف:

Mohammad S
یک شنبه 05 مهر 1383, 22:20 عصر
آقای مرادی فرمودند در OnKeyDown و OnKeyUp نه OnKeyPress. در دو رویداد اول،‌ کد کلیدها، دوبایتی یعنی از نوع Word ولی در رویداد سوم، از نوع char می باشد. :wink:

MSK
چهارشنبه 08 مهر 1383, 19:54 عصر
بله-متوجه اشتباهم شدم ببخشید.
ولی آیا onkeypress در پاسخ به کلید های کنترلی صدا زده نمی شن؟ :?:
برام جالبه که جوابشو بدونم. :قهر:

Mohammad S
چهارشنبه 08 مهر 1383, 23:44 عصر
لااقل من بلد نیستم. :!:

MSK
پنج شنبه 09 مهر 1383, 20:04 عصر
:shock: