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

Вниз

Как сделать нормальный буффер   Найти похожие ветки 

 
Semen   (2010-09-03 08:25) [0]

Есть код
 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.


 
MBo ©   (2010-09-03 08:32) [1]

для char - string,  а в общем случае - динамические массивы (Dynamic Arrays)


 
Semen   (2010-09-03 08:47) [2]

Динамический массив и строка не работают.
К примеру вот:
var
 buf:array of char;
begin
 SetLength(buf,1000000);
f:=TFileStream.Create("test",fmOpenRead);
f.Read(buf,1000);
Ничерта в буфер на пишет.


 
Медвежонок Пятачок ©   (2010-09-03 08:53) [3]

Все пишет. Но пишет ровно туда, куда ты указал.


 
Медвежонок Пятачок ©   (2010-09-03 08:55) [4]

а указал ты не туда, куда надо


 
Semen   (2010-09-03 09:05) [5]

а как надо?


 
MBo ©   (2010-09-03 09:16) [6]

f.Read(buf[0]


 
Leonid Troyanovsky ©   (2010-09-03 11:28) [7]


> Semen   (03.09.10 08:25)  

> Допустим сейчас мне не нуже буфер на 1000 символов, а нужен

В большинстве случаев буфер фиксированного
(оптимального) размера нормален.

--
Regards, LVT.



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

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

Наверх




Память: 0.48 MB
Время: 0.01 c
2-1283487912
Semen
2010-09-03 08:25
2010.11.28
Как сделать нормальный буффер


2-1283177453
Fr
2010-08-30 18:10
2010.11.28
Остановка потока


2-1284094963
6ruse
2010-09-10 09:02
2010.11.28
зачеркивание в DBGrid


2-1283144728
azamatufa
2010-08-30 09:05
2010.11.28
использование uses


15-1282206555
istok
2010-08-19 12:29
2010.11.28
что в железе влияет на скорость компиляции?