社区
VB基础类
帖子详情
VB中能否定义一个常量数组,并为其赋值?该怎么做?
ttss
2002-04-04 08:11:42
我现在有40几个常量要赋值,但现在还没有具体确定。我想定义一个常量数组,并像C语言中那样拿一个大括号给40多个值一起赋值,哪位高手能指点迷津?小弟不胜感谢!
...全文
2393
18
打赏
收藏
VB中能否定义一个常量数组,并为其赋值?该怎么做?
我现在有40几个常量要赋值,但现在还没有具体确定。我想定义一个常量数组,并像C语言中那样拿一个大括号给40多个值一起赋值,哪位高手能指点迷津?小弟不胜感谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
KiteGirl
2002-04-04
打赏
举报
回复
你想实现什么样的功能呢?好象没什么地方一定要用常量数组吧?
ttss
2002-04-04
打赏
举报
回复
书山有路勤为径,学海无涯苦作舟!
看来我要学得还很多啊!感谢大家的帮忙!
我学到了很多知识!
sonicdater
2002-04-04
打赏
举报
回复
很复杂. 不好实现. 而且我也没试过能不能成功.
VB的数组变量在内存中存放的不是 其内容的地址, 而是一个 SafeArray 结构的地址(即 指针) , 而这个 结构 包含了一个 数组的信息,包括 它的 维数,类型[可变size 还是 固定size ,即 Dim A(1) 还是 Dim A() ], 还包括 fFeatures 标示符. 一句两句是说不清的.
--------------------------------------------------------------------
本人水平有限,
只有建议 你放弃 "想一次 进行 40个 赋值, 又要 保证它是常数 ".
惭愧惭愧.
ttss
2002-04-04
打赏
举报
回复
sonicdater 你说的那个safeArray看起来很高深,你那个flag是干什么的?为什么这么做?
ttss
2002-04-04
打赏
举报
回复
有两个问题:
1. 例如正常我要定义:const A = CONST1,这里的A是不是可以理解成你例子中的TE?
2. 用枚举形定义和我这样定义有什么好处?
例:const A1=9
const A2=7
……
……
const A42=3
sonicdater
2002-04-04
打赏
举报
回复
你想一次 进行 40个 赋值, 又要 保证它是常数 .
实在不好办 .
用 枚举型, 是可以的, 但 它不是 常量 的.
如果你坚持 要赋值后,还是常数, 只有用一种恐怖的方法,
先用 Array 一次性 给 变量赋值 .
再 通过 SafeArray 结构, 添加一个Flag : FADF_FIXEDSIZE
fFeatures = fFeatures And FADF_FIXEDSIZE
这样做很麻烦. 甚至 还不容易成功. 所以, xx 不可兼得 呀.
bestofbest
2002-04-04
打赏
举报
回复
不可以吧,怎么可能定义这样的常量呢?
gz
zyl910
2002-04-04
打赏
举报
回复
作为变量使用!
而且 VB IDE 会自动弹出可以选择的项目
比如:
Private Enum TestEnum
Enum1=1
Enum2=2
End Enum
Private Sub Form_Load()
Dim TE as TestEnum
'观察此时的屏幕
TE=
End Sub
ttss
2002-04-04
打赏
举报
回复
我刚才看了一下枚举形,不太懂。是给常量定义成枚举形之后就能通过其枚举形变量给常量赋值,还是通过枚举形定义的变量可以当成常量使了?
water_j
2002-04-04
打赏
举报
回复
UP!
water_j
2002-04-04
打赏
举报
回复
up!~
thorkhan
2002-04-04
打赏
举报
回复
用枚舉較方便
ehappyhare
2002-04-04
打赏
举报
回复
没必要吧,定义一个6*7的数组,接着给它赋值不就行了?(当然,以后注意不要再改变它的值就行)
zyl910
2002-04-04
打赏
举报
回复
不行!
试一试定义为枚举形:
Private Enum ……
C1=1
C1=2
……
End Enum
ttss
2002-04-04
打赏
举报
回复
给常量赋值用array好像不行!
ttss
2002-04-04
打赏
举报
回复
x 是常量数组吗?我想定义一个6*7的数组怎么做?
sonicdater
2002-04-04
打赏
举报
回复
MyArray = Array("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
TechnoFantasy
2002-04-04
打赏
举报
回复
Private Sub Command1_Click()
Dim x
x = Array(20, 20)
End Sub
VB
上机题库,
vb
程序改错
有上机的
VB
模拟题目 改错和填空,可以帮助你轻松地过等级二级
vb
.net
做
的俄罗斯方块
Vb
写的俄罗斯方块 基本功能全'声明一个整数
常量
Width,表示游戏界面横向的小正方形数目,初始化为16 Public Const Width As Integer = 16 '声明一个整数
常量
Height,表示游戏界面横向的小正方形数目,初始化为30 Public Const Height As Integer = 30 '游戏界面的背景色 Public Shared BackColor As Color '小正方形的大小 Public Shared SquareSize As Size = New Size(10, 10) Public Shared g As Graphics '声明一个Graphics变量,用于绘制下一个方块 Public Shared gNext As Graphics '声明一个
数组
,用于表示游戏界面上的所有小正方形 Private Shared ArrGameField(Width - 1, Height - 1) As CSquare '函数功能:判断ArrGameField(x, y)是否有正方形,有则返回False,无则返回True Public Shared Function IsEmpty(ByVal x As Integer, ByVal y As Integer) As Boolean If x >= 0 And x = 0 And y =0 '在循环体
中
,先判断第y行是否是满的,是的话result增1,并把第y行上的所有小正方形下降一行.最后y递减1 '如果实现把第y行的所有小正方形下降一行:从第y行扫描至第0行,每扫描一行,把上一行的每个小正方形
赋值
给该行,并修改每一个小正方形的Location属性的值 While Y >= 0 If IsLineFull(Y) Then result += 1 For i As Integer = Y To 0 Step -1 If i > 0 Then For x As Integer = 0 To Width - 1 ArrGameField(x, i) = ArrGameField(x, i - 1) If Not ArrGameField(x, i) Is Nothing Then ArrGameField(x, i).Location = New Point(ArrGameField(x, i).Location.X, ArrGameField(x, i).Location.Y + SquareSize.Height) End If Next Else For x As Integer = 0 To Width - 1 ArrGameField(x, i) = Nothing Next End If Next Else
易语言菜鸟问答.docx
。。。
计算机二级
VB
模拟考试试题答案分析
计算机二级
VB
模拟考试试题答案分析,就是二级
vb
的题库了,呵呵
西华大学校二级考题
VB
VB
校二级原题
VB
校二级原题
VB
校二级原题
VB
校二级原题
VB基础类
7,786
社区成员
197,586
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章