FreeBASIC学习笔记——6.1 过程

        过程(即子程序)是可以在程序的任何时候调用的代码块。该代码可能需要执行多次,过程就是通过用单个子程序调用来代替这些代码块手段。过程还可以让用户扩展FreeBASIC语言以提供自定义命令。FreeBASIC内置的许多功能只是默认链接到的“运行库”的子程序。

        Sub关键字标记过程的开始,其结尾必须使用标有End Sub。Identifier表示过程名。过程的代码与模块中其他程序的代码分开执行,所以除了参数传递的变量外,只有是共享变量才可以在过程中使用。

        在默认语言规则-lang fb中,参数必须具有实际类型的,且不允许输入后缀。在-lang qb 和-lang fblite语言规则中,如果类型没有通过名称或类型后缀显式给出,那么它将被赋予一个默认类型。-lang qb语言规则中的默认类型为Single,而-lang fblite语言规则中的默认类型为Integer。

        过程可以指定如何传递参数,如“ByRef”或“ByVal”,如语法定义所示。如果参数为“ByRef”,则参数将传递变量的地址,对该变量进行的任何更改都会改变过程外变量。但是,如果一个参数传递给“ByVal”,则参数传递变量的数值,将其值赋值到一个新的变量中,对它的任何更改都不会影响到原来的变量。这里要注意的是String类型暂时不适用ByVal类型的参数传递。参数在设置一个默认值时即成为可选参数,在调用时可以按默认值输出,也可以赋值新的参数值。

        Static说明符表示在过程中定义的所有局部变量的值应在调用之后保留。Sub与Function本质上相同,Sub可以使用Return语句,但不可以有返回值。程序在遇到Return语句后马上返回,不会再执行之后的任何代码。

        第二种语法分别使用Constructor和Destructor关键字定义构造函数或析构函数。构造函数子程序在模块中的第一行代码之前执行,而析构函数在模块退出时执行。请注意构造函数和析构函数的公共访问说明符和空参数列表。

语法:

例如:自定义过程


过程调用:


运行结果:



  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值