![]() |
Вопрос: передача параметров функций в Delphi
Можно ли в Делфе в функцию передавать переменное число параметров, тип каждого из которых может варьироваться - (т.е. заранее неизвестно сколько переменных, каких типов и в каком порядке передается)?
Пример (для чего это нужно): функция произведения матриц в которую можно было бы передавать вектор-строки, вектор-столбцы и квадратные матрицы (т.е. либо одномерные массивы длины n, либо двумерные nXn, разумеется в правильном порядке и с допустимой размерностью), а результатом тоже будет вектор или матрица - смотря что получится. Как можно такое реализовать? Заранее спасибо! |
PLP
Именно для твоего примера проще указать overload функции: Код:
|
Цитата:
Код:
procedure f(arg: array of const);f([100, True, nil, TObject]); Добавлено через 6 минут: Так же смотри здесь: http://www.delphiworld.narod.ru/base..._any_type.html http://delphiworld.narod.ru/base/call_c_function.html http://www.delphiworld.narod.ru/base...ams_count.html |
Если заранее не известно, какого типа параметры (Integer, Float etc.), можно использовать функцию VarArrayOf
Код:
procedure SendEvent(Event: String; const Params: Variant); |
| Часовой пояс GMT +4, время: 08:01. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.