如何用 type 为函数重命名? ( 积分: 100 )

  • 主题发起人 主题发起人 animator
  • 开始时间 开始时间
A

animator

Unregistered / Unconfirmed
GUEST, unregistred user!
就像 C++ 里面的 typedef 那样,重新定义一个函数名。
只是给函数改名,不改变参数和功能。
在 Delphi 里面如何实现这样的效果:
将函数
function Copy(S
Index, Count: Integer): string
{这个函数名怪怪的,不符合思维习惯}
重新定义成
function SubStr(S
Index, Count: Integer): string;{其他的语言几乎都用SubStr这个名字}
 
就像 C++ 里面的 typedef 那样,重新定义一个函数名。
只是给函数改名,不改变参数和功能。
在 Delphi 里面如何实现这样的效果:
将函数
function Copy(S
Index, Count: Integer): string
{这个函数名怪怪的,不符合思维习惯}
重新定义成
function SubStr(S
Index, Count: Integer): string;{其他的语言几乎都用SubStr这个名字}
 
你直接写这个函数不就行了?
function SubStr(S:string
Index, Count: Integer): string;
begin
result :=Copy(S,Index, Count):
end;
 
我目前是用这种方法的
但是觉得不太优美,而且多了一步调用,心理上不够痛快,呵呵
C++是可以做到的,我不知道Delphi怎么做,试了好几种方法都不行
 
有,但是更麻烦,只是少一部调用
Type
TSubStr = function(S
Index, Count: Integer): string
var
SubStr: TSubStr ;
begin
SubStr:= @Copy;
.....
end
 
呵呵。你可以把这些不大优美的转换函数都放到一个单元里,别的单元尽管先用着,眼不见心不烦,也就不会不痛快了。:P
 
我的方法也是和 datm 差不多:
定义一个方法类型:
type
TSubStr = function(S
Index, Count: Integer): string
然后声明变量直接赋值:
var
SubStr: TSubStr = Copy;
下面就可以直接引用了。
 
后退
顶部