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

Вниз

Определение размера динамического массива   Найти похожие ветки 

 
Сатир   (2002-06-17 23:31) [0]

Помогите, кто знает, а то самому дольше вникать:-(
есть двумерный динамический массив типа
TSelectedCells = array of array of TRVTableCellData;

var SelectedCells:TSelectedCells;


Как с помощью метода SetLength() определить размер этого массива,
если известно, что у него RowOffs - рядов, ColOffs-столбцов?

Заранее благодарен.


 
kull   (2002-06-18 01:33) [1]

Я думаю

SetLength(SelectedCells,L1)

а дальше по каждому элементу

for i:=Low(SelectedCells) to High(SelectedCells) do
SetLength(SelectedCells[i],L2);


 
MBo   (2002-06-18 07:32) [2]

вторая слева кнопка - F1 вызывает хелп.

var a:array of array of integer;

setlength(a,2,3);




 
Bsl   (2002-06-18 07:46) [3]

Первый вариант предпочтительней, но
for i:=0 to High(SelectedCells)-1 do
и далее по тексту



 
MBo   (2002-06-18 08:08) [4]

>Bsl
ты неправ, -1 не надо


 
GrEG   (2002-06-18 09:46) [5]

Точно, не надо. High - возвращает индекс старшего элемента массива. И вообще, использование Low, High более предпочтительно, кто его знает, что в дальнейшем разработчикам в голову придет.


 
Сатир   (2002-06-18 13:07) [6]

а если у меня создается свойство этого типа, напр.,

TSelectedCells = array of array of TRVTableCellData;
...
private
FCurrentSelection:TSelectedCells;
...
public
...
property CurrentSelection: TSelectedCells read
FCurrentSelection write FCurrentSelection;

и когда в другом модуле я объявляю

if table.GetSelectionBounds tartRow,StartCol,RowOffs,ColOffs)
then SetLength(CurrentSelection, RowOffs, ColOffs);
то компилер плюётся таким макаром:
Constant object cannot be passed as var parameter :-((

может нужно написать методы для чтения и записи этого свойства?


 
Сатир   (2002-06-18 13:51) [7]

2MBo ©
и ещё вопрос по сабжу: в методе setlength(a,2,3);
2 и 3 - это количество элементов или номер максимального индекса?



 
MBo   (2002-06-18 14:04) [8]

количество элементов, high будет на 1 меньше, т.е.
аналог a[0..1,0..2]



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

Форум: "Основная";
Текущий архив: 2002.07.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
3-875
Ulugbek
2002-06-06 16:26
2002.07.01
Мастера опять проблема!


14-1207
Sergo
2002-05-31 14:04
2002.07.01
ЛЮДИ Я СДАЛ КАНДИДАТСКИЙ ПО ФИЛОСОФИИ!!! :))


1-979
chips
2002-06-20 11:14
2002.07.01
работа с файлами


1-945
besen-ok
2002-06-19 17:05
2002.07.01
Емуляция нажаться клавиши при ратоте с MS TErminal Сервер


7-1234
Maverick2002
2002-03-25 03:17
2002.07.01
запись на cd





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский