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

Вниз

чтение файла в буфер.   Найти похожие ветки 

 
Игорь С.   (2002-08-21 14:41) [0]

Заранее прошу прощения, если спрашиваю второй раз (как-то уже спрашивал, но поиском своего вопроса найти не могу... может закатился куда-то;)
Вот пример из хелпа дельфи:

procedure TForm1.Button1Click(Sender: TObject);
var
iFileHandle: Integer;
iFileLength: Integer;
iBytesRead: Integer;
Buffer: PChar;
i: Integer
begin
if OpenDialog1.Execute then
begin
try
iFileHandle := FileOpen(OpenDialog1.FileName, fmOpenRead);
iFileLength := FileSeek(iFileHandle,0,2);
FileSeek(iFileHandle,0,0);
Buffer := PChar(AllocMem(iFileLength + 1));
iBytesRead = FileRead(iFileHandle, Buffer, iFileLength);
FileClose(iFileHandle);

for i := 0 to iBytesRead-1 do
begin
StringGrid1.RowCount := StringGrid1.RowCount + 1;
StringGrid1.Cells[1,i+1] := Buffer[i];
StringGrid1.Cells[2,i+1] := IntToStr(Integer(Buffer[i]));
end;
finally
FreeMem(Buffer);
end;
end;
end;

Так вот он - не работает. Если кто-то знает как открыть для работы файл произвольной длинны - подскажите, буду благодарен.

P.S. Я ковырялся долго, многое менял в этом коде... Один из классических глюков - при переходе от pchar к string...


 
Digitman ©   (2002-08-21 14:51) [1]

iBytesRead = FileRead(iFileHandle, Buffer ^, iFileLength);


 
Игорь С.   (2002-08-22 15:19) [2]

СПАСИБО!!!!!!!!!!!!!!!!!!



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

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

Наверх




Память: 0.47 MB
Время: 0.01 c
14-3621
fool
2002-08-08 11:12
2002.09.02
Срочно!!! Последствия наглого вируса!!!!


8-3530
mari_ra
2002-04-24 18:23
2002.09.02
Как вывести BMP на панель?


7-3633
neo_max
2002-06-21 12:53
2002.09.02
Вопрос !!!!


3-3309
michael_b
2002-08-13 11:07
2002.09.02
Как определить установлен ли InterBase


4-3680
Lamer86
2002-07-03 10:33
2002.09.02
Как убить процесс, зная его PID