Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Даже в голову нелезет!  (Прочитано 10788 раз)
0 Пользователей и 1 Гость смотрят эту тему.
MS
Помогающий

ru
Offline Offline
Пол: Мужской

« : 01-11-2007 15:05 » 

Есть список песен, запускаю поис по списку, как мне проверить если я пишу по-английски пример: dfcz, проверялось что это бред и переводилось на русское ВАСЯ, т.е. менялась раскладка в зависимости пишу я бред или нет. Спсибо.
Записан

Ничто так не ограничивает полёт мысли программиста, как компилятор
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 01-11-2007 15:23 » 

тут обсуждали Punto Switcher
а побольшому счету нужно иметь словарь и в словаре искать корректность слова, если нету в словаре - смотреть в альтернативном словаре в соответствии с раскладкой альтернативного языка
« Последнее редактирование: 01-11-2007 15:25 от Sla » Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #2 : 01-11-2007 15:29 » 

MS, да очень просто, всё что больше 127 однозначно кириллица, всё что меньше - ASCII. Те в твоём случае я вижу, что dfcz =  0x64 < 127 значит надо добавить смещение.  Смещение вычислить элементарно. Ну конечно поправку сделать, если у тебя UNICODE.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
MS
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 01-11-2007 19:25 » 

Джон, а можно как-нибудь пошире все это расписать.
Записан

Ничто так не ограничивает полёт мысли программиста, как компилятор
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #4 : 01-11-2007 21:20 » 

В смысле пошире? Тут ф-ции на пару строчек кода. Я проста на Дельфях не програмлю.

Смотри, все аглицкие буквы (большие и маленькие) находятся в первой части (<127) ANSI таблицы, тн ASCII - это стандарт. А всё что выше - занимается национальными символами.

Например:

Пользователь вводит "Вася", забывая при этом переключить раскладку, поэтому вводится "Dfcy" (у меня клава немецкая на ней z и y поменяны местами). В коде символов это выглядит так (всё в HEX):

 44 66 63 79

а должно быть (опять же пример для моей немецкой винды с кодовой страничкой Windows-1251 для кирилличной ANSI)

 C2 E0 F1 FF

Те как только ты обнаруживаешь символ с кодом меньше или равным 126 (7Е), автоматически исправляешь его. Можешь даже взять всё что меньше или равно z. Там после неё идут фигурные скобки, вдруг тебе понадобятся. Ну или уже если совсем чисто, то вот так я запишу условие в С++

TCHAR tch = введённый символ

if(  ( ( tch>='A' ) && ( tch<='Z' ) ) ||  ( ( tch>='a' ) && ( tch<='z' ) ) )
{
    ...
}

Тогда ты отлавливаешь только аглицкий текст. Это для случая когда например ты разрешаешь в тексте для поиска всё. Например надо найти строку

Вася^/^Петя

Ошибочный ввод выглядит

Dfcy^/^Gtny

Значки ^/^ лежат как раз между прописными и строчными буквами.

А ещё лучше если ты глянешь в таблицу как она устроена. Ага

Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
DemonicAlligator
Гость
« Ответ #5 : 12-11-2007 15:47 » 

А ещё можно попробовать искать слово в словаре Улыбаюсь
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #6 : 12-11-2007 15:58 » 

Синий Аллигатор,  а если не найдёшь? Ага
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Михалыч
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 12-11-2007 16:55 » 

Джон Улыбаюсь тогда - см. выше
если нету в словаре - смотреть в альтернативном словаре
ну, а если там не нашлось - тогда уж и переводить вчистую по кодам - правда тогда (наиболее вероятно) там окажется какая-нибудь абракадабра. А если повезет - новое слово для словаря Улыбаюсь
Мне лично так кааац-ца (С) Райкин
Записан

Поживем - увидим... Доживем - узнаем... Выживу - учту  Улыбаюсь
DemonicAlligator
Гость
« Ответ #8 : 14-11-2007 09:40 » 

а ещё можно искать в нескольких словарях, а предварительно по методу панто свитчера анализировать таблицу распределения символов... кстати, саму таблицу можно нагло свистнуть из FAR Manager-а Улыбаюсь
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #9 : 14-11-2007 10:18 » new

Михалыч, блиин прав. Я как-то совсем упустил из виду богатый словарный запас современных творений. Конечно производительность поиска по словарю будет в несколько раз выше, чем отслеживание каждого символа.
С другой стороны, каждое "новое" слово можно отфильтровывать в отдельный список, а его потом загонять песнедельцам за хорошие бабки - во-первых востребованные слушателями слова, во-вторых их ещё не использовали другие. Я думаю бизнес хороший можно сделать.
« Последнее редактирование: 19-11-2007 13:25 от Джон » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines