Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/29: Рейтинг темы: голосов - 29, средняя оценка - 4.69
 Аватар для mpdasa
5 / 5 / 1
Регистрация: 18.01.2010
Сообщений: 136

Собираюсь создать словарь, нуждаюсь в подсказке

10.07.2012, 19:55. Показов 6230. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Осваиваю по немногу делфи. На основе создания программы словаря хочу углубить своё небольшое знание языка.

Так вот вопрос. Мне нужно, чтобы при вводе слова словарь автоматически начинал показывать (предлагать) ближайшее по совпадению слово. Так как это делает например ABBYY Lingvo.

Кто не знает про Lingvo, поясню подробнее. Начинаю набирать. Ввёл букву "т", словарь перескакивает (в другом окне) на первое слово, начинающееся с "т", ввожу вторую букву "р", словарь перескакивает на первое сочетание "тр" и т. д.

Может у кого уже код готовый есть, чтобы можно было с ним поекспериментировать.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.07.2012, 19:55
Ответы с готовыми решениями:

Незнаю что делать, нуждаюсь в подсказке
У меня в программе имеется 3 Unit'a, но они не работают, выдает ошибку. помогите пожалуйста. а то я уже не знаю что делать. unit Unit2;...

Нуждаюсь в подсказке
всем привет, если кому не сложно, был бы рад помощи, какую БД изучать и почему (MySQL, MongoDB и т.д.)

Преобразования чертежа, нуждаюсь в подсказке!
Задание почти сделал, нуждаюсь в подсказке!!!!!!!!!!!! Препод сказал, что отрезок B1'A1' нужно продлить? Докуда продлить???????? Вот...

8
 Аватар для Alex_pac
1302 / 708 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
10.07.2012, 20:00
словать это ListBox в окне ?

тупо циклом перебирать
0
 Аватар для HanDi
898 / 345 / 65
Регистрация: 11.02.2012
Сообщений: 1,502
10.07.2012, 20:01
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm2.Edit1KeyPress(Sender: TObject; var Key: Char);
var
  sl: TStringList;
begin
   sl := TStringList.Create;
   sl.LoadFromFile('slova.txt');
   for i :=0 to sl.Count-1 do
    if Pos(edit1.text, sl[i] ) > 0 then
      begin
        listbox1.Items.add(sl[i]);
      end;
   sl.Free;
 
end;
Слова построчно загружай в файл slova.txt
1
 Аватар для Alex_pac
1302 / 708 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
10.07.2012, 20:03
ну если грузить чтото откудато, но надо подключать бд. И тогда вопрос о поиске ваще отпадет, достаточно составить нужный SELECT LIKE запрос
1
 Аватар для Одиночка
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
10.07.2012, 21:09
Вообще в ComboBox-е такой подбор уже реализован.
0
 Аватар для mpdasa
5 / 5 / 1
Регистрация: 18.01.2010
Сообщений: 136
11.07.2012, 08:24  [ТС]
Цитата Сообщение от Alex_pac Посмотреть сообщение
ну если грузить чтото откудато, но надо подключать бд. И тогда вопрос о поиске ваще отпадет, достаточно составить нужный SELECT LIKE запрос
А я так надеялся, что мне не придётся учить эти такие неинтересные бызы данных. Теперь уже не знаю, неужели придётся?!

Добавлено через 4 минуты
Цитата Сообщение от HanDi Посмотреть сообщение
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm2.Edit1KeyPress(Sender: TObject; var Key: Char);
var
  sl: TStringList;
begin
   sl := TStringList.Create;
   sl.LoadFromFile('slova.txt');
   for i :=0 to sl.Count-1 do
    if Pos(edit1.text, sl[i] ) > 0 then
      begin
        listbox1.Items.add(sl[i]);
      end;
   sl.Free;
 
end;
Слова построчно загружай в файл slova.txt
Если для словаря я использую один файл, то это озн., что и перевод слов там тоже должен быть (например через разделитель). Тогда получается, что когда я буду вводить слово, то слова в переводе тоже будут искаться.

