Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.02.06;
Скачать: [xml.tar.bz2];

Вниз

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

 
Альф   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.011 c
14-15832
Дружина им. Ленина
2003-01-22 15:19
2003.02.06
Подскажите где скачать Turbo Bascalъ 7


6-15795
dkDimon
2002-12-14 15:14
2003.02.06
Док по SMTP


1-15663
Savik
2003-01-29 17:49
2003.02.06
Автоосвобождение динамического массива


1-15637
ЮРИЙ_К
2003-01-29 08:55
2003.02.06
Снимок текстового экрана в JPG ???


1-15683
Alexander
2003-01-27 09:17
2003.02.06
При печати создаются spool файлы. Если я задал печать в формате





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский