21-03-2005, 20:34
|
|
|
|
חבר מתאריך: 04.08.02
הודעות: 4,468
|
|
כמובן שכחתי להוסיף דוגמא לכך (כמובן הקוד הבא לא אמור לעבוד בכל מערכת).
קוד:
#include <stdio.h>
#include <conio.h>
enum
{
KEY_ESC = 27,
ARROW_UP = 256 + 72,
ARROW_DOWN = 256 + 80,
ARROW_LEFT = 256 + 75,
ARROW_RIGHT = 256 + 77
};
static int get_code ( void )
{
int ch = getch();
if ( ch == 0 || ch == 224 )
ch = 256 + getch();
return ch;
}
int main ( void )
{
int ch;
while ( ( ch = get_code() ) != KEY_ESC ) {
switch ( ch ) {
case ARROW_UP:
printf ( "UP\n" );
break;
case ARROW_DOWN:
printf ( "DOWN\n" );
break;
case ARROW_LEFT:
printf ( "LEFT\n" );
break;
case ARROW_RIGHT:
printf ( "RIGHT\n" );
break;
}
}
return 0;
}
|