Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.12.2007, 01:19
Lacrima Lacrima вне форума
Прохожий
 
Регистрация: 08.12.2007
Сообщения: 3
Репутация: 10
По умолчанию Т9

Помогите пожалуйста, уважаемые люди-программисты! Нужно создать аналог программы Т9 из сотовых телефонов в Дельфи. Единственное, на что меня хватило - создать форму, аналогичную клавиатуре сотового телефона. А что дальше делать - ума не приложу...
Ответить с цитированием
  #2  
Старый 08.12.2007, 12:49
Rosenkrantz Rosenkrantz вне форума
Активный
 
Регистрация: 04.12.2007
Адрес: Москва
Сообщения: 234
Версия Delphi: Delphi 7
Репутация: 40
По умолчанию

Написал было ответ, потом подумал и понял, что написал фигню, ответ стер.
А скажите, насколько точно должен функционал программы повторять T9? Т.е. например - перебор слов? Смена регистра?
Или достаточно будет просто по мере нажатия кнопок выбирать подходящее слово?

Последний раз редактировалось Rosenkrantz, 08.12.2007 в 17:29.
Ответить с цитированием
  #3  
Старый 08.12.2007, 17:50
Аватар для Wipahacker
Wipahacker Wipahacker вне форума
Начинающий
 
Регистрация: 01.06.2007
Адрес: ДОНЕЦК
Сообщения: 112
Репутация: 10
По умолчанию При написании такой программы можно использовать простой *.txt или *.DAT файл с набор

При написании такой программы можно использовать простой *.txt или *.DAT файл с набором слов на каждую букву!
Не обязательно в массиве указывать бесконечно набор слов а легче обратится к файлу с набором слов...
В общем на когда нужна тебе эта программа ?
Ответить с цитированием
  #4  
Старый 08.12.2007, 22:41
Lacrima Lacrima вне форума
Прохожий
 
Регистрация: 08.12.2007
Сообщения: 3
Репутация: 10
По умолчанию

Можно по мере нажатия кнопок выбирать подходящее слово, только первыми должны выскакивать наиболее употребляемые слова (как и в телефоне), т.е., как я полагаю, нужно использовать вероятности букв-слов.. Вот это-то и вводит в ступор!
Насчет сроков - жетально чем скорее, тем лучше. Где-нибудь на следующей неделе. Спасибо огромное!

Последний раз редактировалось Lacrima, 08.12.2007 в 22:48.
Ответить с цитированием
  #5  
Старый 09.12.2007, 09:39
Rosenkrantz Rosenkrantz вне форума
Активный
 
Регистрация: 04.12.2007
Адрес: Москва
Сообщения: 234
Версия Delphi: Delphi 7
Репутация: 40
По умолчанию

Вот чего написалось в итоге (во вложении).

Основная идея такая - при нажатии кнопки с буквами находим перебором все возможные комбинации этих букв и проверяем - нет ли в словаре слов, начинающихся с такой комбинации. Если есть - добавляем комбинацию в список возможных вариантов. При нажатии следующей буквы повторяем цикл сначала.

Словарь представляет собой простой текстовый файл, одна строчка - одно слово. Имя словаря такое же как у exe-файла с расширением ".dic". Обязательно в словаре должен быть алфавит:
а
б
..
я

Остальные слова можно вбивать какие хотите.

После первого использования программы строчки в словаре приобретут вид "x;str", где "x" - эмпирическая частота использования слова, "str" - само слово. При этом в словарь по-прежнему можно добавлять слова.

Частота определяется эмпирически - т.е. чем чаще слово используется в наборе, тем "выше" оно всплывает в словаре. Таким образом, наиболее употребимые слова будут предлагаться чаще. Слово считается использованным если нажат пробел или точка.

Тут есть еще над чем поработать - когда длина слова приближается к 10, поиск заметно тормозит. Т.е. надо бы оптимизировать, но, поскольку такой производственной необходимости у меня нет, то и не буду

Интересная задачка, спасибо.
Вложения
Тип файла: 7z T9Emu.7z (14.5 Кбайт, 74 просмотров)

Последний раз редактировалось Rosenkrantz, 09.12.2007 в 09:47.
Ответить с цитированием
  #6  
Старый 09.12.2007, 22:12
Burka Burka вне форума
Начинающий
 
Регистрация: 10.06.2007
Сообщения: 163
Репутация: 10
По умолчанию

ихмо, бд делать надо =)
а слова выбиратся запросом будут.
Сформировать условие выборки из этого самое сложно, где должны быть перечислены все варианты букв в зависимости от нажатых кнопок.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:48.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter