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

Вниз

Двумерные массивы строк в качестве параметров процедур и функций   Найти похожие ветки 

 
Frosty ©   (2006-03-23 15:28) [0]

Вопрос вот в чем:
имеються различные (разного размера) двумерные массивы константы:

Const
с1=..;
с2=..;
с3=..;
с4=..;

caArray1     :array [0..C1-1, 0..c2-1+1] of string =
                  (    "0" ,   ***   ,  "1" ),
                                *
                                *
                                *
                  (    "1" ,   ***    ,  "1" ));
caArray2     :array [0..C3-1, 0..c4-1+1] of string =
                  (    "0" ,   ***   ,  "1" ),
                                *
                                *
                                *
                  (    "1" ,   ***    ,  "1" ));
***

И соответственно процедура иль функция
function  f1  (CompStateArray: array of string): boolean;

Как можно передать в эту функцию массивы описанные выше?
И как их юзать в теле функции? Как приведено здесь выдает ошибку Incompatible Types.
Можно конечно переменные инициализить константами, но хочеться прям в лоб передавать в функцею любой константный двумерный строковый массив. Может кто подскажет?


 
Джо ©   (2006-03-23 15:32) [1]

type
 TCaArray1 = array [0..C1-1, 0..c2-1+1] of string;

const
 caArray1     : TCaArray1 = ...

function  f1  (CompStateArray: TCaArray1 ): boolean;

В таком духе.


 
Frosty ©   (2006-03-23 15:51) [2]

Тогда я буду передавать в функцию массивы только одного размера.
А хотелось бы разных, как и было указано в вопросе.


 
Старик   (2006-03-23 16:21) [3]

Frosty:
Для этого есть динамические массивы.
Одномерный:
var ttt : array of integer/string/byte etc.
begin
SetLength(ttt, Num); где Num - это параметр, который определит размер твоего массива, т.е. количество его элементов.

С двумерными аналогично:
var ttt : array of array of integer/string/byte etc.
begin
SetLength(ttt, Width, Height); вот и все.


 
Anatoly Podgoretsky ©   (2006-03-23 16:31) [4]

Не все, еще нужен тип.


 
tesseract ©   (2006-03-24 09:16) [5]

попробуй openarrays - они представляют собой динамические массивы типа variant.


function test(value:array of const):bolean;


 
Leonid Troyanovsky ©   (2006-03-24 09:29) [6]


> tesseract ©   (24.03.06 09:16) [5]

> массивы типа variant.


Не типа variant, а типа TVarRec.
Просто, название такое - variant open array parameters.

--
Regards, LVT.


 
tesseract ©   (2006-03-24 12:17) [7]


> Не типа variant, а типа TVarRec.


Да есть такое.


 
Старик   (2006-03-24 13:16) [8]

Anatoly Podgoretsky: Не все, еще нужен тип
Ну, это понятно, и, к тому же, было указано выше :)
Я просто привел пример на фразу "А хотелось бы разных" (C).



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

Текущий архив: 2006.04.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.043 c
15-1144732818
Alkid
2006-04-11 09:20
2006.04.30
С Днём рождения! 11 апреля.


2-1144849467
que
2006-04-12 17:44
2006.04.30
GetMem&Buffer of data


4-1138995884
helptome
2006-02-03 22:44
2006.04.30
WriteProcessMemory


15-1144665977
syte_ser78
2006-04-10 14:46
2006.04.30
delfolders.exe


2-1144428693
TimScorp
2006-04-07 20:51
2006.04.30
Условия отбора