Текущий архив: 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.45 MB
Время: 0.012 c