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

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

Обработка блоков текста [D5, D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]


Stot1k ©   (2004-12-13 19:41:00) 

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

Например, исходные данные вводятся в таком формате:
блок1 блок1 блок1 блок1
блок1 блок1 блок1
блок1 блок1 блок1

блок2 блок2 блок2 блок2
блок2 блок2 блок2 блок2
блок2 блок2 блок2 блок2


А набо, что бы получалось так:
---начало---
блок1 блок1 блок1 блок1
блок1 блок1 блок1
блок1 блок1 блок1
--конец---

---начало---
блок2 блок2 блок2 блок2
блок2 блок2 блок2 блок2
блок2 блок2 блок2 блок2--конец---


Помогите написать такой алгоритм... Ну очень надо!!! Спасибо!


Stot1k   (2004-12-13 21:34:00) [1]

begin...end, огромнейшее спасибо! Все работает!!! ;)


begin...end   (2004-12-13 21:22:00) [2]

> [3] Stot1k   (13.12.04 21:05)

> Я просто синтаксис плохо знаю... Логимчески понимаю, а реализовать
> не могу.

Да я бы на Вашем месте прыгал бы до потолка от счастья. Реализация на конкретном языке - это уж дело десятое. Понимание того, как вообще задача решается - вот это, ИМХО, самое главное. Ведь тогда для её решения достаточно почитать справку, подучить синтаксис - и всё.

Впрочем, сам я - не программист, и вряд ли когда-нибудь им буду, просто вот такое у меня ИМХО.

Ну попробуйте так (не проверял):

var
 I: Integer;
begin
 with Memo, Lines do
 begin
   Insert(0, '-начало-');
   Insert(Count, '-конец-');
   I := 0;
   while I < Count do
   begin
     if Lines[I] = '' then
     begin
       Insert(I, '-конец-');
       Insert(I + 2, '-начало-');
       Inc(I, 2)
     end;
     Inc(I)
   end
 end
end.


Stot1k   (2004-12-13 21:05:00) [3]

Я просто синтаксис плохо знаю... Логимчески понимаю, а реализовать не могу.


begin...end   (2004-12-13 19:50:00) [4]

> Stot1k   (13.12.04 19:41)

> Помогите написать такой алгоритм

Находить пустую строку в Memo (цикл по Memo.Lines); вставлять до и после неё строки "начало" и "конец" (Memo.Lines.Insert).


Cobalt   (2004-12-13 19:48:00) [5]

В чём собственно проблема - непонятно...


Наверх

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