PDA

View Full Version : کد اسکی کلیدهای جهت نما



sadegh-hut
سه شنبه 18 خرداد 1389, 03:25 صبح
:افسرده::افسرده::خجالت::خجال :

يه سوال كوچيك داشتم :

كد اسكي كليد هاي جهت نما هركدام جداگونه چيه ؟؟؟:خجالت::خجالت:
< ^ > !

masterprogrammer
سه شنبه 18 خرداد 1389, 09:24 صبح
کلیدهای جهت نما منظورتون همینایی که نوشتینه؟!!
فکر کنم اینا باشن:
> 62
< 60
^ 94

sadegh-hut
سه شنبه 18 خرداد 1389, 11:46 صبح
پس جهت پايين چي شد???
آخه جهت پايين رو چه جوري با صفحه كليد برات ميكشيدم???
حالا دست درد نكنه جهت پايين رو هم بگو!

sadegh-hut
سه شنبه 18 خرداد 1389, 12:23 عصر
همينا رو كه گفتي بايد چطوري استفاده كنم ؟؟؟؟؟؟

ببين مثلا اگه كليد راست زديم نوشته يا چيز ديگه اي كه مي خوايم رو به سمت راست ببره ! همين طور براي بقيه ي كليد ها.

ممنون!

saber187518
سه شنبه 18 خرداد 1389, 15:20 عصر
با سلام دوست عزیز
کد اسکی
چپ:37
بالا:38
راست:39
پایین:40
هست. برای استفاده از این اعداد شما باید کد اسکی کلید فشرده شده رو بدست بیاری و بعد کار مورد نظر خودتو انجام بدی.
مثلا یکی از راه های بدست آوردن کد اسکس استفاده از getch هست.
موفق باشی

sadegh-hut
سه شنبه 18 خرداد 1389, 23:51 عصر
ببين اين چيزيه كه من فهميدم :



char ch=getch();
if(ch=='0')
exit(0);
switch(ch){
case 38: j-=30; if(j<140) j=380;break;
case 39: i+=30; if(i>360) i=120;break;
case 40: j+=30; if(j>390) j=140;break;
case 37: i-=30; if(i<120) i=360;break;
}
اما جواب نداد:ناراحت::ناراحت:

kiss_my_l0ve
دوشنبه 18 بهمن 1389, 11:07 صبح
از این دستور هم میتونی استفاده کنی

Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal nVirtKey As Long) As Integer
Private Sub Timer1_Timer()
If GetAsyncKeyState(38) Then MsgBox "up"
End Sub

quiet_programmer
دوشنبه 18 بهمن 1389, 12:35 عصر
با سلام.

برو به لینک زیر

http://barnamenevis.org/showthread.php?270505-تشخیص-اینکه-K-فشرده-شده-یا-کلید-جهت-نمای-چپ؟

shahmohammadi
چهارشنبه 14 اردیبهشت 1390, 12:11 عصر
:افسرده::افسرده::خجالت::خجال :

يه سوال كوچيك داشتم :

كد اسكي كليد هاي جهت نما هركدام جداگونه چيه ؟؟؟:خجالت::خجالت:
< ^ > !



با سلام دوست عزیز
کد اسکی
چپ:37
بالا:38
راست:39
پایین:40
هست. برای استفاده از این اعداد شما باید کد اسکی کلید فشرده شده رو بدست بیاری و بعد کار مورد نظر خودتو انجام بدی.
مثلا یکی از راه های بدست آوردن کد اسکس استفاده از getch هست.
موفق باشی
مي بخشينا(شايد الان خودتون هم مي دونيد، گفتم اگه يكي خواست بدونه برايش مشكلي پيش نياد).
كد اسكي فقط 256 تا داريم كه كد هاي 1 بايتي هستند و كار هر كدوم مشخصه.
اما كليد هايي مانند Esc Enter -> و... براي خودشون كد دوبايتي دارند كه به كدهاي اسكن معروفند.
علاوه براين تابع getch() فقط كليد هايي كه كد يك بايتي دارند رو مي گيره.
اين كدهايي هم كه گفتين درست نبودن.
كوچيكتون! امين.

KooRoSH_irooni
یک شنبه 19 تیر 1390, 03:22 صبح
مختصر...انشا الله که مفید:
بالا :72
پایین:80
چپ:75
راست:77
////////
Enter:13
Esc:27

یوسف زالی
یک شنبه 19 تیر 1390, 14:35 عصر
عزیز جان کد هایی که می گی اولشون 0 هست.
یعنی شما باید تست کنی اگر کد خوانده شده 0 هست کد رو دوباره بخونی تا به این اعداد برسی.
صفحه کلید برای کدهای این مدلی دو کد تولید می کنه که همیشه اولیش 0 هست.
از Arrow Keys بگیر تا Ctrl + Alt + delete

یوسف زالی
یک شنبه 26 تیر 1390, 20:58 عصر
اما كليد هايي مانند Esc Enter -> و... براي خودشون كد دوبايتي دارند كه به كدهاي اسكن معروفند.


این درست نیست.
کلید Esc کد 27 تولید می کنه و کلید Enter دو کد اسکی 10 و 13. کافیه مقایسه رو روی 13 بگذاریم.
کدهای اسکن وقتی با Getch دریافت میشن بایت اولشون صفره.

MPERSIA
شنبه 12 مرداد 1392, 20:58 عصر
پیداش کردم
به این لینک یه نیگاهی بندازین
http://forum.majidonline.com/threads/191606-%DA%A9%D8%AF-%D9%87%D8%A7%DB%8C-%D8%A7%D8%B3%DA%A9%DB%8C

brightening-eyes
دوشنبه 14 مرداد 1392, 06:10 صبح
سلام
یه مثال:


#include <stdlib.h>
#include <stdio.h>

char ch=getch();

int main()
{
if(ch===0027)
{
printf(escape key was pressed\ngoodby!");
exit(0);
}
switch(ch)
{
case 0013:
printf("the enter key was pressed");
break;
case 0072:
printf("up arrow key was pressed");
break;
case 0080:
printf("down arrow key was pressed");
break;
case 0075:
printf("left arrow key was pressed");
break;
case 0077:
printf("right arrow key was pressed");
break;
default:
break;
}}


امیدوارم به دردت بخوره