![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование неопределёного числа параметров в процедуре
Bratskiy © (2005-12-28 09:32:00)Можно ли как-нибудь в Delphi написать функцию или процедуру, которая использует неопределённое число параметров, и из этих самых параметров построить логическое условие оператора While внутри этой самой процедуры или функции? То есть получить конструкцию типа
While (param_1 or param_2 or ... or param_n) do
где param_i - логическое выражение зависящее от i-го параметра.
Begin (2005-12-28 10:18:00) [1]
> Bratskiy © (28.12.05 09:56) [4]
> То есть передать в качестве параметра массив, за тем объявить
> переменную булевского типа,записать её в условие while,
> в теле цикла использовать цикл со счётчиком который строил
> бы выражение
> param_1 or param_2 or ... or param_n
> затем это выражение присваивать к логической переменной.
> Я правильно понял?
Именно... :)
Begin (2005-12-28 09:57:00) [2]
> dr D (28.12.05 09:43) [2]
> Неопределённое нет.
В процедуру можно передать массив параметров любой длины, в котором все элементы будут произвольного типа...
procedure SomeProc(InParm : array of variant);
var i : integer;
begin
for i:= 0 to Length(InParm)-1 do
case varType(InParm[i]) of
varInteger : begin .... end;
varDouble : begin .... end;
{и т. д.}
end
end;
SomeProc([{любое количество любых параметров любого типа}])
Bratskiy (2005-12-28 09:56:00) [3]То есть передать в качестве параметра массив, за тем объявить переменную булевского типа,записать её в условие while, в теле цикла использовать цикл со счётчиком который строил бы выражение
param_1 or param_2 or ... or param_n
затем это выражение присваивать к логической переменной. Я правильно понял?
dr D (2005-12-28 09:46:00) [4]вариантный в смысле динамический, не правильно выразился
dr D (2005-12-28 09:43:00) [5]Неопределённое нет. Можно написать определённое или, если параметры однотипные, то вариантный массив.
Можно.
MBo (2005-12-28 09:39:00) [6]параметр - array of Boolean или более общее - array of const