Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.31;
Скачать: CL | DM;

Вниз

Packed record. absolute. file r/w.   Найти похожие ветки 

 
3d[Power] ©   (2002-01-11 01:22) [0]

Этот вопрос частично освещался, но всеже хотелось подробнее узнать о packed record. О записи и чтении packed record"a в файл. Как записывать последовательность packed record"oв (в нефиксированном порядке). И наконец, что такое absolue. В хэлпе непонятно :(.


 
SoftOne ©   (2002-01-11 01:29) [1]

> 3d[Power] ©
Не понял - это шутка? Твой НИК достаточно известен здесь как НЕ ЛАМЕРСКИЙ.


 
gek   (2002-01-11 07:44) [2]

absolue указывает, что указанная переменная будет записана по абсолютному адресу т.е. именно по адресу который указан и ни по какому другому


 
Владислав ©   (2002-01-11 07:53) [3]

Или вернее располагаться по указанному адресу.


 
Mbo ©   (2002-01-11 07:59) [4]

тут надо пример
var a:array[0..3] of byte;
b:integer absolute a;

и а и b располагаются по одному адресу,
сделав
b:=0;
получаем обнуление массива


 
MegaVolt ©   (2002-01-11 10:05) [5]

Packed record это такая запись которая лежит в памяти последовательно на сколько я это понимаю и она позволяет записывать и читать в/из файла с помошью например потока:

F:=TStreamFile.Create;
F.Write(Packed_Record,SizeOf(T_Packed_Record));

Я писал по памяти так что мгут быть небольшие синтаксические ошибки.
В таком типе записи могут быть только переменные фиксированной длинны т.е.
String нельзя
String[25] можно.


 
Romkin ©   (2002-01-11 11:00) [6]

Packed record :-))
Как, думаю, многим известно, Дельфя стараются выравнивать переменные по границе n байт, для ускорения доступа. При включенной опции {$ALIGN ON}, или "Aligned record fields" (по умолчанию), поля записей также выравниваются по адресу, нацело делящемуся на 1,2,4,8 (зависит от типа поля, для real, например - 2) в результате например record a,b,c,d: byte end; займет не 4 байта, а 16. При указании packed выравнивание не применяется, и размер записи равен сумме размеров полей. И все! Просто при записи/чтении в поток/файл как правило используют сжатые записи, чтобы пустого места не было, и была независимость от выравнивания


 
FX_Demon   (2002-01-11 12:43) [7]

2 SoftOne, я просто никогда не изучал packed record.


 
3d[Power]   (2002-01-11 12:44) [8]

Сорри, за траблы с ником, я на чужом компе..
2 SoftOne, я просто никогда не изучал packed record.



 
3d[Power]   (2002-01-11 12:51) [9]

ВОПРОС МОДЕРАТОРАМ: Как я с чужого компа смог от моего имени сообщение добавить? Я же зареген


 
panov ©   (2002-01-11 13:21) [10]

Не используй спецсимволы и пробелы в нике.


 
3d[Power] ©   (2002-01-11 18:02) [11]

2 panov, почему же мне © выдают?


 
panov ©   (2002-01-11 18:09) [12]

Пиши Мерлину delphi@mastak.ru


 
3d[Power]   (2002-01-12 00:50) [13]

test


 
Merlin ©   (2002-01-12 00:57) [14]

исправлено



Страницы: 1 вся ветка

Текущий архив: 2002.01.31;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
1-99988
ctapik-net
2002-01-11 23:10
2002.01.31
Изменение настроек прокси у TWebbrowser (програмно)


1-99956
MystiX
2002-01-13 18:02
2002.01.31
Heeelp!!!


3-99852
Georg
2001-12-20 17:08
2002.01.31
Проблема выбора: MySQL или Interbase


4-100098
Evgeniy_S
2001-11-28 16:13
2002.01.31
THREADS !!!


4-100110
Song
2001-12-02 22:50
2002.01.31
Узнать, что программа уже запущена