跨平台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方言中,可以在不首先声明变量的情况下使用变量,在这种情况下,它们被称为隐式变量

相关内容

热门资讯

埃斯顿5月15日现1笔大宗交易...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会!   5月15日,埃斯...
调研速递|四川迅游网络科技股份... 5月15日,四川迅游网络科技股份有限公司举办2024年度业绩网上说明会,众多投资者通过深圳证券交易所...
招商银行:雷财华副行长任职资格... 转自:财联社【招商银行:雷财华副行长任职资格获核准】财联社5月15日电,招商银行(600036.SH...
安全的负离子才是好的负离子 转自:衡水日报负离子技术作为大健康领域的一项重要技术,一直备受关注。然而,负离子发生器行业长期面临着...
山东烟台发出全国首趟一站式跨境... 转自:北京日报客户端5月14日下午,一趟载有商用车及汽车零配件的跨境班列从烟台港开出,大约12天后到...
刘强东坐镇京东一线:管理层培训... 轰轰烈烈的外卖“三国杀”已成为人们关心的热点话题,在刘强东带领下重投外卖的京东交出一份怎样的成绩单?...
今日辟谣(2025年5月15日... 2025年5月15日 辟 谣 冒充国家发改委和央视记者!“华夏社区”一天送2万元,真相却是……详情:...
热热热!河南40℃+高温来袭→ 气温波动中上升未来五天,我省大部的天气呈波动上升的趋势,明天北中部部分县市最高气温35到38度,后天...
芳源股份:高纯电子化学品主要包... 证券日报网讯芳源股份5月15日在互动平台回答投资者提问时表示,目前公司高纯电子化学品主要包括高纯硼酸...
创世纪:截至2025年5月9日... 证券日报网讯创世纪5月15日在互动平台回答投资者提问时表示,截至2025年5月9日,公司股东人数为1...
乌拉圭外长:期待同中国在多领域... 来源:人民网-国际频道 5月14日,来华出席中拉论坛第四届部长级会议的乌拉圭外长卢贝特金在北京举行新...
波兰官方驳斥美特使派兵言论:没... 据《乌克兰真理报》网站14日报道,美国总统特朗普任命的乌克兰问题特使基思·凯洛格声称,在乌克兰实现停...
A股上市公司并购潮涌 布局新赛... 近期,A股市场并购热潮涌动。5月13日至14日,十余家上市公司密集披露并购公告,不仅为资本市场注入强...
全国无幽日·南昌:打好“保胃战... 来源 | 都市现场原创未经允许 请勿转载5月15日是个特别的日子"全国无幽日"别误会不是让您今天别"...
开能健康(300272.SZ)... 格隆汇5月15日丨开能健康(300272.SZ)于近期投资者关系活动表示,从报表来看,北美地区的收入...
卓创资讯(301299.SZ)... 格隆汇5月15日丨卓创资讯(301299.SZ)于近期投资者关系活动表示,公司现已完成DeepSee...
青海:开展灾害调查 精准应对旱...   5月13日,青海省气象科学研究所联合海东市气象局赴海东市乐都区、互助土族自治县开展实地农情调查,...
海南华铁5月15日现1笔大宗交...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会!   5月15日,海南...
调研速递|华如科技接受东北证券... 2025年5月15日,北京华如科技股份有限公司参与券商策略会,接受了东北证券、长盛基金、易知投资、唐...
湖南发布住宅室内装饰装修工程施... 中国消费者报长沙讯(记者余知都)记者5月15日获悉,由湖南省市场监管局、湖南省消保委联合制定的《湖南...