Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2012, 00:10   #1
Ol'KA
 
Регистрация: 05.04.2008
Сообщений: 3
По умолчанию Поиск слов в Memo

Поставлена следующая задача. Есть список слов в ListBox (неопределенное количество). Надо эти слова найти в Memo (загружен текст). И вывести предложения с найденными словами например в RichEdit, но если слово встречается 2 раза в предложении, то это предложение выводить один раз. ОЧЕНЬ НУЖНА ВАША ПОМОЩЬ!
Ol'KA вне форума Ответить с цитированием
Старый 29.11.2012, 00:13   #2
Ol'KA
 
Регистрация: 05.04.2008
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Ol'KA Посмотреть сообщение
Поставлена следующая задача. Есть список слов в ListBox (неопределенное количество). Надо эти слова найти в Memo (загружен текст). И вывести предложения с найденными словами например в RichEdit, но если слово встречается 2 раза в предложении, то это предложение выводить один раз. ОЧЕНЬ НУЖНА ВАША ПОМОЩЬ!
программа нужна на Delphi
Ol'KA вне форума Ответить с цитированием
Старый 29.11.2012, 00:33   #3
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Ну если считать, что одна строка в мемо = одно предложение, то все просто:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  id,i:integer;
  sub,s:string;
begin
  sub:=listbox1.Items.Strings[ListBox1.ItemIndex];
  for i:=0 to memo1.Lines.Count-1 do
    begin
      s:=memo1.Lines.Strings[i];
      if pos(sub,s)<>0 then
        richedit1.Lines.Add(s);
    end;
end;
Если нет, то читаем мемо посимвольно, пока символ<>'.', затем также проверяем полученное предложение.
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 29.11.2012, 09:22   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

whatever, я не на 100% понял, какую TC в конечном итоге решает задачу, НО,
похоже, ему нужно перебрать все слова в ListBox...

Ol'KA, для перебора слов в LIstBox можете предложенный код взять в цикл:
for j:=0 to listbox1.Items.Count-1 do ....

А вообще, чем подробнее рассказываете, что у Вас в листбокс, что в мемо и что в конечном счёте нужно получить, тем больше вероятности получить ответ, который Вас устроит.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 30.11.2012, 01:06   #5
Ol'KA
 
Регистрация: 05.04.2008
Сообщений: 3
По умолчанию

Спасибо вам за оказанную помощь.
На выходе должна получить автоматически построенный реферат по словам которые в ListBox.

Последний раз редактировалось Ol'KA; 30.11.2012 в 01:12.
Ol'KA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск слов(C++) VadEr Помощь студентам 13 22.05.2014 15:42
Транслитерация отдельных слов в memo lamer811 Общие вопросы Delphi 1 12.04.2011 06:02
Удаление одинаковых слов в Memo. sxcine Общие вопросы Delphi 7 03.01.2011 12:56
Как создать упорядочивание слов в строке (memo) по алфавиту Лаваzzа Помощь студентам 0 03.05.2010 20:40
Выделение слов цветом в Memo Костян Пират Общие вопросы Delphi 9 05.03.2009 08:52