Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.014 c
3-1132220839
Baraban
2005-11-17 12:47
2006.01.15
Делфи и Mysql


2-1135592947
john_mag
2005-12-26 13:29
2006.01.15
DateTimePicker


14-1135054847
begin...end
2005-12-20 08:00
2006.01.15
С Днём рождения! 20 декабря


2-1135254448
kotbazilio
2005-12-22 15:27
2006.01.15
TDateTimePicker


3-1132301175
Карелин Артем
2005-11-18 11:06
2006.01.15
Как получить тип поля в FireBird?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский