Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Ограничение ввода данных. / 4 сообщений из 4, страница 1 из 1
03.12.2005, 13:06
    #33415224
skorpk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение ввода данных.
Как можно сделать ограничение ввода данных? Надо так что бы пользователь вводил тока кирилицу и запретить ввод латиницы.
Можно ли это сделать с помощью MaskEdit в C++ Builder?
...
Рейтинг: 0 / 0
03.12.2005, 15:55
    #33415358
Гадёныш
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение ввода данных.
если компонент типа TEdit то сделай так...

при изменении поля считывай текст как анси, переводи в чар и анализируй посимвольно...
проще всего анализировать по Аски для латиници верхний регистр от 65 до 90 включая и нижний регистр от 97 до 122 включая... кирилица Верхний от 128 до 159, нижний от 160 до 175 и от 224 до 239

ещё посмотри в хелпе хедер ctype.h там есть функции для определения типа символов


для большого обьёма текста это плохой способ!
...
Рейтинг: 0 / 0
03.12.2005, 17:49
    #33415441
spectre
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение ввода данных.
Помести на форму обычный Edit.
В обработчике событий OnKeyPress напиши следующее
Код: plaintext
1.
2.
3.
4.
5.
6.
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
for (char c = 'А';c<='я';c++)
        if(c==Key)return;
Key =  0 ;
}
Примечание к
Гадёныш
при изменении поля считывай текст как анси, переводи в чар и анализируй посимвольно...
проще всего анализировать по Аски для латиници верхний регистр от 65 до 90 включая и нижний регистр от 97 до 122 включая... кирилица Верхний от 128 до 159, нижний от 160 до 175 и от 224 до 239

В Builder кодировка другая 'А' - 'я' эквивалентно от -64 до -1.
...
Рейтинг: 0 / 0
05.12.2005, 07:00
    #33416203
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение ввода данных.
spectre'А' - 'я' эквивалентно от -64 до -1вот только минусы тут не надо, ИМХО - неудобно.

В кодировке Win (Ansi видимо)

'а' ... 'я' = 0xE0 ... 0xFF, 'ё' = 0xB8
'А' ... 'Я' = 0xC0 ... 0xDF, 'Ё' = 0xA8
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Ограничение ввода данных. / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]