![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Магнитные бури???
Ji © (2005-02-18 22:06:00)Вариант 1:
type
re=record
a:byte;
end;
var
v:re;
f:file of re;
Вариант 2:
type
re=record
a:integer;
end;
var
v:re;
f:file of re;
Вариант 3:
type
re=record
a:byte;
b:integer;
end;
var
v:re;
f:file of re;
Для каждого из трех вариантов выполняем следующий код:
AssignFile(f,'somefile');
ReWrite(f);
Write(f,v);
CloseFile(f);
Внимание вопрос!
Полученный в результате файл 'somefile'имеет следующий размер:
для варианта 1 - 1 байт;
для варианта 2 - 4 байта;
для варианта 3 - 8 байт; (!!!) причем три "лишних" байта заполняются мусором.
Subj?
panov (2005-02-18 22:24:00) [1]Поле "Тема вопроса" не оформлено.
Sam Stone (2005-02-18 22:13:00) [2]Только первый вариант смущает. Дельфи записи делает кратными 4 байтам (32 разряда) для скорости или удобства работы с памятью (точно не помню).
Возможно, в первом варианте файл воспринимается как file of byte.
Чтоб не было "магнитных бурь" (гы-гы-гы :))) надо использовать packed record.