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

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

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

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

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

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

Может у кого уже код готовый есть, чтобы можно было с ним поекспериментировать.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.07.2012, 19:55
Ответы с готовыми решениями:

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

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

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

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

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

тупо циклом перебирать
0
896 / 343 / 65
Регистрация: 11.02.2012
Сообщений: 1,502
10.07.2012, 20:01 3
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
1299 / 705 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
10.07.2012, 20:03 4
ну если грузить чтото откудато, но надо подключать бд. И тогда вопрос о поиске ваще отпадет, достаточно составить нужный SELECT LIKE запрос
1
3941 / 1866 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
10.07.2012, 21:09 5
Вообще в ComboBox-е такой подбор уже реализован.
0
5 / 5 / 1
Регистрация: 18.01.2010
Сообщений: 136
11.07.2012, 08:24  [ТС] 6
Цитата Сообщение от 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
421 / 351 / 19
Регистрация: 14.05.2012
Сообщений: 1,437
11.07.2012, 08:44 7
mpdasa, не советую. Наберись опыта потом... Лучше сделай как HanDi предложил

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

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

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

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

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

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

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

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

Добавлено через 1 час 26 минут
Но все это для маленьких, тренировочных словарей, а нормально без БД никуда.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.07.2012, 10:53

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

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru