Главная страница
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.067 c
2-1145024356
Khim
2006-04-14 18:19
2006.04.30
Как зная хендл окна редактирования получить из него текст?


15-1144603517
DillerXX
2006-04-09 21:25
2006.04.30
Как называется книга?


2-1145093509
Системщик
2006-04-15 13:31
2006.04.30
Помогите нубу


15-1144395851
tria
2006-04-07 11:44
2006.04.30
Можно ли узнать, что данный exe сгенерирован Delphi?


15-1144155296
Сергей М.
2006-04-04 16:54
2006.04.30
Скрипт сего форума - баги эти затрахали уже ..