![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проверка слов
Ghost del vonte © (2010-12-06 00:51:00)Доброго времени суток всем!
Возникла ситуация: мне необходимо произвести проверку, русское ли слово было введено в поле редактирования TEdit, подскажите пожалуйста как это можно осуществить?
Юрий Зотов (2010-12-09 21:31:00) [1]
> Медвежонок Пятачок © (06.12.10 10:30) [25]
> То есть "Баба-Яга" - это чисто ипонское слово.
Это даже целых два чисто ипонских слова.
Дмитрий Белькевич (2010-12-09 21:13:00) [2]Еще про версию Делфи забыли, ну да ладно.
Сергей М. (2010-12-06 20:31:00) [3]
> "Баба-Яга" - это чисто ипонское слово
А то !
Всё то что не произносится через "Ё", "чистарусским" не считается)
Ega23 (2010-12-06 16:52:00) [4]
> Хотя да, тогда можно будет по турецки вводить. Непорядок
> =)
По-турецки - это вряд-ли, а вот псевдографику, спец.символы и всякие длинные пробелы - пропустит. Цифры ещё.
Andy BitOff (2010-12-06 16:43:00) [5]Хотя да, тогда можно будет по турецки вводить. Непорядок =)
Andy BitOff (2010-12-06 16:40:00) [6]> Юрий Зотов © (06.12.10 01:35) [18]
> Точнее, так:
>
> if not (Key in [ #8, 'а'..'я', 'А'..'Я']) then
> Key := #0;
Тогда уж лучше, имхо
if Key in ['а'..'z', 'А'..'Z'] then
Key := #0;
И. Павел (2010-12-06 10:42:00) [7]> В русском слове могут засунуть и пару английских букв!
Критерии растут. Теперь еще и процент букв считать нужно...
Видимо, Microsoft решила переработать модуль проверки орфографии с учетом современных особенностей русского языка, чтобы не ругаться на слова вроде "Меdвеd", "спс" и пр. :)
> То есть "Баба-Яга" - это чисто ипонское слово.
А бабу-ягу можно cкопипастить через Shift+Insert или контекстное меню :)
Медвежонок Пятачок (2010-12-06 10:30:00) [8]> А еще лучше вставить проверку в обработчик OnKeyPress:
>
> if not (Key in ['а'..'я', 'А'..'Я']) then
> Key := #0;
То есть "Баба-Яга" - это чисто ипонское слово.
Anatoly Podgoretsky (2010-12-06 07:46:00) [9]> Димка На (06.12.2010 02:00:23) [23]
Ё моё
Димка На (2010-12-06 02:00:00) [10]а вот про ё забыли:)
Германн (2010-12-06 01:53:00) [11]
> Юрий Зотов © (06.12.10 01:44) [21]
Не хочу проверять. И так ясно, что она сработает как нужно.
Это я сглупил спутав keypress c keydown.
<offtop>
Если б ты только знал, сколько я прошлой ночью "принял на грудь"! Я и сам этого не знаю. :)
</offtop>
Юрий Зотов (2010-12-06 01:44:00) [12]
> Германн © (06.12.10 01:41) [20]
А ты проверь. Вдруг она все же будет работать...
:o)
Германн (2010-12-06 01:41:00) [13]
> if not (Key in [ #8, 'а'..'я', 'А'..'Я']) then
> Key := #0;
>
Значит клавишу Delete не любим.
Ghost del vonte (2010-12-06 01:37:00) [14]
> А еще лучше вставить проверку в обработчик OnKeyPress:
>
> if not (Key in ['а'..'я', 'А'..'Я']) then
> Key := #0;
Да, действительно! Благодарю!
Юрий Зотов (2010-12-06 01:35:00) [15]Точнее, так:
if not (Key in [ #8, 'а'..'я', 'А'..'Я']) then
Key := #0;
Юрий Зотов (2010-12-06 01:34:00) [16]А еще лучше вставить проверку в обработчик OnKeyPress:
if not (Key in ['а'..'я', 'А'..'Я']) then
Key := #0;
Ghost del vonte (2010-12-06 01:31:00) [17]
> Юрий Зотов © (06.12.10 01:28) [14]
Спасибо! Счаз проверю! За юмор тоже спасибо всем!))
Andy BitOff (2010-12-06 01:29:00) [18]Наконец-то выяснили =)
Ну дальше уже без меня, мне не интересно.
Юрий Зотов (2010-12-06 01:28:00) [19]> Ghost del vonte © (06.12.10 01:22) [10]
Не придется, все уже украдено до нас.
for i := 1 to Length(Edit1.Text) do
if not (Edit1.Text[i] in ['а'..'я', 'А'..'Я']) then
raise Exception.Create('Нерусская буква: ' + Edit1.Text[i]);
Ghost del vonte (2010-12-06 01:27:00) [20]
> А как быть со словом "уерцерцекуепуккапукп"? Оно полностью
> соотвествует правилам.
Важен не порядок букв, а то, какие они! В том то и дело, что надо определить - русские ли они? В русском слове могут засунуть и пару английских букв!