![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать нормальный буффер [D2005, XP]
Semen © (2010-09-03 08:25:00)Есть код
var
buf:array[1..1000] of char;
begin
f:=TFileStream.Create('test',fmOpenRead);
f.Read(buf,1000);
Как сделать, чтобы Delphi в зависимоти,скажем, от параметра x создавала буффер этой длинны, в который можно писать данные f.Read.
Допустим сейчас мне не нуже буфер на 1000 символов, а нужен на 100,
а потом на 1.000.000.
Leonid Troyanovsky (2010-09-03 11:28:00) [1]
> Semen (03.09.10 08:25)
> Допустим сейчас мне не нуже буфер на 1000 символов, а нужен
В большинстве случаев буфер фиксированного
(оптимального) размера нормален.
--
Regards, LVT.
MBo (2010-09-03 09:16:00) [2]f.Read(buf[0]
Semen (2010-09-03 09:05:00) [3]а как надо?
Медвежонок Пятачок (2010-09-03 08:55:00) [4]а указал ты не туда, куда надо
Медвежонок Пятачок (2010-09-03 08:53:00) [5]Все пишет. Но пишет ровно туда, куда ты указал.
Semen (2010-09-03 08:47:00) [6]Динамический массив и строка не работают.
К примеру вот:
var
buf:array of char;
begin
SetLength(buf,1000000);
f:=TFileStream.Create('test',fmOpenRead);
f.Read(buf,1000);
Ничерта в буфер на пишет.
MBo (2010-09-03 08:32:00) [7]для char - string, а в общем случае - динамические массивы (Dynamic Arrays)