Главная страница
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.056 c
8-1122298523
Ling
2005-07-25 17:35
2006.01.15
TShockwaveFlash + контекстное меню


14-1134981188
syte_ser78
2005-12-19 11:33
2006.01.15
Exit и Quit


8-1123239406
dest81
2005-08-05 14:56
2006.01.15
Как можна управлять скоростью воспроизведения звуковых файлов


10-1111562885
AloneAli
2005-03-23 10:28
2006.01.15
Как узнать самый крайний активный левый столбец в Excel е?


2-1135427876
LEV'S
2005-12-24 15:37
2006.01.15
Как поместить в трэй свою программу??