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

Вниз

Может тупой вопрос, извините если что   Найти похожие ветки 

 
Альф ©   (2003-01-29 12:19) [0]

Как определить размер динамического массива в байтах чтобы можно было его сохранить в файле через TFileStream.Write ???


 
Anatoly Podgoretsky ©   (2003-01-29 12:25) [1]

Любого затруднительно, приведи описание своего массива.


 
alxx ©   (2003-01-29 12:26) [2]


Length(Massiv)*SizeOf(TypeOfElementOfMassiv)


 
alxx ©   (2003-01-29 12:27) [3]

Хотя, наверное, там еще что-то должно показывать его длину...


 
han_malign ©   (2003-01-29 12:31) [4]

Кроме шуток - sizeof(Massiv[0])


 
Cu ©   (2003-01-29 12:33) [5]

длина массива - (High(массив) + 1)
а размер (High(массив) + 1) + SizeOf (элемент массива)

например:
A: array of Integer;
размер А в байтах = (High(A) + 1)* SizeOf (Integer)


 
Альф ©   (2003-01-29 12:36) [6]

Нуу простенький массив - чего тут :)

TAInteger = array of integer;
TAString = array of string;
...
protected
FAI: TAInteger;
FAS: TAString;


А так чтобы оба ??? - типа sizeof(FAI) + sizeof(FAS) ???
Тогда как определять адрес - откуда брать ???


 
Cu ©   (2003-01-29 12:38) [7]

а ну да - или Lenght вместо High и без + 1 :o/


 
Anatoly Podgoretsky ©   (2003-01-29 12:46) [8]

Первый Length(TAInteger) * SizeOf(Integer)
Второй для TFileStream.Write смысла не имеет


 
han_malign ©   (2003-01-29 12:54) [9]

> TAString = array of string;
:)))))))))))
- и вообще разбежался - что-бы динамические массивы и открытые строки в непрерывной области памяти лежали(не говоря уж о заголовках блоков памяти дописываемых Borland MM).
Поэлементно батенька - не бойтесь ручки замарать, а для строк еще и длинну читать/писать надо...


 
alxx ©   (2003-01-29 12:55) [10]

То-то я смотрю, че то у меня не получалось...


 
Альф ©   (2003-01-29 13:10) [11]

2han_malign © (29.01.03 12:54)
Ну извини не так да :( - согласен надо:
TAString = array of string[64];


 
Mystic ©   (2003-01-29 13:16) [12]

Предпочитаю для динамических массивов использовать конструкцию вроде Length(MyArray) * SizeOf(MyArray[0]). В этом случае можно поменять тип элементов массива не внося существенных изменений в исходники.


 
Anatoly Podgoretsky ©   (2003-01-29 13:24) [13]

Такой тип уже пойдет для TFileStream
Размер уже знаешь как вычислять



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

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

Наверх




Память: 0.49 MB
Время: 0.021 c
3-15480
Наташа
2003-01-20 16:57
2003.02.06
Хранимые процедуры


6-15776
Noname_
2002-12-10 17:07
2003.02.06
502 Proxy Error


14-15863
yaric
2003-01-19 18:53
2003.02.06
Сабж по Ib


14-15876
Сергей Чурсин
2003-01-19 15:47
2003.02.06
Андрей Паршев. Почему Россия не Америка


3-15510
Max_
2003-01-18 13:58
2003.02.06
Индексированное поле