Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
sikilior
0 / 0 / 0
Регистрация: 23.12.2014
Сообщений: 9
#1

SDL ввод текста с клавиатуры и запись в массив - C++

03.07.2016, 17:55. Просмотров 198. Ответов 2
Метки нет (Все метки)

Мой код внизу он неправильный, но работает text[1]="a",text[2]="b" , text[3]="c" и так весь алфавит посимвольно.
Часть кода:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
char text[100];
int countr=0;
  if(Event->type == SDL_KEYDOWN)//Если нажата клавиша
      {
            if (Event->key.keysym.sym == SDLK_a)
            {
                             text[countr]='a';countr++;
                        }
            if (Event->key.keysym.sym == SDLK_b)
            {
                             text[countr]='b';countr++;
                        }
            if (Event->key.keysym.sym == SDLK_c)
            {
                             text[countr]='c';countr++;
                        }
       }
Нужно не писать кучу строк под каждый символ а считать по юникоду вот так:
C++ (Qt)
1
2
3
4
5
6
7
8
9
char text[100];
int countr=0;
if(Event->type == SDL_KEYDOWN )
{
        
        if( (Event->key.keysym.unicode >= (Uint16)'a' ) && (Event->key.keysym.unicode <= (Uint16)'z' ) )
        {
            text[countr] += (char)Event->key.keysym.unicode;countr++;
        }
Вариант кода "распознать символ по юникоду" и скопировать его в text не работает жму нечего не происходит! Помогите! как правильно сделать ввод с клавиатуры в SDL по юникоду!
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2016, 17:55     SDL ввод текста с клавиатуры и запись в массив
Посмотрите здесь:

C++ Ввод с клавиатуры русского текста
C++ Ввод с клавиатуры данных в массив
Ввод целого предложения в массив с клавиатуры C++
Организовать ввод слов с клавиатуры в массив C++
Ввод с клавиатуры данных в массив C++
Шифр цезаря, ввод текста с клавиатуры, вывод в файл C++
Массив(сумма, макс. число), ввод текста с клавиатуры и сохранение в *.txt C++
C++ Запись в матрицу по спирали (ввод чисел с клавиатуры)
Динамический массив. Ввод размерности с клавиатуры C++
Ввод с клавиатуры в массив C++
Ввод с клавиатуры данных и запись их в структуру C++
C++ Ввод данных в массив с клавиатуры

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DUMP
57 / 31 / 7
Регистрация: 22.02.2015
Сообщений: 257
03.07.2016, 18:36     SDL ввод текста с клавиатуры и запись в массив #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
sikilior,

C++
1
2
3
4
5
6
7
8
9
10
11
12
const Uint8 *Keys = NULL;
Keys = SDL_GetKeyboardState(NULL);
 
//if(Keys[SDL_SCANCODE_A]) { /*for example*/ }
 
char symbol;
for(int i = 0; i < 26; i++)
    if(Keys[4+i]) //Key[4] = 'A';
    {
        symbol = i+65;
        break;
    };
Max Dark
В поиске работы
1608 / 1409 / 504
Регистрация: 09.10.2013
Сообщений: 3,196
Записей в блоге: 8
Завершенные тесты: 2
03.07.2016, 18:43     SDL ввод текста с клавиатуры и запись в массив #3
sikilior, Думаю стоит попробовать SDL_TextInputEvent/SDL_TextEditingEvent
Yandex
Объявления
03.07.2016, 18:43     SDL ввод текста с клавиатуры и запись в массив
Ответ Создать тему
Опции темы

Текущее время: 06:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru