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

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

чтение из файла [D6, Win95/98, Win2k]


reticon ©   (2003-02-06 11:05:00) 

Уважаемые Мастера, вопрос такой. Имеется текстовый файл, в нем несколько абзацев. Как программно читать из файла каждый раз конкретно только по одному абзацу?


Reindeer Moss Eater   (2003-02-07 16:43:00) [1]

А автор про чтение файла


Palladin   (2003-02-07 16:41:00) [2]

ну если уж на то пошло, то TStringList.LoadFromFile, и анализировать потом список, быстрее будет...

я же не про чтение, я про принцип отделения одного абзаца от другого...


Reindeer Moss Eater   (2003-02-07 16:35:00) [3]

Хоть миллион критериев.
Повторять ReadLn пока не конец файла.


Palladin   (2003-02-07 16:30:00) [4]

все тебя прекрасно поняли.
проанализируй каким образом разбитый, это и будет критерий для определения нового абзаца.


Reindeer Moss Eater   (2003-02-07 16:29:00) [5]

Можно читать только последовательно. Строка за строкой.


reticon   (2003-02-07 16:27:00) [6]

Нет, Вы не так поняли, у меня текст. файл, в нем содержится текст, разбитый на несколько частей. Как читать эти части в различном порядке?


Anatoly Podgoretsky   (2003-02-07 13:51:00) [7]

RWolf (06.02.03 11:36)
Ну и что, а у него может другое определение. Но у тебя какое то странное определение, никогда такого не встречал.


MAPI   (2003-02-07 13:38:00) [8]

Удалено модератором
Примечание: Тебе запретили задавать вопросы и поэтому ты лезешь в чужую ветку


RWolf   (2003-02-06 11:38:00) [9]

очепятка, третью строку читать так:
if olds<>"" then добавить_к_текущему_абзацу(olds);


RWolf   (2003-02-06 11:36:00) [10]

Абзац можно определить, как перевод строки с определенным количеством пробелов после него.
Таким образом, абзац можно прочитать примерно так:

s:="";olds:="";
while not eof(f) do begin
if s<>"" then добавить_к_текущему_абзацу(olds);
olds:=s;
readln(f,s);
if s[1]=" " then начать_запоминать_новый_абзац;
end;


Reindeer Moss Eater   (2003-02-06 11:13:00) [11]

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


iNew   (2003-02-06 11:11:00) [12]

По какому критерию ты выделяешь абзац так и читай.


Reindeer Moss Eater   (2003-02-06 11:06:00) [13]

В текстовом файле нет абзацев


Наверх

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