自定义类型变量没有方法可以遍历里面的变量吗?

m_pMain 2003-07-15 11:51:27
我在模块中定义如下变量:
Public Type ActiveFlag
BookMessageFlag As Boolean
BookSeekOrderFlag As Boolean
BorrowMessageFlag As Boolean
FrmAboutFlag As Boolean
MyMessage As Boolean
PublishFrmFlag As Boolean
ReaderBorrowSeekFlag As Boolean
ReaderMessageFlag As Boolean
ReturnMessageFlag As Boolean
TypeFrmFlag As Boolean
End Type
Public ActiveFlag1 As ActiveFlag

这个activeflag1里面有一个值为TRUE,是不是一定要用IF....THEN...来判断,就没有方
法可以用FOR...NEXT吗?那如果里面有几十个变量怎么办?

...全文
81 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lingll 2003-07-16
  • 打赏
  • 举报
回复
对于这个type有办法
dim tval(0 to 9) as Boolean
copymemory tval(0),ActiveFlag1 , len(ActiveFlag1)
for i=0 to 9
if tval(i) then
.....
end if
next i


copymemory 是api函数,因为ActiveFlag1里面所有的元素都是Boolean
所以用copymemory将ActiveFlag1 的内容复制给tval的各个元素
m_pMain 2003-07-16
  • 打赏
  • 举报
回复
这个我知道,可是数组不能定义成PUBLIC,除非要在模块里面,才能让多个窗体共享这个变量
cdknet 2003-07-16
  • 打赏
  • 举报
回复
就是呀,如果都是相同的类型可以用数组嘛,自定义类型没有像集合那样用 for each的
用数组又高效又方便
James0001 2003-07-16
  • 打赏
  • 举报
回复
你是不是想找到这个类型中为 True 的那个布尔变量?
改成数组,或用指针。
m_pMain 2003-07-16
  • 打赏
  • 举报
回复
只要里面一个变量为"TRUE"就返回了
boywang 2003-07-16
  • 打赏
  • 举报
回复
是不是只要有一个值为true,activeflag返回true啊?
sippey 2003-07-16
  • 打赏
  • 举报
回复
:)好方法
lingll 2003-07-16
  • 打赏
  • 举报
回复
不需要lenb,len就可以了
因为ActiveFlag1不是string
boywang 2003-07-16
  • 打赏
  • 举报
回复
不过好象应该是
copymemory tval(0),ActiveFlag1 , lenb(ActiveFlag1)
boywang 2003-07-16
  • 打赏
  • 举报
回复
同意楼上的办法。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