QUOTE(Гост @ Jul 31 2007, 06:43 PM)

Не, там си е и пак резултатът е същия...
Много странно.. Не вярвам в 5.02 да липсва bioskey-а, при условие, че го има в 5.0
Както и да е.. Ето кода с getch() вместо bioskey:
CODE
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define KEY_ESCAPE 27
#define KEY_UP 72
#define KEY_DOWN 80
#define KEY_ENTER 13
#define MENU_POSITIONS 5
#define ARROW_CHAR 16
char KeyPressed = 0,
NewMenuPosition = 0,
OldMenuPosition = 0,
QuitMenu = 0;
void DrawMenu();
void DrawMenuPositions();
void Actions();
void Quit();
void main()
{
_setcursortype( _NOCURSOR );
DrawMenu();
DrawMenuPositions();
while( !QuitMenu )
{
KeyPressed = getch();
OldMenuPosition = NewMenuPosition;
switch( KeyPressed )
{
case KEY_ESCAPE: QuitMenu = 1;
break;
case KEY_ENTER : Actions();
break;
case 0 : KeyPressed = getch();
if( KeyPressed == KEY_UP )
NewMenuPosition--;
else
if( KeyPressed == KEY_DOWN )
NewMenuPosition++;
}
if( NewMenuPosition < 0 )
NewMenuPosition = MENU_POSITIONS + NewMenuPosition;
if( NewMenuPosition >= MENU_POSITIONS )
NewMenuPosition-= MENU_POSITIONS;
if( NewMenuPosition != OldMenuPosition )
DrawMenuPositions();
}
Quit();
}
void DrawMenu()
{
clrscr();
printf( " MENU\n"
" 1. Item1\n"
" 2. Item2\n"
" 3. Item3\n"
" 4. Item4\n"
" 5. Quit\n\n\n"
" ESC - Quit" );
}
void DrawMenuPositions()
{
gotoxy( 2, OldMenuPosition + 2);
printf( "%c", 32 ); //space
gotoxy( 2, NewMenuPosition + 2);
printf( "%c", ARROW_CHAR );
}
void Actions()
{
switch( NewMenuPosition )
{
case 0 : // enter pressed on item1
break;
case 1 : // enter pressed on item2
break;
case 2 : // enter pressed on item3
break;
case 3 : // enter pressed on item4
break;
case 4 : QuitMenu = 1;
}
}
void Quit()
{
_setcursortype( _NORMALCURSOR );
gotoxy( 1, 24 );
exit( 1 );
}