Главная страница
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.013 c
8-15768
vixic
2002-10-23 10:10
2003.02.06
Рисунок на канву Panel?


3-15463
oleon
2003-01-20 13:54
2003.02.06
Как при подключении передать серверу HOST_NAME?


1-15755
Fiend
2003-01-28 11:00
2003.02.06
Хотел было поймать WM_MDIMAXIMIZE, да не тут-то было :(


6-15793
1g0r
2002-12-14 13:32
2003.02.06
Вопрос по стандартным TClient(Server)Socket-ам (ошибка 10054 WSAE


14-15851
stasSSW
2003-01-18 17:38
2003.02.06
БД ADO