Главная страница
    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.007 c
1-980
ЛенаК
2002-06-17 09:02
2002.07.01
Печать графика в масштабе


1-1048
admin_serg
2002-06-18 18:08
2002.07.01
Печать текстового файла


3-899
Darts
2002-06-07 15:12
2002.07.01
Перехват ошибки


1-968
MikeFW
2002-06-20 09:17
2002.07.01
Два TreeView. Как переносить данные из одного дерева в другое


1-1099
Виктор
2002-06-15 12:00
2002.07.01
Как форматировать текст в RichEdit по ширине?





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