Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Процедура с открытыми массивами, двумерный массив 
:(
    Опции темы
Black_Joker
  Дата 16.10.2005, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 9.11.2002
Где: Таганрог

Репутация: нет
Всего: нет



Вычитал у Архангельского, что можно в процедуру передавать не только типизирвоанные, а еще и массивы без указания размера. Но только одномерные
А как в процедуру передать двумерный (или больше) массив без указания размера???
PM   Вверх
Петрович
Дата 17.10.2005, 07:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: 25
Всего: 55



Дык сказано-же:
Цитата(Black_Joker @ 16.10.2005, 21:17)
Но только одномерные





--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
Quadr0
Дата 17.10.2005, 13:47 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 02:19
  Вверх
Петрович
Дата 17.10.2005, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: 25
Всего: 55



Цитата(Quadr0 @ 17.10.2005, 14:47)
Не знаю правильно ли я всё понял, но...

Судя по всему, автор топика имел ввиду открытые массивы (open arrays). А твой пример, это использование динамических массивов.
Вот выдержка из хелпа:
Цитата
Open array parameters allow arrays of different sizes to be passed to the same procedure or function. To define a routine with an open array parameter, use the syntax array of type (rather than array[X..Y] of type) in the parameter declaration. For example,

function Find(A: array of Char): Integer;

declares a function called Find that takes a character array of any size and returns an integer.

Note

The syntax of open array parameters resembles that of dynamic array types, but they do not mean the same thing. The previous example creates a function that takes any array of Char elements, including (but not limited to) dynamic arrays. To declare parameters that must be dynamic arrays, you need to specify a type identifier:

type TDynamicCharArray = array of Char;
function Find(A: TDynamicCharArray): Integer;



--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
-Black_Joker-
Дата 17.10.2005, 15:42 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Да, я имел в виду именно open arrays. Жаль, что никак нельзя сделать этого...

Еще вопрос: в процедуре1 заложена процедура2. В процедуру подаются открытые масивы. Можно ли в процедуре 2 использовать динамические массивы, зависящие от открытых???

Как преслать двумерный масив неизвестной длины в процедуру?

Код

procedure procedure_1(a: array of integer);
type
type_1 = ***
 
var
procedure procedure_2(b: type_1);
  begin {procedure_2}
  end;  {procedure_2}

begin
end;


Это сообщение отредактировал(а) Alex - 17.10.2005, 21:29
  Вверх
Петрович
Дата 17.10.2005, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: 25
Всего: 55




Цитата(Black_Joker @ 17.10.2005, 16:42)
Можно ли в процедуре 2 использовать динамические массивы, зависящие от открытых???

Естественно.

Цитата(Black_Joker @ 17.10.2005, 16:42)
Как преслать двумерный масив неизвестной длины в процедуру?

Только если использовать динамические массив.

Цитата(Black_Joker @ 17.10.2005, 16:42)
procedure procedure_1(a: array of integer);...

1. Примеры кода надо оформлять тегом [СODE]
2. А где здесь двумерный массив?



--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0493 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.