跨平台freebasic集锦(3)-基本语法(2)-dim(2)
创始人
2024-05-15 06:35:37
0

目录

  • dim例子
    • 语法
      • 一行多个变量
      • 共享

dim例子

语法

一行多个变量

dim x as integer,y as integer,z as string
x=11
y=22
z="hello"
print z;y;x
F:\learn\fbs>1
hello 22 11F:\learn\fbs>
dim  as integer x,y 
dim z as string
x=11
y=22
z="hello"
print z;y;x

共享

变量声明修饰符,指定整个模块的可见性

 Dim Shared ...
Redim Shared ...
Common Shared ...
Static Shared ...
[Static] Var Shared ...

共享使模块级变量在Subs和Functions中可见。
如果在模块级变量的声明中未使用Shared,则该变量仅对该文件中的模块级代码可见(此外,堆栈中只存储使用Dim声明的变量,而不存储在命名空间块中)。
注意(对于共享变量,不包括公共变量):

  • 通常,共享变量只能用常量值初始化(其起始值在运行任何代码之前设置在.data部分的程序开始处,因此它不能依赖于其中的任何变量或函数)。
  • 第一个例外是var-len字符串类型的共享变量,即使使用常量字符串也无法初始化该变量(因为它的结构在.data部分中带有描述符,但指向动态内存块)。
  • 第二个例外是一个用户定义类型的共享变量,它有一个构造函数,甚至是隐式的,可以用一个非常量值初始化(因为它是程序启动时调用的构造函数代码,它将“初始”值写入.data节)。
'' Compile with -lang qb or fblite'$lang: "qb"Declare Sub MySub
Dim Shared x As Integer
Dim y As Integerx = 10
y = 5MySubSub MySubPrint "x is "; x 'this will report 10 as it is sharedPrint "y is "; y 'this will not report 5 because it is not shared
End Sub

要从本地作用域块访问全局命名空间中定义的共享变量的重复符号,请添加一个或两个点作为前缀:.SomeSymbol,或最好是..SomeSymbol(如果在With.End With块内,则仅为 ..SomeSymbol)。


F:\learn\fbs>1
x is  10
y is  0
Declare Sub MySub
Declare Sub PrintZ
Dim Shared x As Integer
Dim y As Integer
Dim Shared z As Integer
z=111
x = 10
y = 5MySub
printZ
Sub MySubPrint "x is "; x 'this will report 10 as it is shared
End SubSub PrintZDim z As Integerz=19    Print "shared z is ";.z  Print "z is ";z 
End Sub
F:\learn\fbs>1
x is  10
shared z is  111
z is  19
Declare Sub PrintZ
Dim Shared As Integer z1,z2 
z1=111
z2=109printZSub PrintZDim z1 As Integerz1=19    Print "shared z1 is ";.z1  Print "z1 is ";z1Print "shared z2 is ";z2
End Sub
F:\learn\fbs>1
shared z1 is  111
z1 is  19
shared z2 is  109

与QB的区别:

作用域块内的Shared语句(函数、subs、if/thens和循环)不受支持。
在主程序中改用Dim|Redim|Common|StaticShared。
或者,如果您在一个作用域块内,并重新导入以前使用Shared设置的变量或数组,只需在不使用Shared的情况下执行Redim;它会工作得很好,不会破坏任何东西。

只有在-lang qb-lang fblite方言中,可以在不首先声明变量的情况下使用变量,在这种情况下,它们被称为隐式变量

相关内容

热门资讯

屋有蜜蜂来筑巢好不好 屋有蜜蜂来筑巢好不好当然好了察祥蔽呀,蜜蜂也是风水专家,说明你家位置很好。如果不影响你们正常生活的话...
哈尔滨空调股份有限公司2025... 证券代码:600202 证券简称:哈空调 编号:临2025-036哈尔滨空调股份有限公司2025年半...
促政策与市场双轨共振,激活产业... “十四五”规划的深化布局,为中国电子信息产业绘制了波澜壮阔的发展蓝图。作为国民经济的战略性支柱产业,...
我是做电话销售的,公司安排每人... 我是做电话销售的,公司安排每人每天轮流开一次早会,谁可以给些简单的小游戏。小故事、小话术提供一下!轰...
从世运手包到童趣闯关 世运火花... 转自:成都日报锦观从世运手包到童趣闯关 世运火花在社区点燃 本报讯 (成都日报锦观新闻记者 袁...
工地开讲“护薪”课,筑牢农民工... 为切实保障农民工合法权益,7月6日,中铁上海局七公司引汉济渭项目部联合监理单位及其他标段,共同组织开...
温江区万春镇:轨道为笔 绘就公... 转自:成都日报锦观温江区万春镇:轨道为笔 绘就公园城市乡村振兴新图景 在成都建设公园城市示范...
公开通报3起整治形式主义为基层... 转自:成都日报锦观中央层面整治形式主义为基层减负专项工作机制办公室 中央纪委办公厅公开通报3起整治形...
今起三日 成都持续晴热 转自:成都日报锦观今起三日 成都持续晴热 7月20日将进入今年的“三伏天”,但在入伏前,四川...
中国石化胜利石油工程公司:以创... 在保障国家能源安全的征程中,中国石化胜利石油工程公司以一组组亮眼的数据,交出了一份沉甸甸的“半年答卷...