Двовимірний відкритий масив як параметр ф-ції
Як передати ф-ції масив виду:
A: array of array of Integer?
pricedure F (A: array of array of Integer);
береш текст функції і вставлешь його замість виклику функції для обробки свого масиву.
опиши тип, і передавай його.
TArray = array of array of Integer;
еммм. а що таке відкритий масив ??
Це спец.тіп масивів.
Відкритий масив-параметр - зручний узагальнений спосіб передачі динамічних масивів, статичних масивів будь-якої довжини (проте всередині процедури нумерція з нуля), в тому числі і з var або const - модифікаторами, а також відкритих масивів-конструкторів (в квадратних дужках).
Спасибі всім за поради!
Я взагалі-то так і припускав, але хотілося почути думку поважної публіки!
Як я зрозумів з рад Сергій М. та MBo, а також прочненія Дельфовского хелпа, самий майже правильний ваніант запропонував @ !! ex, хоч і не знав, що таке відкритий масив. :)
TArray = array of Integer;
в сенсі F (A: array of TArray);
> В сенсі F (A: array of TArray);
немає, краще так, як @ !! ex написав
Те Сергій М. Може я чогось не дуже розумію, але мені в ф-цію треба передати масив, розмірність якого не відома заздалегідь. Як написав MBo для цього в якості параметра використовується відкритий масив. Саме це я і мав на увазі, і нічого більше :)
Тобто різницю між відкритими і динамічними ти так і не усвідомив, а лише б чогось передалося.
> Розмірність якого не відома заздалегідь
> DiamondShark © # XA0; (18.12.07 16:43) [14]
> Тобто різницю між відкритими і динамічними ти так і не
> Усвідомив, а лише б чогось передалося.
І ось чому: відкриваю Стіва Тейксейра і Ксав'є Пачеко "Borland Delphi4. Керівництво розробника." Стор. 70. Відкритий масив.
Відкритий масив дає можливість передавати в функцію або процедуру різну кількість параметрів. Ви можете передати в якості параметра відкритий масив елементів як однакового, так і різного типу. Ось приклад передачі функції відкритого масиву цілих чисел:
function AddEmUp (A: array of Integer): Integer;
І це ніяк не збігається з [15].
В догонку: відкрив Ніжин "Delphi 7 Довідкове керівництво". Стор. 163. Параметри у вигляді відкритих масивів.
Там прям практично слово в слово написано як у мене в [13]
Ну, тоді з прочитаного ти повинен був усвідомити що:
1. двовимірних відкритих масиву не бував.
procedure P (A: TA);
procedure P (A: TA);
procedure P (A: array of TA);
б) - динамічний масив
в) - динамічний масив динамічних масивів (це НЕ двовимірний масив)
г) - відкритий масив динамічних масивів