- UID
- 3260
- 精华
- 积分
- 648
- 威望
- 点
- 宅币
- 个
- 贡献
- 次
- 宅之契约
- 份
- 最后登录
- 1970-1-1
- 在线时间
- 小时
|
此处为VisualFreeBasic编程教程(从零开始学或VB进阶)的子章节部分,全部目录点链接。
注释
注释是编译器将忽略的文本区域,但可能包含对程序员有用的信息。一些例外是可能出现在某些类型的评论中的元命令。
单行注释
单引号(')可用于指示注释,并可能在源行上的其他关键字后显示。声明的其余部分将被视为注释。
注释语句:Rem
以Rem开头的源代码语句表示该行的其余部分是注释,不会被编译。Rem行为与上述相同,除了它必须是语句中的第一个关键字。
多行注释
多行注释用标记/'和'/标记。两个标记之间的所有文本都被认为是注释文本,没有被编译。
多行注释可以跨越几行,也可以在语句中间使用。注释结束后,声明将继续被解析为正常(即使注释超过换行符)。
- /' Multi-line
- comment '/
- Print "Hello" /' embedded comment'/ " world"
复制代码
注意:如果FreeBASIC在不在多行注释中遇到密切注释标记,则由于单引号,它会将其视为正常的单行注释。
注释后续行
多行语句中的行连续字符(_)之后可能会出现单行注释。FreeBASIC不解析行继续字符后的文本,所以你不能在它们之后打开多行注释。
- Print _ ' line
- "This is part of the previous line's statement"
复制代码
标识符规则
FreeBASIC符号的命名约定
标识符是在其范围或Namespace内唯一标识变量,Type,Enum,Function,Sub或Property的符号名称。
标识符可以只包含大小写拉丁字符a - z和A - Z),数字(0 - 9)和下划线字符(_)。标识符的第一个字符必须是字母或下划线,而不是数字。
标识符不区分大小写:FOO和foo(以及大写和小写的所有其他排列)引用相同的符号。
标识符可能在末尾有一个类型后缀,表示标准数据类型之一:
%Integer
&Long
!Single
#Double
$String
通常不会使用这些符号,也不允许使用。
替代方案是明确的 - 例如Dim As Integer foo或Dim foo As Integer而不是Dim foo%
文本
非变量编译时字符串和数值。
文本是直接在源代码中指定的数字或字符串。可以通过将它们赋值给变量或常量,将它们传递给过程或在表达式中使用它们来使用字面值。
数字文本有两种形式 - 整数和浮点数。
整数文本
十进制
小数位数(0 1 2 3 4 5 6 7 8 9)。
- Dim x As Integer = 123456
- Dim b As Byte = -128
复制代码
十六进制
“&H”,后跟十六进制数字(0 1 2 3 4 5 6 7 8 9 A B C D E F)。
- Dim x As Integer = &h1E240
- Dim b As Byte = &H80
复制代码
八进制
“&O”,后跟八进制数字(0 1 2 3 4 5 6 7)
- Dim x As Integer = &O361100
- Dim b As Byte = &O200
复制代码
二进制
“&B”,后跟二进制数字(0 1)
- Dim x As Integer = &B11110001001000000
- Dim b As Byte = &B10000000
复制代码
整数大小后缀
如果未提供整数文本后缀,则会自动计算保存文本所需的数字字段大小。指定大小后缀保证编译器将一个数字视为一个特定的整数大小。
整数文本以:
“%”被认为是32/64(取决于平台)位整数。(Integer)
“L”,“&”被视为有符号的32位长整数。(Long)
“U”被视为无符号32/64(取决于平台)位整数。(UInteger)
“UL”被视为无符号32位整数。(Ulong)
“LL”被视为带符号的64位整数。(LongInt)
“ULL”被视为无符号的64位整数。(ULongInt)
前缀,后缀和十六进制字母数字都不区分大小写。
- Dim a As Long = 123L
- Dim b As UInteger = &h1234u
- Dim c As LongInt = 76543LL
- Dim d As ULongInt = &b1010101ULL
复制代码
浮点文本
浮点数以十进制数表示,可以是正数或负数,具有小数部分,可选地指数。浮点文本的格式如下:
number[.[fraction]][((D|E) [+|-] exponent)|(D|E)|][suffix]
或
.fraction[((D|E) [+|-] exponent)|(D|E)|][suffix]
默认情况下,没有指数或后缀的浮点数被视为双精度浮点值,其中7位或更少的数字被认为是单精度。
- Dim a As Double = 123.456
- Dim b As Double = -123.0
复制代码
放在数字/分数部分之后的字母“D”或“E”允许给出一个指数。指数可以用正号或负号(“+”)或减号(“-”)指定。没有符号的指数是正数。
在信之后不需要指数,所以该字母只能用于指定类型。“D”指定双精度浮点数。“E”使用默认精度指定浮点数。当字母与后缀结合使用时(见下文),后缀表示的类型会覆盖字母指定的类型。
- Dim a As Double = -123.0d
- Dim b As Double = -123e
- Dim c As Double = 743.1e+13
- Dim d As Double = 743.1D-13
- Dim e As Double = 743.1E13
- Dim f As Single = 743D!
复制代码
数字上的“!”或“F”后缀指定单个精度(总共32位)浮点值。后缀“#”指定双精度浮点数。
请注意,字母后缀和指数说明符都不区分大小写。
- Dim a As Single = 3.1!
- Dim b As Single = -123.456e-7f
- Dim c As Double = 0#
- Dim d As Double = 3.141592653589e3#
复制代码
字符串文本
字符串文本是包含在两个双引号之间的一系列字符。字符序列已转义或未转义。
双引号可以在字符串文本中使用两个双引号在一起指定。
- Print "Hello World!"
- Print "That's right!"
- Print "See the ""word"" contained in double quotes."
复制代码
字符串字面值可以包含转义序列,如果字符串文本以! Operator(转义字符串文本)为前缀。有关接受的转义序列的列表,请参阅转义序列.
标签
定义程序中的位置。
语法
symbolname:
在Goto可以跳转到的程序中定义一个地方。
symbolname 标签必须以冒号(:)字符结尾。
- Goto beginning
- beginning:
- Print "你好,世界!"
复制代码
行继续符(长行)
代码行末尾的单个_(下划线)字符告诉编译器该行在下一行中继续。这允许单个语句(代码行)分散在输入文件中的多行中,这可以是一个很好的格式化帮助。
- Dim myvariable _
- As Integer
复制代码
这通常用于使很长的代码行更容易阅读,例如具有很多参数的过程声明:
- Declare Sub drawRectangle( ByVal x As Integer, ByVal y As Integer, _
- ByVal w As Integer, ByVal h As Integer )
-
- '' or:
-
- Declare Sub drawRectangle _
- ( _
- ByVal x As Integer, _
- ByVal y As Integer, _
- ByVal w As Integer, _
- ByVal h As Integer _
- )
复制代码
_行连续字符可以插入一行代码中的任何一点。它不会在评论内。
在标识符或关键字后面添加_行延续字符时要小心。它应该与至少一个空格字符分开,否则将被视为标识符或关键字的一部分。
- Dim As Integer a_ '错误写法
- Dim As Integer a _ '正确写法
- = 5
复制代码
警告:当使用_行连续字符将错误的代码行分散在多行数据块上时,错误消息仅指块的最后一行。
|
|