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

Вниз

Длина массива в байтах.   Найти похожие ветки 

 
Andy BitOff ©   (2006-03-23 01:26) [0]

Как узнать длину массива в байтах? Структура массива следующая:

type
 TSInfo = record
   sRect: TRect;
   Square: integer;
 end;
 TSArr = Array of TSInfo;
...
var
 SArray: array of TSArr;

После всех манипуляций с массивом, хотелось бы узнать сколько памяти он займет.


 
Джо ©   (2006-03-23 01:34) [1]

SizeOf(TSInfo)*Length(SArray)


 
Andy BitOff ©   (2006-03-23 01:38) [2]

Спасибо.


 
TUser ©   (2006-03-23 06:58) [3]

В таких случаях лучше использовать packed record. А то при использовании в массиве полей типов byte, boolean, shortint, shortstring и прочих - способ [1] будет давать неверный результат.


 
MBo ©   (2006-03-23 07:25) [4]

> способ [1] будет давать неверный результат.
Почему это он будет неверный?
Проблемы могут быть только с совместимостью


 
TUser ©   (2006-03-23 07:39) [5]


> MBo ©   (23.03.06 07:25) [4]

Да, конечно. Извините.


 
Anatoly Podgoretsky ©   (2006-03-23 09:31) [6]

Массив то двухмерный!


 
SergP.   (2006-03-23 11:09) [7]

Х/з... Наверное тогда что-то типа:

l:=0;
for i:=0 to high(SArray) do l:=l+length(SArray[i]);
S:=l*sizeof(TSInfo)+length(SArray);



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

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

Наверх




Память: 0.48 MB
Время: 0.027 c
1-1141427734
fenixaz
2006-03-04 02:15
2006.04.09
Вопросы по ComboBox


15-1142606592
DelphiLexx
2006-03-17 17:43
2006.04.09
Локализция языка программы написанной на Delphi


2-1143102218
wild_arg
2006-03-23 11:23
2006.04.09
5 знаков после запятой в DBGrid


11-1123713644
Thaddy
2005-08-11 02:40
2006.04.09
Why does kol and D2005 seem to work only in PAS_VERSION mode?


2-1143444583
ms_odin
2006-03-27 11:29
2006.04.09
Как обойти привелегированную инструкцию для записи в порт?