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

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

Как разбить текст на части? [D7, WinXP]


Black ©   (2004-09-15 10:55:00) 

Я загружаю текстовый файл f:TFileStream;и получаю текст в одну строку. Определить границы строк можно по '<CR><LF>' в этой строке.
Вопрос: Как мне построчно загрузить этот файл в массив?


Kovsh   (2004-09-15 14:10:00) [1]

Нужно открывать файл как нетипизированный. Для этого используются процедура:
BlockRead

а дальше по справке. Тогда можно будет открывать файлы любых форматов.


wl   (2004-09-15 13:49:00) [2]

пришли мне пример такого файла на мыло mailto:wl@ezmail.ru
попробую написать примерчик, читающий этот файл

а если этот файл прочитать весь целиком в буфер с помощью хотя бы того же самого TFileStream, а затем находить <cr><lf> и резать на отдельные строки?


Jel   (2004-09-15 12:24:00) [3]


> stream:=TmemoryStream.Create(nil); пишет: Слишком много
> параметров

Правильно пишет. Справку почитай, что ли.
А по существу - если читаешь методами tStringList то по-моему читается до первого #0, стало быть проверь что в файле после первой строки.


Black   (2004-09-15 11:56:00) [4]

TUser ©   (15.09.04 11:31) [10]

> Он читает только 1 строку

Сразу навязывается вопрос - а что мы читаем за файл. Если bmp, exe и иже с ними - см посты известного здесь человека в Орешнике.

ОН читает только текст с начала строки до '<CR><LF>'


Black   (2004-09-15 11:55:00) [5]

wl   (15.09.04 11:34) [11]
может при создании файла поменять<CR> и <LF> местами?

не помогло


Black   (2004-09-15 11:54:00) [6]

MegaBass   (15.09.04 11:27) [9]
stream:=TmemoryStream.Create(nil); пишет: Слишком много параметров

stream.LoadFromFile(filename);  не знает Loadfromfile
s.LoadFromStream(stream);


wl   (2004-09-15 11:34:00) [7]

может при создании файла поменять<CR> и <LF> местами?


TUser   (2004-09-15 11:31:00) [8]


> Он читает только 1 строку

Сразу навязывается вопрос - а что мы читаем за файл. Если bmp, exe и иже с ними - см посты известного здесь человека в Орешнике.


MegaBass   (2004-09-15 11:27:00) [9]

var s:TStringList;
stream:TStream;
Begin
s:=TStringList.create;
stream:=TmemoryStream.Create(nil);
try
stream.LoadFromFile(filename);
s.LoadFromStream(stream);
...
finally
stream.free;
s.free;
end;


Black   (2004-09-15 11:23:00) [10]

Ega23 ©   (15.09.04 11:12) [6]
не помогает

Как у классика было: "НЕ ВЕРЮ!!!"

Он читает только 1 строку


TUser   (2004-09-15 11:14:00) [11]

LoadFromFile
LoadFromStream
Text:=


Ega23   (2004-09-15 11:12:00) [12]

не помогает

Как у классика было: "НЕ ВЕРЮ!!!"


Black   (2004-09-15 11:08:00) [13]

wl   (15.09.04 11:08) [4]
var s:TStringList;
Begin
s:=TStringList.create;
s.LoadFromFile(filename);

не помогает


wl   (2004-09-15 11:08:00) [14]

var s:TStringList;
Begin
s:=TStringList.create;
s.LoadFromFile(filename);


Black   (2004-09-15 11:04:00) [15]

Файл который я открываю сохранен как f:TFileStream;
Я пробовал TStringsList он открывает только первую строку.


icebeerg   (2004-09-15 11:00:00) [16]

var s:TStringList;
Begin
s:=TStringList.create;
s.SetText:=
и т.д.


icebeerg   (2004-09-15 10:57:00) [17]

Посмотри TStringList поможет


Наверх

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