Re: Ввод символов
От: Alexander_S_U https://github.com/alexanders-code/cmdxmlinstaller
Дата: 28.03.04 09:11
Оценка:
Здравствуйте, LegionRoka, Вы писали:

LR>Как можно написать на С так чтоб вовермя ввода ряд символов например спомощью getche(); то если вдруг я бы нажал F1 то програма закочила бы ввод и начала делать что-то другое, а если это был не F1 то програма продолжыла бы приниать символы. Может надо использават не эту фунлцию. А какую и как?


Можно спомощью getche примерно так
#include <conio.h>
#include <stdio.h>

#define F1_KEY 59
void main(void)
{
  int key_kode;
  while(true)
  {
   key_kode=getche();
   if(key_kode==0 || key_kode==0xE)
   {
    key_kode=getche();
    if(F1_KEY==key_kode)
    {
     printf("%s", " F1 pressed ");
     break;
    }
   }
   //do something    
  }
}

Функция getche считывает oдин симвoл с кoнсoли и дает эхo считаннoгo симвoла, не мoжет быть испoльзoвана для чтения CTRL+C.
При считывании функциoнальнoй клавиши или клавиши движения курсoра,getche дoлжна быть вызвана дважды. Первый вызoв вoзвращает 0 или 0xE0, а втoрoй вызoв вoзвращает фактический кoд клавиши.
Вoзвращаемoе Значение
Считанный симвoл. Ошибoчных вoзвратoв не бывает.
https://github.com/alexanders-code/cmdxmlinstaller
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.