Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Gantzer61
6 / 6 / 4
Регистрация: 11.12.2011
Сообщений: 142
1

Ввод русских букв

25.01.2013, 21:09. Просмотров 1195. Ответов 1
Метки нет (Все метки)

Создал функцию для проверки ввода только русских и английских букв в которую отсылаю Key с метода onKeyPress. Проблема в том что код работает с англиканской раскладкой отлично, а вот с русской уже проблемы.
Вот код:

Delphi
1
2
3
4
5
6
7
8
function vvod(s:char):Boolean;
begin
  if (s in ['А'..'я','A'..'z',#08]) = True then
    result:=true
  else
  if (s in ['0'..'9',#08]) then
    result:=false;
end;
Delphi
1
2
3
4
5
6
7
8
9
procedure Tglavmenu.DBEdit6KeyPress(Sender: TObject; var Key: Char);
begin
if vvod(key)=true then
begin
key:=AnsiUpperCase(key)[1];
end
else
key:=#0;
end;
Надеюсь на ваш опыт и знания.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2013, 21:09
Ответы с готовыми решениями:

Ввод русских букв
Доброго времени суток. Я пишу программу, где нужно вводить Имена русскими буквами. Но Когда я...

Ввод и отображение русских букв
Попался вот такой экзаменационный билет: Напишите программу, которая допускает ввод и...

Не работает ввод русских букв в Edit
Всем доброго времени суток! При вводе в Edit мне нужно, чтобы работали только русские буквы....

Дан текст из строчных русских букв. Подсчитать количество гласных букв в тексте
Дан текст из строчных русских букв. Подсчитать количество гласных букв в тексте.

Вместо русских букв кваказябра
В ответе сервера вместо русских букв вот такая хрень:=месяцев назад. Как превратить это...

1
Одиночка
3937 / 1862 / 337
Регистрация: 16.03.2012
Сообщений: 3,869
25.01.2013, 22:05 2
Вообще-то корректнее, да и красивее, было бы писать функцию так:
Delphi
1
2
3
4
function vvod(s:char):Boolean;
begin
  result:=(s in ['А'..'я','A'..'z',#08]);
end;
Но всё отрабатывает и так правильно. Правда, по твоему коду получится что при нажатии разделителей - значение функции неопределено.
А проблемы с кирилицей, скорее всего, связаны с кодировкой оной в базе данных, с которой связывается Edit. Но тут уже я не в теме. Может в разделе, связанным с БД смогут объяснить.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2013, 22:05

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Вопросы вместо русских букв
у меня windows XP, пишу программы на Delphi 7 lite full edition проблема в том, что в некоторых...

ROT13 для русских букв
Помогите разобраться с русскими буквами при шифровании в ROT13! Английские нормально шифруются и...

Вместо русских букв иероглифы
Сделал консольное приложение, а вместо русских букв - иероглифы, как это исправить?


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.