Две проблеммы сразу возникают:
1 - то что будут тратиться время и ресурсы для ненужного поиска по всему файлу
2 - если словарь не анг-рус а анг-анг то такой метод поиска будет показывать часто не то, что надо. У меня как раз этот вариант. Словарь правда санскритско-английский, но для обоих словарей используется одна и та же латиница.
0
 Аватар для Санек25
422 / 352 / 19
Регистрация: 14.05.2012
Сообщений: 1,437
11.07.2012, 08:44
mpdasa, не советую. Наберись опыта потом... Лучше сделай как HanDi предложил

Добавлено через 2 минуты
mpdasa, если введешь русскую букву то русскую он тебе и найдет...

Добавлено через 7 минут
а сколько слов ты собираешься в свой словарь загнать??? Может есть смысл этот словарь откуда-то "позаимствовать"
0
 Аватар для mpdasa
5 / 5 / 1
Регистрация: 18.01.2010
Сообщений: 136
11.07.2012, 09:09  [ТС]
Цитата Сообщение от Санек25 Посмотреть сообщение
mpdasa, не советую. Наберись опыта потом... Лучше сделай как HanDi предложил

Добавлено через 2 минуты
mpdasa, если введешь русскую букву то русскую он тебе и найдет...
Ёще раз повторюсь. Если бы словарь был по формату: слово для поиска (латиница) - перевод (кириллица), то действительно, проблем не было бы.
Но у меня, как я уже написал, формат слово на санскрите (латиница) - английский перевод (та же латинница). Поэтому если при вводе санскритского слова такое же сочетание букв будет в переводе, то программа покажет не то, что нужно.

Мне бы вот это пока решить.

Хотя у меня планы такие, что в переводе могут быть целые предложения на санскрите, илюстрирующие употребления этого слова или же синонимы к этому слову. Поэтому в идеале мне бы полностью разграничить поиск по частям слово/перевод.

Конечно из этого можно выкрутиться определённым образом, но уверен, что есть способ получше.
Я могу писать каждую строку по формату:
[слово] перевод Закрывающая скобка служит разделителем. Поэтому если нашлось слово, которое я вводил, программа проверяет позицию слова, и если эта позиция (номер) больше чем номер позиции закрывающей скобки, то слово игнорируется и ищется следующее.....

Меня осенило! А ведь можно в аглоритме Handi просто дописать, что поиск в строке проискодит только до символа раделителя. Похоже, что это самый простой и нормальный вариант.

Добавлено через 7 минут
а сколько слов ты собираешься в свой словарь загнать??? Может есть смысл этот словарь откуда-то "позаимствовать"
Словарь у меня уже есть в вордовсом формате. С помощью Visual Basic for A. придам нужную форму файла. С этим проблем нет.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
11.07.2012, 10:53
2 файла, в первом слова, во втором словарные статьи к каждому элементу первого файла. Ищем элемент в первом файле, по его номеру выводим статью из второго файла.

Добавлено через 1 час 26 минут
Но все это для маленьких, тренировочных словарей, а нормально без БД никуда.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.07.2012, 10:53
Помогаю со студенческими работами здесь

Не разбираюсь в принтерах нуждаюсь в подсказке
Здравствуйте, хочу обклеить велосипед а печатать листы А4 и по кускам клеить это не выход, слыхал о таком что можно на обычном принтере...

Нуждаюсь в подсказке, не могу понять где ошибка.
// только недавно сел кодить на ассемблере, так что прошу "не бить меня палками" .586 .model flat,stdcall date segment SOURCE...

Собираюсь создать узкоспециализированную соц. сеть
Что посоветуете? Что-то типа icq.

Создать словарь
Объясните пожалуйста, как решить данную задачу: Имеется несколько списков: список имен, список соответствующих им фамилий и возраста....

Создать словарь
Добрый день, помогите с такой задачей import java.util.*; // Создать класс словаря, метод которого для каждого слова возвращает его...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru