Разное
Облака / Clouds

The bast cloud service
Get 20 GB free!!!
Support WebDav.
Show more >>

time-tested cloud storage
Support WebDav.
Последние книги
Самое популярное
Все бесплатно
Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.
Навигация
Вопросы

Категория: Файловая система
Delphi - Справочник: SizeOf
SizeOf
|
1 function SizeOf ( Variable : Any type ) : Integer; 2 function SizeOf ( Type ) : Integer; |
Функция (Unit System)
|
Возвращает занимаемый размер типа или переменной в байтах
|
Описание:
|
Функция SizeOf возвращает занимаемый размер (в байтах) переменной (Variable) или типа (Type). Часто бывает полезно узнать, сколько места занимают данные. Особенно при использовании стандартных процедур вроде GetMem. Для некоторых типов всегда возвращается размер указателя, так как они и являются просто указателями на данные, хранимые эти типом. Примером таких типом являются строки. Для получения размера объекта используйте метод InstanceSize. |
Пример кода: Пример
|
//Пример кода : Показ размер некоторых типов данных и переменных var intNumber : Integer; extNumber : Extended; sentence : string; begin // Показ размеров численных типов данных ShowMessageFmt(' SizeOf(Integer) = %d',[SizeOf(Integer)]); ShowMessageFmt('SizeOf(intNumber) = %d',[SizeOf(intNumber)]); ShowMessageFmt(' SizeOf(Extended) = %d',[SizeOf(Extended)]); ShowMessageFmt('SizeOf(extNumber) = %d',[SizeOf(extNumber)]); // Строковые типы и переменные - указатели на фактические строки sentence := 'A long sentence, certainly longer than 4'; ShowMessageFmt(' SizeOf(string) = %d',[SizeOf(string)]); ShowMessageFmt(' SizeOf(sentence) = %d',[SizeOf(sentence)]); end; //Пример кода : Использование GetMem, чтобы распределить память для десяти записей type TRecord = Record name : string[10]; age : Byte; end; var recStorage : PChar; begin // Показ размера нашего типа записи ShowMessageFmt(' SizeOf(TRecord) = %d',[SizeOf(TRecord)]); // Распределение памяти для этих 10 записей GetMem(recStorage, 10 * SizeOf(TRecord)); end;
Результат:
|
SizeOf(Integer) = 4 SizeOf(intNumber) = 4 SizeOf(Extended) = 10 SizeOf(extNumber) = 10 SizeOf(string) = 4 SizeOf(sentence) = 4 SizeOf(TRecord) = 12 |