![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обработка блоков текста [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]В чём собственно проблема - непонятно...