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