| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Создание функции с "необязательным" параметром |
| Автор: mspuz 1.3.2006, 10:50 |
| Во многих языках программирования есть часть функций, которые имеют параметры, которые необязательно указывать в конкретно взятой ситуации. В описаниях они часто обазначаются в квадратных скобках. А как создать такой параметр в своей функции??? Т.е. я могу указать его значение, а могу просто ничего не указывать. И если это возможно, то как в самой функции отслеживать, что количество параметров уменьшилось??? |
| Автор: Snowy 1.3.2006, 11:06 | ||
|
| Автор: Slaad 1.3.2006, 11:56 |
| И обязательное требование, чтобы инициализированные параметры всегда были в конце. |
| Автор: Snowy 1.3.2006, 12:11 |
| Также можно сделать переменное кол-во параметров на основе массивов. Вот пример, как это делается: http://forum.vingrad.ru/index.php?showtopic=83441&view=findpost&p=643498 Добавлено @ 12:12 Это на случай, когда переменное количество должно быть в любом месте. |
| Автор: mspuz 1.3.2006, 13:33 |
| Snowy, А как для функции будет, как мне написать такой вот пример: function MyF(Kolvo:Integer; MyMas: array of String = []):Integer; Выдает ошибку, что для данного параметра нельзя устанавливать значение по умолчанию. Т.е. для дин. массива такое не прокатит??? |
| Автор: Snowy 1.3.2006, 13:38 | ||
Добавлено @ 13:39 Ты уж определись, что ты будешь использовать. Второй и третий вариант несовместимы. |
| Автор: mspuz 1.3.2006, 13:49 |
| Snowy, Мне нужно, чтобы можно было не задавать второй параметр (MyMas), если он не требуется, т.е. написать: MyF(2); - не нужен или MyF(2,['1','2','3']); - нужен |
| Автор: Snowy 1.3.2006, 13:56 | ||
Тогда используй в комбинации с первым вариантом:
|