![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с записью.... [D7, XP]
Alexdeil © (2007-02-08 11:53:00)Здравствуйте специалисты!
Имеется запись - заголовок из 25 байт (A - R) и массив байт (64 байта):
type
Pak = record
A :byte;
B :byte;
C :byte;
D :byte;
E :word;
F :byte;
G :byte;
K :word;
L :word;
Lt :longword;
M :word;
Mt :longword;
P :word;
R :byte;
S :array[1..64] of byte;
end;
Осуществляется запись и чтение в файл только одной записи - все работает, но есть непонятные мне вопросы
- почему размер файла с одной записью больше 89 байт (25 +64 = 89) = 92 байта,
- почему при просмотре файла в Hex-редакторе поле М (тип word) представляется в виде 4-х байт, а массив S (64 байта) увеличен до 65 байт.
Запись в файл осуществляю следующим образом:
var K:integer;
begin
...........................
K:=FileCreate('proba.dat');
FileWrite(K,Pak,SizeOf(Pak));
FileClose(K);
end;
Подскажите, что не так.
Alexdeil (2007-02-08 12:05:00) [1]Спасибо! Все ОК!
TRUNK (2007-02-08 11:56:00) [2]Включи упаковку:
Pak = packedrecord
{.........}
end
или лучше так:
{$A-}
Pak = record
{.........}
end
{$A+}