Форум: "Основная";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];
ВнизПроцедура/функция с переменным набором параметров. Найти похожие ветки
← →
Дельфятник. (2002-11-26 15:41) [0]Есть ли в Delphi возможность задавать значения некоторых формальных параметров, чтобы можно было вызывать эту процедуру с разным списком фактических параметров? И если есть, то как должен выглядеть заголовок такой процедуры?
← →
MBo (2002-11-26 15:44) [1]1. overload
2. array of const
← →
Smithson (2002-11-26 15:44) [2]Array of Integer - неограниченное количество интегеров
Array of String - неограниченное количество строк
ну и т.д.
А вот разные параметры - по-моему, можно сделать Array of Variant.
← →
Marcus (2002-11-26 15:44) [3]Типичный пример - функция Format из SysUtils
function Format(const Format: string; const Args: array of const): string;
← →
Дельфятник. (2002-11-26 15:48) [4]Спасибо всем. Просто я думал, что в Delphi это можно как в С++ сделать, а оказалось, что нельзя. Ну да ладно.
← →
icWasya (2002-11-26 16:19) [5]ну не совсем нельзя
можно написать так
procedure Pop(a:Integer;Ok:Boolean=false);
а вызывать так
Pop(10);
или
Pop(15,true);
← →
Дельфятник (2002-11-26 16:29) [6]Спасибо, icWasya! Это то, что надо.
Жаль только, что в качестве значения по умолчанию нельзя подставить программную переменную...
← →
Fantasist (2002-11-27 07:30) [7]
> Спасибо, icWasya! Это то, что надо
Вот это да! В начале спрашивают про "разный список фактических параметров", а потом оказывается, что параметры по умолчанию это то, чтот нужно. :) До самого последнего постинга я думал, что человек под "можно как в С++ сделать" понимал: void funct(int i, ...)
← →
SottNick (2002-11-27 08:03) [8]>>Жаль только, что в качестве значения по умолчанию нельзя подставить программную переменную...
а зачем, раз она глобальная (она глобальная?), передавать ее в процедуру вообще? пусть процедура ее сама берет
var c:integer;
procedure Pop(a:Integer;b:Integer=-10000);
begin
if b=-10000
then
b:=c;
end;
← →
Дельфятник (2002-11-29 16:30) [9]Оказывается, в качестве значения по умолчанию можно подставить типизированную константу, значение которой можно менять в программе, при директиве {$J+}, которая установлена по умолчанию. А этот как раз то, что мне надо.
Спасибо всем.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.012 c