Разместите нашу кнопку!

Новые статьи:

Programming articles

Создание сайтов на шаблонах

Множество вариантов работы с графикой на канве

Шифруем файл с помощью другого файла

Перехват API функций - Основы

Как сделать действительно хороший сайт

Создание почтового клиента в Delphi 7

Применение паскаля для решения геометрических задач

Управление windows с помощью Delphi

Создание wap сайта

Операционная система unix, термины и понятия

SQL враг или друг

Возникновение и первая редакция ОС UNIX

Оптимизация проекта в Delphi

Ресурсы, зачем нужны ресурсы

Термины программистов 20 века

Советы по созданию собственного сайта с нуля

Шифруем файл с помощью пароля

Фракталы - геометрия природы

Crypt - Delphi программа для шифрования

Рассылка, зачем она нужна и как ее организовать?

Учебник по C++ для начинающих программистов

Уроки для изучения ассемблера

Загадочный тип PCHAR

Средства по созданию сайтов

Операторы преобразования классов is и as

Borland Developer studio 2006. Всё в одном

Создание базы данных в Delphi, без сторонних БД


Software engineering articles



SizeOf

Возвращает размер в байтах типа или переменной в памяти

Описание:

Функция SizeOf возвращает размер в памяти (в байтах) переменной Variable или типа Type.

     Часто бывает полезно узнать, сколько места занимают данные. Особенно при использовании стандартных процедур вроде GetMem.

     Для некоторых типов всегда возвращается размер указателя, так как они и являются просто указателями на данные, хранимые эти типом. Примером таких типом являются строки.

     Для получения размера объекта используйте метод InstanceSize.

Пример кода:

var
   intNumber : Integer;
   extNumber : Extended;
   sentence : string;

begin
   // Display the sizes of a number of data types
   ShowMessageFmt(' SizeOf(Integer) = %d',[SizeOf(Integer)]);
   ShowMessageFmt('SizeOf(intNumber) = %d',[SizeOf(intNumber)]);
   ShowMessageFmt(' SizeOf(Extended) = %d',[SizeOf(Extended)]);
   ShowMessageFmt('SizeOf(extNumber) = %d',[SizeOf(extNumber)]);

   // String types and variables are pointers to the actual strings
   sentence := 'A long sentence, certainly longer than 4';
   ShowMessageFmt(' SizeOf(string) = %d',[SizeOf(string)]);
   ShowMessageFmt(' SizeOf(sentence) = %d',[SizeOf(sentence)]);
end;

Результат выполнения:

SizeOf(Integer) = 4
SizeOf(intNumber) = 4
SizeOf(Extended) = 10
SizeOf(extNumber) = 10
SizeOf(string) = 4
SizeOf(sentence) = 4

Пример кода:

type
   TRecord = Record
     name : string[10];
     age : Byte;
   end;

var
   recStorage : PChar;

begin
   // Show the size of our record type
   ShowMessageFmt(' SizeOf(TRecord) = %d',[SizeOf(TRecord)]);

   // Allocate storage for ten of these records
   GetMem(recStorage, 10 * SizeOf(TRecord));
end;

Результат выполнения:

SizeOf(TRecord) = 12