Главная страница
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.015 c
14-15922
Дремучий
2003-01-20 23:17
2003.02.06
Постучали мне на аську.... :))


1-15548
arsen
2003-01-28 14:39
2003.02.06
Печать DBGrid


14-15939
Uncle Archi
2003-01-21 21:26
2003.02.06
Zip


1-15602
Jaxtor
2003-01-29 10:44
2003.02.06
ComboBox и Button


14-15919
VictorT
2003-01-21 11:28
2003.02.06
Прикол.