Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.15;
Скачать: CL | DM;

Вниз

Использование неопределёного числа параметров в процедуре   Найти похожие ветки 

 
Bratskiy ©   (2005-12-28 09:32) [0]

Можно ли как-нибудь в Delphi написать функцию или процедуру, которая использует неопределённое число параметров, и из этих самых параметров построить логическое условие оператора While внутри этой самой процедуры или функции? То есть получить конструкцию типа
While (param_1 or param_2 or ... or param_n) do
где param_i - логическое выражение зависящее от i-го параметра.


 
MBo ©   (2005-12-28 09:39) [1]

параметр - array of Boolean или более общее - array of const


 
dr D   (2005-12-28 09:43) [2]

Неопределённое нет. Можно написать определённое или, если параметры однотипные, то вариантный массив.

Можно.


 
dr D   (2005-12-28 09:46) [3]

вариантный в смысле динамический, не правильно выразился


 
Bratskiy ©   (2005-12-28 09:56) [4]

То есть передать в качестве параметра массив, за тем объявить переменную булевского типа,записать её в условие while, в теле цикла использовать цикл со счётчиком который строил бы выражение
param_1 or param_2 or ... or param_n
затем это выражение присваивать к логической переменной. Я правильно понял?


 
Begin   (2005-12-28 09:57) [5]


> 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([{любое количество любых параметров любого типа}])


 
Begin   (2005-12-28 10:18) [6]


> Bratskiy ©   (28.12.05 09:56) [4]
> То есть передать в качестве параметра массив, за тем объявить
> переменную булевского типа,записать её в условие while,
> в теле цикла использовать цикл со счётчиком который строил
> бы выражение
> param_1 or param_2 or ... or param_n
> затем это выражение присваивать к логической переменной.
>  Я правильно понял?

Именно... :)



Страницы: 1 вся ветка

Текущий архив: 2006.01.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.034 c
14-1134513986
Прожиг
2005-12-14 01:46
2006.01.15
За сколько обычно записываются DVD+R болваники?


14-1134669601
Kolan
2005-12-15 21:00
2006.01.15
Какой СD-ROM DVD RW выбрать


14-1135279886
В.И Мухин
2005-12-22 22:31
2006.01.15
Требуется программист


2-1133631394
CMOS
2005-12-03 20:36
2006.01.15
PrintScreen


14-1134920396
begin...end
2005-12-18 18:39
2006.01.15
С Днём рождения! 18 декабря