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

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

разбить содержимое StringList на строки [D7, WinXP]


lehich ©   (2005-05-18 17:30:00) 

помещаю в StringList сплошной текст... в тексте присутствуют комментарии начинающиеся со знака "<" как сделать чтобы каждый такой коментарий шёл с новой строки?

Заранее премного благодарен!


lehich   (2005-05-19 16:34:00) [1]


> Alexander Panov ©   (19.05.05 13:38) [6]

вот и я подумал, может у меня чего не так работает? :-)))


Alexander Panov   (2005-05-19 13:38:00) [2]

BFG9k ©   (18.05.05 17:58) [2]
Проверь, что получишь в результате выполения таких действий:

 tL := TStringList.Create;
 tL.Delimiter := '<';
 tL.DelimitedText := 'Text=Проверка присвоения строки с пробелами<Text1=Проверка присвоения строки с пробелами';
 ShowMessage(tL.Values['Text']);
 tL.Free;


BFG9k   (2005-05-19 12:23:00) [3]

< и </ ... похоже на HTML теги.


evvcom   (2005-05-19 10:27:00) [4]


> что-то более компактное или рациональное

Например, написать свой StringReplace или, находя конец строки, добавлять в StringList строки по очереди.


lehich   (2005-05-19 10:15:00) [5]

спасибо! сразу побочный вопрос, необходимо чтобы "<" переносилось на новую строку, но если после идет слэш, т.е. "</" чтобы оставалось как было... использую пару строк:

StringReplace(L.Text, '<', #13#10'<', [rfReplaceAll]);
StringReplace(L.Text, #13#10'</', '</', [rfReplaceAll]);

есть что-то более компактное или рациональное???

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


BFG9k   (2005-05-18 17:58:00) [6]

Извращение.


L.Delimiter:='<';
L.DelimitedText:=Your_text;

for i:=0 to L.Count-1 do
  ...L[i]...//ваши действия


Yanis   (2005-05-18 17:37:00) [7]


var
 l: TStringList;
begin
 L.Text := StringReplace(L.Text, '<', #13#10'<', [rfReplaceAll]);
end;


Наверх

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