Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.011 c
15-1144170845
Andy BitOff
2006-04-04 21:14
2006.04.30
Стоит ли продолжать развитие проекта?


15-1144300895
kaif
2006-04-06 09:21
2006.04.30
Пирамиды. Сколько их?


15-1144384101
DelphN!
2006-04-07 08:28
2006.04.30
Поиск утечек памяти в программе


2-1144762527
Der Nechk@ssoff
2006-04-11 17:35
2006.04.30
Данные из ini


2-1145000927
elfebet
2006-04-14 11:48
2006.04.30
Как в ярлык запихнуть иконку?





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