举例:tpye
myfunc1=function(a:integer):integer;////
myfunc=function(a:XXXX):integer; ///这里的XXXX不知该填什么好,请指点var
func1:myfunc1;
func:myfunc;
implementationfunction func1(a:integer):integer;
begin
result:=a+a;
end;
如果像函数1那样定义话,那么我在实现部分定了了函数后就可以通过 func(100)等调用函数1,但是如果我想让我的函数通过我自己来决定函数的参数类型的话要怎样做??
也就是说当我 调用Func时,如果格式是:func(100),那么我得函数就调用参数未整形的版本
如果调用为func(1.2),那么函数就调用另外一个版本实现
function func(a:real):real;
begin
result:=a+a;
end;这样该函数要如何去做??
我得问题也就是说,怎样再定义一个函数时先不指定它函数参数的类型,然后通过我在调用时指定参数的类型,请大家指点一下啊!麻烦了
myfunc1=function(a:integer):integer;////
myfunc=function(a:XXXX):integer; ///这里的XXXX不知该填什么好,请指点var
func1:myfunc1;
func:myfunc;
implementationfunction func1(a:integer):integer;
begin
result:=a+a;
end;
如果像函数1那样定义话,那么我在实现部分定了了函数后就可以通过 func(100)等调用函数1,但是如果我想让我的函数通过我自己来决定函数的参数类型的话要怎样做??
也就是说当我 调用Func时,如果格式是:func(100),那么我得函数就调用参数未整形的版本
如果调用为func(1.2),那么函数就调用另外一个版本实现
function func(a:real):real;
begin
result:=a+a;
end;这样该函数要如何去做??
我得问题也就是说,怎样再定义一个函数时先不指定它函数参数的类型,然后通过我在调用时指定参数的类型,请大家指点一下啊!麻烦了
begin
case VarType(aParam) of
varInteger:result:='整型';
varString:result:='字符串';
varDate:result:='日期';
varBoolean:result:='布尔型';
//等等,请参阅 VarType 函数的用法!
end;
end;
function(AVAlue: string): integer;var
result1, result2: integer;
begin
result1 := function(5);
result2 := function('5');
end;
它的声明如下
function a(var aa);integer;假如我想把aa赋值给另外一个变量,那么这个变量该声明为什么类型呢??
如果声明为
variant
byte
integer
......声明为以上任何一种都会出现类型不匹配。
var
aaa:variant;
aaaa:byte;aaa:=aa;
aaaa:=aa; (不管怎样还是无法赋值)
有什么其他办法吗?请指教~