Конференции:  3D графика Delphi Игры Бизнес Потрепаться PHP&MySQL QuarkXPress Turbo Pascal WEB-дизайн 
<<<    Конференция "Delphi"   >>>
Yuras [2004-01-09 02:58:58]
Процедуры и функции
Кто нибудь знает как сделать ПРОЦЕДУРУ или ФУНКЦИЮ УНИВЕРСАЛЬНОЙ, т.е. которая может работать с параметрами разных типов? Например, функция Write может печатать как переменные типа Integer, так и переменные типа Real, причем хоть 5, хоть 10 переменных...

YuRock [2004-01-10 15:06:21]    [1]
Можно использовать тип вариант, можно делать функции/процедуры с директивой overload:

function TestFunc(Param: Variant): Boolean; overload;
begin
 Result := True;
end;

function TestFunc(Param1: Variant, Param1: Variant): Boolean; overload;

begin
 Result := True;
end;

yuras [2004-01-11 04:22:32]    [2]
А можно поподробнее: как работать с переменными типа Variant внутри процедуры/функции.

KSergey [2004-03-03 14:22:47]    [3]
Процедура Write "не честная" в том смысле, что ее аналог нельзя создать средствами дельфи. Ну нет такого в синтаксисе паскаля, чтобы можно было объявить ф-цию с переменным числом параметров.

Однако, можно сделать либо перегруженную (но все равно только для ограниченного числа параметров), либо см., например, ф-цию Format - вторым параметром ей можно записать что хочешь. Она уже сделана в соответствии с языком. Т.е. ее аналог сделать можно.
Как - см. исходники VCL.

SomeOne [2005-12-04 13:13:04]    [4]
wss> перегруженную (но все равно только для ограниченного числа
> параметров), либо см., например, ф-цию Format - вторым параметром
> ей можно записать что хочешь. Она уже сделана в соответствии
> с языком. Т.е. ее аналог сделать можно.www



ПОДПИСАТЬСЯ НА ТЕМУ

E-mail
7+8?



приветя улыбаюсьхадаподмигиваюя тащусьмое почтениесчастливоцелуюбухаемужас
не понялплачуфупечальзлойстесняюсьсогласеннетгыкурю
суперязыкмузонпыворыдаю


Ваше имя: 
     Осталось: 

 

Допускается форматирование текста:
[•B]полужирный[B•] [•I]наклонный[I•] [•U]подчеркнутый[U•] [•‹]URL картинки[›•].
Для кода программ используйте [•¤] код программы [¤•]
Количество открывающих и закрывающих тэгов форматирования текста должно быть равным, иначе форматирование не осуществится.


Adelavida Link       Рейтинг@Mail.ru