![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
mspuz |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 20.6.2005 Где: Ногинск Репутация: нет Всего: нет |
Во многих языках программирования есть часть функций, которые имеют параметры, которые необязательно указывать в конкретно взятой ситуации. В описаниях они часто обазначаются в квадратных скобках. А как создать такой параметр в своей функции??? Т.е. я могу указать его значение, а могу просто ничего не указывать. И если это возможно, то как в самой функции отслеживать, что количество параметров уменьшилось???
Это сообщение отредактировал(а) mspuz - 1.3.2006, 10:51 |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
|
|||
|
||||
Slaad |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 10.2.2006 Репутация: нет Всего: нет |
И обязательное требование, чтобы инициализированные параметры всегда были в конце.
|
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Также можно сделать переменное кол-во параметров на основе массивов.
Вот пример, как это делается: http://forum.vingrad.ru/index.php?showtopi...p;#038;p=643498 Добавлено @ 12:12 Это на случай, когда переменное количество должно быть в любом месте. |
|||
|
||||
mspuz |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 20.6.2005 Где: Ногинск Репутация: нет Всего: нет |
Snowy, А как для функции будет, как мне написать такой вот пример:
function MyF(Kolvo:Integer; MyMas: array of String = []):Integer; Выдает ошибку, что для данного параметра нельзя устанавливать значение по умолчанию. Т.е. для дин. массива такое не прокатит??? |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Добавлено @ 13:39 Ты уж определись, что ты будешь использовать. Второй и третий вариант несовместимы. |
|||
|
||||
mspuz |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 20.6.2005 Где: Ногинск Репутация: нет Всего: нет |
Snowy, Мне нужно, чтобы можно было не задавать второй параметр (MyMas), если он не требуется, т.е. написать:
MyF(2); - не нужен или MyF(2,['1','2','3']); - нужен |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Тогда используй в комбинации с первым вариантом:
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |