Главная страница
    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.47 MB
Время: 0.011 c
6-1137258515
Sicilla
2006-01-14 20:08
2006.04.30
Обновление скрипта в Webbrowser


15-1144629638
SergProger
2006-04-10 04:40
2006.04.30
Смешивание двух каналов


15-1144386699
Feg16
2006-04-07 09:11
2006.04.30
Проверка на программерность


9-1126891792
ilya_
2005-09-16 21:29
2006.04.30
Алготитм шашек.


15-1144412299
xayam
2006-04-07 16:18
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский