Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Как прочитать запись в файле...


Автор: Yura17 2.4.2005, 10:36
Почему запись типа

Код

type
P = record
C: array [1..20] of Char;         
P: array [1..17] of Char;   
T: array [1..2] of Char;    
...
end;

а

Код

type
P = record
C: array [1..20] of Char;         
P: array [1..17] of Char;   
T: Smallint;    
...
end;

не работает - начинаются проблемы с позоционированием в файле ( Smallint несмотря на SizOf = 2 пытается читать 3 байта ) ????

Автор: Pakshin A. S. 2.4.2005, 21:49
Может знак числа... smile

Автор: Coder 3.4.2005, 01:00
Юра17, покажи как ты пытаешься прочитать из файла

Автор: <Spawn> 3.4.2005, 06:31
Используй packed record:

Код

type
P = packed record
C: array [1..20] of Char;         
P: array [1..17] of Char;   
T: Smallint;    
...
end;

Автор: Snowy 4.4.2005, 08:20
Если используешь не packed record, а обычный, то дельфя будет выравнивать твой rekord по блокам байтов, для ускорения работы.
Хотя можно просто отключить выравнивание в опциях проекта, но лучше все же использовать именно packed record - так твой код будет нормально компилиться на разных машинах, независимо от настроек.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)