D
~DE~
Здравствуйте!
В общем, для того, чтоб считать из файла заголовок (первые 10 байт) объявляю такой тип данных:
и, собственно, саму переменную:
делаю следующее:
в результате:
а остальное:
Кто-нибудь подскажет ЧТО неправильно?
Заранее благодарю всех кто откликнется.
----
Добавлено позже:
Хорошо, а кто-то может подсказать такие способы работы с файлами (интересует чтение из файла), чтобы хэндл на файл можно было передавать как параметр функции.
Обычные способы assignfile/reset этого не позволяют. TFileStream позволяет, но при чтении данных как число байты идут в обратном направлении. Так вот, есть ли ЕЩЕ какие-либо способы???
Подскажите пожалуйста!!!
В общем, для того, чтоб считать из файла заголовок (первые 10 байт) объявляю такой тип данных:
Код:
TFileHead = record
case byte of
0: (Head: array [0..9] of byte);
1: (ID:array [0..2] of Char; // 3 байта
Version:Word; // 2 байта
Flags:Byte; // 1 байт
Size: Dword); // 4 байта
end; // итого все 10 байтов
Код:
var fh: TFileHead;
Код:
file:=TFileStream.Create('name.ext', fmOpenRead);
file.ReadBuffer(fh.Head,10);
file.free;
Код:
fh.Head = (0,1,2,3,4,5,6,7,8,9) // считалось правильно
Код:
fh.ID = (0,1,2)
fh.version = (5,4)
fh.flags = (6)
fh.size = (??,??,9,8)
Кто-нибудь подскажет ЧТО неправильно?
Заранее благодарю всех кто откликнется.
----
Добавлено позже:
Хорошо, а кто-то может подсказать такие способы работы с файлами (интересует чтение из файла), чтобы хэндл на файл можно было передавать как параметр функции.
Обычные способы assignfile/reset этого не позволяют. TFileStream позволяет, но при чтении данных как число байты идут в обратном направлении. Так вот, есть ли ЕЩЕ какие-либо способы???
Подскажите пожалуйста!!!