Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с memo.


benn ©   (2005-08-24 15:24:00) 

У меня есть memo, там записан текст, мне нужно, чтобы прога искала из этого текста некоторые слова и предложения:
Пример:
В мемо написанно:

"Конференция для начинающих, а также для тех, кому сложно объяснить чего он хочет.
Просьба к участникам быть взаимовежливыми, профессионалам отдельная просьба - быть снисходительными."

Мне нужно, чтобы прога искала слово "сложно", затем копировала мне в строковую переменную 4 слова, стоящие за этим словом("объяснить чего он хочет").
Затем, чтобы во вторую переменную прога записывала все, что в первой переменной, исключая второе слово и четыре символа, стоящих за словом "он"(при этом длинна и кол-во слов не известны)
И в третью переменную записывала координаты этих слов в мемо(типа № столбец, №№ строка), чтобы потом по этим координатам я снова мог обратиться в мемо.
Еще мне нужно, чтобы в четвертую переменную, прога записывала допустим восьмое слово + с 5 по 12 символ во второй строке из мемо.
Как это можно сделать?

Дайте так же ссылку, где можно почитать все эти нюансы(вообще, что можно делать) с мемо и строковыми типами на русском языке

Заранее спосибо!


Leonid Troyanovsky   (2005-08-25 10:16:00) [1]


> benn ©   (24.08.05 23:00) [1]
> Народ что никто не знает чтоли?
> По идее это все просто, просто я уже давно в Делфи не работал
> и все позабыл...


Для позабывших есть Delphi help, скажем,
VCL Reference Copy, Chr, SelStart, SelLength example.

Единственное затруднение могло бы быть с определением
номера строки и индекса некоторого символа (скажем, в Text),
но и это оч.просто:


var
 Linenum, Charnum: Longint;
..
 with MemoX do
   begin
     {ich -character index (zero-based)}
     Linenum := Perform(EM_LINEFROMCHAR, ich, 0);
     Charnum := ich - Perform(EM_LINEINDEX, Linenum, 0);
   end;


--
Regards, LVT.


benn   (2005-08-24 23:00:00) [2]

Народ что никто не знает чтоли?
По идее это все просто, просто я уже давно в Делфи не работал и все позабыл...


Наверх

Титульная страница Поиск, карта сайта Написать письмо