| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 741 人关注过本帖
标题:[求助]二进制转换十六进制问题
只看楼主 加入收藏
tanghuawei
Rank: 4
来 自:美丽的湖南
等 级:业余侠客
威 望:3
帖 子:531
专家分:220
注 册:2006-3-16
结帖率:100%
收藏
 问题点数:0 回复次数:6 
[求助]二进制转换十六进制问题

问题:有6个CheckBox分别代表:动画,静止,时间,连续,暂停,闪烁(保留始终不变)
1 0 0 0 0 0 0 0
动画 静止 保留 时间 连续 暂停 保留 闪烁

这是第一种方式:二进制的10000000,也就是十六进制的80,动画和两个保留值不变,永远是1,0,0,其他的根据用户CheckBox的选择而进行变动,要怎样做一个循环将这个问题做出来?

比如:动画方式: MoveMothod = &H80
动画闪烁: MoveMothod = &H81
请高手帮忙!

搜索更多相关主题的帖子: 二进制 十六进制 动画 CheckBox MoveMothod 
2007-05-24 11:37
ouzhiguang
Rank: 1
来 自:湖南长沙
等 级:新手上路
威 望:1
帖 子:240
专家分:0
注 册:2007-5-18
收藏
得分:0 

反正前面三个固定不变 了是不?那么就判断后面5个的值啊!
Private Sub Command1_Click()

Dim s As String
Dim sum As Integer
Dim a(1 To 5) As Integer

If Check4.Value Then
a(1) = 1
s = "&" & "H9"

Else
a(1) = 0
s = "&" & "H8"
End If
If Check5.Value Then
a(2) = 1

Else
a(2) = 0

End If
If Check6.Value Then
a(3) = 1

Else
a(3) = 0
End If
If Check7.Value Then
a(4) = 1

Else
a(4) = 0
End If
If Check8.Value Then
a(5) = 1

Else
a(5) = 0
End If
For i = 2 To 5
sum = sum + a(i) * 2 ^ (5 - i)
Next i
If sum < 10 Then
Text1.Text = s & Trim(Str(sum))
ElseIf sum = 10 Then
Text1.Text = s & "A"
ElseIf sum = 11 Then
Text1.Text = s & "B"
ElseIf sum = 12 Then
Text1.Text = s & "C"
ElseIf sum = 13 Then
Text1.Text = s & "D"
ElseIf sum = 14 Then
Text1.Text = s & "E"
Else
Text1.Text = s & "F"


End If

End Sub

2007-05-24 12:43
tanghuawei
Rank: 4
来 自:美丽的湖南
等 级:业余侠客
威 望:3
帖 子:531
专家分:220
注 册:2006-3-16
收藏
得分:0 

不是前三个啊,是第一个、第三个、第七个啊!


汽车尾气检测网络系统QQ:357766186__MSN:MSNTHW19850316@
2007-05-24 14:41
tanghuawei
Rank: 4
来 自:美丽的湖南
等 级:业余侠客
威 望:3
帖 子:531
专家分:220
注 册:2006-3-16
收藏
得分:0 
我要实现的功能是:
最初为,如下图:
图片附件: 游客没有浏览图片的权限,请 登录注册

动画、两个保留都不变化,其他的每一个Check对应一个方式,假如我选择了Check1和Check2,那么将得到:11010000,意思就是选中哪个Check它的值将变为1,然后会组成一个8个数的二进制值。


lzpan9Dm.jpg (7.46 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册

汽车尾气检测网络系统QQ:357766186__MSN:MSNTHW19850316@
2007-05-24 15:07
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
收藏
得分:0 
你自己不是都写的很清楚了么.
根据checkbox 的值拼一个8位的字符串(有3位是固定的) 这个不难吧? 5个if 而已

然后就是8位字符串转16进制数 写个函数做这个就ok了

2007-05-24 15:52
tanghuawei
Rank: 4
来 自:美丽的湖南
等 级:业余侠客
威 望:3
帖 子:531
专家分:220
注 册:2006-3-16
收藏
得分:0 
5个if就OK?版主,5个Check组合可不只5个If吧?

汽车尾气检测网络系统QQ:357766186__MSN:MSNTHW19850316@
2007-05-24 15:56
Joforn
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1242
专家分:122
注 册:2007-1-2
收藏
得分:0 
'在窗体中添加一组(8个)CheckBox控件,命名为Check1,添加一个CommandButton控件。添加代码下:
Private Sub Command1_Click()
Dim I As Integer, K As Integer, Code As Integer
Code = &H80
For I = 0 To 7
K = K + Check1(I).Value * Code
Code = Code \ 2
Next
MsgBox "十六进制数为:&H" & Hex(K)
End Sub

VB QQ群:47715789
2007-05-24 17:06
快速回复:[求助]二进制转换十六进制问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038134 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved