VB6函数名中&符号的重要性?

时间:2012-02-21 06:26:13

标签: vb6 sigils

我刚刚收到一堆遗留的VB6(!)代码,我一直看到在名称末尾用&符号声明的函数,例如Private Declare Function ShellExecute& . . .

我一直无法找到对此重要性的答案,也无法检测出任何使用的模式或已经命名的函数的签名。

任何人都知道那些尾随的&符号对编译器意味着什么,或者至少是否有一些我缺少的约定?到目前为止,我是作为一个奇怪的程序员写的,但我想知道它背后是否有任何意义。

2 个答案:

答案 0 :(得分:20)

这意味着该函数返回Long(即32位整数)值。

相当于

Declare Function ShellExecute(...) As Long

完整的后缀列表如下:

Integer %
Long    &
Single  !
Double  #
Currency @
String  $

答案 1 :(得分:12)

正如菲利普谢尔德所说,它是Long的标识类型。它们仍然存在于.Net中,请参阅此MSDN link和此VB6 article

从第二篇文章:

  

形成有效VB变量名的规则如下:

     

(1)第一个字符必须是字母A到Z(大写或   可以使用小写字母)。成功的字符可以是字母,   数字或下划线(_)字符(没有空格或其他字符   允许的)。

     

(2)最后一个字符可以是“类型声明字符”。只要   一些变量类型可以使用它们,如下所示:

Data Type  Type Declaration Character  

String         $  
Integer        %  
Long           &  
Single         !  
Double         #  
Currency       @    
  

使用类型声明   不鼓励VB中的字符;现代风格就是用   数据声明声明中的“As”子句。