Форум: "Основная";
Текущий архив: 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