Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.10;
Скачать: CL | DM;

Вниз

TMemoryStream   Найти похожие ветки 

 
mixamixa   (2003-02-28 04:09) [0]

Считали мы файл в память:

ZZ:=TMemoryStream.Create;
ZZ.LoadFromFile("C:\1.txt");

А как из памяти считывать по одной строчке?


 
Skyle ©   (2003-02-28 04:30) [1]

Попробуй двигаться по потоку до символов перевода строки.


 
Slym ©   (2003-02-28 08:56) [2]

Работает только при строках меньше 256 символов (т.е. при использовании String, а не всяких "Длинных"), и работает ли?(не проверял)

funstion ReadLine(var Stream:TStream):string;
const br=#13#10;//Символы конца строки
var
position,n:longint;
str:string;
begin
result:="";
position:=Stream.Position;//запоминаем где были
if Stream.Read(str,length(str))=0 then //читаем 255 символов
exit;
n:=pos(br,str);//ищем конец строки
if n>0 then
begin
result:=copy(str,1,n);
Stream.Position:=position+n+2;//ставим позицию стрема
end
else
result:=str;
end;


 
Digitman ©   (2003-02-28 08:56) [3]

На то есть готовый TStringStream


 
Юрий Зотов ©   (2003-02-28 09:03) [4]

И готовый TStringList.


 
Dimka Maslov ©   (2003-02-28 09:30) [5]

var
L: TStringList;
i: Integer;
begin
L := TStringList.Create;
try
L.LoadFromFile("c:\1.txt");
for i := 0 to L.Count - 1 do ShowMessage(L[i]);
finally
L.Free;
end;
end;



Страницы: 1 вся ветка

Текущий архив: 2003.03.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
1-29913
Barriage
2003-02-26 00:56
2003.03.10
Как создавать и удалять элементы управления в RUNTIME


6-29987
alcat
2002-12-18 17:30
2003.03.10
Как закрыть все порты только для одного IP?


14-30108
Uncle Archi
2003-02-21 22:16
2003.03.10
DirectX


3-29755
phantom2040
2003-02-19 16:12
2003.03.10
Помогите с паролями для таблицы Парадокс


14-30022
Nick Denry
2003-02-24 00:38
2003.03.10
как вставить ресурс в exeшник?