Главная страница
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.011 c
15-1282079208
cwl
2010-08-18 01:06
2010.11.28
Графический движок


2-1283965980
AlexDn
2010-09-08 21:13
2010.11.28
Заливка прямоугольника


15-1281994189
Юрий
2010-08-17 01:29
2010.11.28
С днем рождения ! 17 августа 2010 вторник


2-1283779921
istok
2010-09-06 17:32
2010.11.28
сечь клики по win контролам...


15-1280817234
Медвежонок Пятачок
2010-08-03 10:33
2010.11.28
Сомалийское пирацтво. Все очень просто.