首页 > cat > methoddecl 
 en fr de es it nl pl pt pt_BR mk sq ca hu cs tr ar fa id vi ko ja ru zh_TW eo
前一个  下一个  编辑  重命名  撤销  刷新  搜索  管理  
文档
历史
 
方法声明

过程

[ STATIC ] { PUBLIC | PRIVATE } { PROCEDURE | SUB }
  Identifier
  (
    [ Parameter AS Datatype [ , ... ] ] [ , ]
    [ OPTIONAL Optional Parameter AS Datatype [ , ... ] ] [ , ] [ ... ]
  )
  ...
END

[ STATIC ] { PUBLIC | PRIVATE } { PROCEDURE | SUB }
  Identifier
  (
    [ [ BYREF ] Parameter AS Datatype [ , ... ] ] [ , ]
    [ OPTIONAL [ BYREF ] Optional Parameter AS Datatype [ , ... ] ] [ , ] [ ... ]
  )
  ...
END

声明一个过程,也就是一个没有任何返回值的方法

END关键字用来表示过程的结尾。

函数

[ STATIC ] { PUBLIC | PRIVATE } { FUNCTION | PROCEDURE | SUB }
  Identifier
  (
    [ Parameter AS Datatype [ , ... ] ] [ , ]
    [ OPTIONAL Optional Parameter AS Datatype [ , ... ] ] [ , ] [ ... ]
  )
  AS Datatype
  ...
END

[ STATIC ] { PUBLIC | PRIVATE } { FUNCTION | PROCEDURE | SUB }
  Identifier
  (
    [ [ BYREF ] Parameter AS Datatype [ , ... ] ] [ , ]
    [ OPTIONAL [ BYREF ] Optional Parameter AS Datatype [ , ... ] ] [ , ] [ ... ]
  )
  AS Datatype
  ...
END

声明一个函数,也就是一个有返回值的方法

END关键字用来表示函数的结尾。

必须指定返回值的数据类型。

当然,声明必须写在一行上。像语法描述中那样写,是为了方便阅读。

RETURN关键字用于结束函数,并且传递返回值给调用程序。

Example

FUNCTION Calc(fX AS Float) AS Float
  RETURN Sin(fX) * Exp(- fX)
END

PUBLIC SUB Button1_Click()
  PRINT Calc(0);; Calc(0.5);; Calc(1)
END

0 0.290786288213 0.309559875653

方法的使用

方法可以使用在其声明所在的中任意位置。

方法的参数

方法的所有参数使用“,”分隔开。

Example

STATIC PUBLIC PROCEDURE Main()
...
PUBLIC FUNCTION Calc(fA AS Float, fB AS Float) AS Float
...
PRIVATE SUB DoIt(sCommand AS String, OPTIONAL bSaveIt AS Boolean = TRUE)
...
STATIC PRIVATE FUNCTION MyPrintf(sFormat AS String, ...) AS Integer

通过引用传递参数

指定BYREF关键字时,参数必须是可以被赋值的表达式,被调用的函数或过程可以修改的内容。

Example

SUB ConvPixelToCentimeter(BYREF Value as Float, Dpi AS Integer)

  Value = Value / Dpi * 2.54

END

PUBLIC SUB Main()

  DIM Size AS Float

  Size = 256
  ConvPixelToCentimeter(BYREF Size, 96)
  PRINT Size

END

6.773333333333
即使在声明函数时使用了BYREF关键字,如果在调用函数时不使用BYREF关键字,参数仍将是值传递。

换句话说:被调用的函数允许参数通过引用传递,然而由调用程序决定参数传递方式。

参见

变量声明