Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2011, 13:51   #1
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
Восклицание Необязательный параметр - массив

Возникла такая проблема в разработке одной программы, нужно реализовать необязательную передачу массива, т.е. например вот так мы делаем с обычными параметрами:
Код:
Function MyFunc(myPar:Boolean = false):Boolean;
Begin
         //.....
End;
А теперь мне нужно сделать то же самое, но с массивом. Вопрос: как?
_-Re@l-_ вне форума Ответить с цитированием
Старый 15.03.2011, 14:28   #2
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Динамические массивы могут использоваться как параметры (см. в справке "Open array parameters").
Прик вне форума Ответить с цитированием
Старый 15.03.2011, 14:33   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Можно просто передавать пустой массив
Код:
Function MyFunc(myPar:array of чето):Boolean;
Begin
         //.....
End;
Код:
MyFunc([]);
Или через указатели.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.03.2011, 19:53   #4
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Ну ладно, ладно, спасибо...
Хотя я вообще-то вопрос неправильно поставил...
_-Re@l-_ вне форума Ответить с цитированием
Старый 15.03.2011, 20:12   #5
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

хех) вопрос Вы в принципе задали правильно... товарищи адванседмемберы неправильно прочитали))
сори за офтоп. я лично ответа не знаю...
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Старый 16.03.2011, 07:09   #6
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Цитата:
Хотя я вообще-то вопрос неправильно поставил...
Ну вы уж постарайтесь вдругой раз

А в этот раз основываясь на
Цитата:
необязательную передачу массива
я понял задачу так
Код:
procedure MyProc; overload;
begin
  ShowMessage ('Пусто');
end;

procedure MyProc (AArr: TArr); overload;
begin
  ShowMessage (IntToStr (Length (AArr)));
end;
Sibedir вне форума Ответить с цитированием
Старый 16.03.2011, 12:40   #7
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

хм... интересное решение. я в сырцах борланда часто такое встречаю.
процедура сама выбирается в зависимости от параметров?
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Старый 16.03.2011, 12:45   #8
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
процедура сама выбирается в зависимости от параметров?
Johnson, знаете ли вы, что такое перегрузка функций?
_-Re@l-_ вне форума Ответить с цитированием
Старый 16.03.2011, 18:44   #9
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Цитата:
Вопрос: как?
На вопрос отвечает Борланд:

Код:
procedure defArray(a: array of integer = [1, 2]);
begin
end;
[Error] Unit1.pas(52): Parameters of this type cannot have default values

Т.е. никак.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 17.03.2011, 07:09   #10
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

_-Re@l-_, честно, нет. Ну не учили меня прохвессора, сам учусь потихоньку... До этого ещё не добрался.
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив как параметр функции MovsesIV Общие вопросы C/C++ 2 02.12.2010 03:07
Необязательный параметр Boolean _-Re@l-_ Общие вопросы Delphi 4 19.06.2010 19:01
Необязательный параметр TBitmap _-Re@l-_ Общие вопросы Delphi 1 17.06.2010 12:44
C++ - массив как параметр функции kefir Помощь студентам 8 12.04.2010 17:48
Динамически массив как параметр ф-ии SNUPY Помощь студентам 2 11.05.2008 01:16