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

Вниз

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

 
Сатир   (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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
1-1084
Alessio
2002-06-13 23:24
2002.07.01
Как изменить вид кнопки?


14-1143
~Sergius
2002-05-19 19:37
2002.07.01
ВНИМАНИЕ! СЕКРЕТНЫЕ ТЕХНОЛОГИИ!!!


3-856
Oleg_EM
2002-06-04 09:41
2002.07.01
Как вернуть несколько значений из процедуры/функции в ?


8-1110
CG
2002-02-07 21:07
2002.07.01
Копирование изображения под формой


3-860
DKalinin
2002-06-06 14:38
2002.07.01
Помогите чайнику. Как передать параметр в ADOStoredProc?