![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Двумерные массивы строк в качестве параметров процедур и функций [D7, Win2k]
Frosty © (2006-03-23 15:28:00)Вопрос вот в чем:
имеються различные (разного размера) двумерные массивы константы:
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-24 13:16:00) [1]Anatoly Podgoretsky: Не все, еще нужен тип
Ну, это понятно, и, к тому же, было указано выше :)
Я просто привел пример на фразу "А хотелось бы разных" (C).
tesseract (2006-03-24 12:17:00) [2]
> Не типа variant, а типа TVarRec.
Да есть такое.
Leonid Troyanovsky (2006-03-24 09:29:00) [3]
> tesseract © (24.03.06 09:16) [5]
> массивы типа variant.
Не типа variant, а типа TVarRec.
Просто, название такое - variant open array parameters.
--
Regards, LVT.
tesseract (2006-03-24 09:16:00) [4]попробуй openarrays - они представляют собой динамические массивы типа variant.
function test(value:array of const):bolean;
Anatoly Podgoretsky (2006-03-23 16:31:00) [5]Не все, еще нужен тип.
Старик (2006-03-23 16:21:00) [6]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); вот и все.
Frosty (2006-03-23 15:51:00) [7]Тогда я буду передавать в функцию массивы только одного размера.
А хотелось бы разных, как и было указано в вопросе.
Джо (2006-03-23 15:32:00) [8]
type
TCaArray1 = array [0..C1-1, 0..c2-1+1] of string;
const
caArray1 : TCaArray1 = ...
function f1 (CompStateArray: TCaArray1 ): boolean;
В таком духе.