PDA

نسخه کامل مشاهده نسخه کامل : کدهای ascii در c#



Iman System
17-11-2008, 19:38
چرادر جدول ASCII کد 37 برابر % هستش ولي موقع استفاده در c# معني کليد جهت نماي چپ رو ميده؟
(e.KeyValue==37)
در ضمن کليدهاي تابعي F1..F12 اصلا ذکر نشدن!
يا مثلا چطور ميشه فهميد که طرف چه کليدهاي ترکيبي رو فشار داده مثل shift+f2 یا ctrl+alt+del ?
در c هم جالبه با کد زیر میشه چی فهمید
#include <iostream>
#include <conio.h>
using namespace std;
main()
{
for (;;)
{
char a,b;
cout << "press Insert key...";
a=getch();
b=getch();
if (a==(char)-32 && b==(char)82)
cout << "\nYes\n";
else
cout << "\nNo\n";
{
{

hamidreza_buddy
17-11-2008, 21:02
اگه توی یه کنترل رویداد KeyDown رو هندل کنید، می تونید اینکه کدوم کلید زده شده رو به راحتی به دست بیارید:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

آموزش تصویریش اینجا هست:

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

البته کد هایی که استفاده می کنه اسکی نیست و همونطور که گفتید 37 معادل چپ هست. می تونید لیست مقادیری که جهت نمایش دادن کاراکترها استفاده می شود را از اینجا بگیرید:

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

Iman System
17-11-2008, 22:27
1) کدهای گفته شده در msdn بعضی هاشون مثل A , B مربوط به کد ascii اونهاست ولی بقیه ی کدها کد ascii نیستن ! (هنوز هم نفهمیدم فرق این کدها با کدهای ascii چیه)
2) هنوز هم به کلیدهایی مثل shift+f2 یا ctrl+alt+delete دسترسی ندارم!
3) توی c چطور به کلیدهای کنترلی و تابعی دسترسی داشته باشم؟

hamidreza_buddy
18-11-2008, 16:27
باید از اون کنترلت یه کلاس جدید ایجاد کنی و متد ProcessCmdKey رو override کنی:

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

بعد هم کد رو توش بنویسی:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این روش توی کنترل های مختلف (مثلاً Grid) عمل می کنه و خیلی به درد بخوره.



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

برای سی هم getchar کنید ببینید کلیدی که می زنید رو قبول می کنه. البته بعید می دونم توی کنسول قبول کنه.