Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

чтение файла в буфер. [D5, Win2k]


Игорь С. ©   (2002-08-21 14:41:00) 

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

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...


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

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


Digitman   (2002-08-21 14:51:00) [2]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо