字符串也能进行Or运算吗?

Lovewater 2003-03-05 10:52:30

To:bigbigfans(小骁)
字符串也能进行Or运算吗?如下面这段程序(书上的)
Private Sub Text2_KeyPress(KeyAscii As Integer)
Dim a As String
If KeyAscii = 8 Then Exit Sub
If Chr(KeyAscii) < "0" Or Chr(KeyAscii) > "9" Then KeyAscii = 0
a = Left(Text2.Text, Text2.SelStart) + Chr(KeyAscii) + _
Mid(Text2.Text, Text2.SelStart + 1)
If Val(a) > UpDown2.Max Then KeyAscii = 0
End Sub
这和下面这段程序关于字符串的使用矛盾吗?

'提交
Private Sub Command1_Click()
Dim total As String
total = "您的姓名:" + "Text1.Text" + Chr(10) + _
"您的性别:" + Option1.Caption Or Option2.Caption + Chr(10) + _
"您的年龄:" + Text2.Text + Chr(10) + _
"您的爱好:" + Check1.Caption Or Check2.Caption Or Check3.Caption + Chr(10) + _
"您的电子邮件:" + Text3.Text + _
"婚否:" + Combo1.Text
MsgBox "total"

End Sub
这里
Option1.Caption Or Option2.Caption
Check1.Caption Or Check2.Caption Or Check3.Caption
字符串和字符串之间 Or运算是错误的!

...全文
192 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sippey 2003-03-08
  • 打赏
  • 举报
回复
10101 or(位) 11011 =11111

1 or 1=1
1 or 0=0
0 or 1=1
0 or 0=0
Sean918 2003-03-08
  • 打赏
  • 举报
回复
http://www.dapha.net/down/show.asp?classid=7
Lovewater 2003-03-08
  • 打赏
  • 举报
回复
不好意思,什么叫位运算?VB在什么情况下用位运算?它和逻辑运算有什么区别?
Lovewater 2003-03-08
  • 打赏
  • 举报
回复
谢谢各位的帮助!我发觉本人语法概念不清,针对以上错误,有谁能推荐一本详细介绍VB语法和用法的书或网上图书?
ricemaster 2003-03-06
  • 打赏
  • 举报
回复
If Chr(KeyAscii) < "0" Or Chr(KeyAscii) > "9" Then KeyAscii = 0

如果,<0 "或者" >9,则KeyAscii=0

不是字符串做位或运算

字符串不能直接做或运算
物欲添彩 2003-03-05
  • 打赏
  • 举报
回复
you can change String to ASCii try!
kidd 2003-03-05
  • 打赏
  • 举报
回复
如果字符串本身是数字,OR就等于将两个数字相加
"1"+"2"or"3"="15"
有时候VB是挺气人的。呵呵
northwolves 2003-03-05
  • 打赏
  • 举报
回复
Chr(KeyAscii) < "0" Or Chr(KeyAscii) > "9" ====true or false(or other)
Sean918 2003-03-05
  • 打赏
  • 举报
回复
to 楼主 :

To:bigbigfans(小骁)
字符串也能进行Or运算吗?如下面这段程序(书上的)
Private Sub Text2_KeyPress(KeyAscii As Integer)
Dim a As String
If KeyAscii = 8 Then Exit Sub
If Chr(KeyAscii) < "0" Or Chr(KeyAscii) > "9" Then KeyAscii = 0
a = Left(Text2.Text, Text2.SelStart) + Chr(KeyAscii) + _
Mid(Text2.Text, Text2.SelStart + 1)
If Val(a) > UpDown2.Max Then KeyAscii = 0
End Sub
=======================================

以上代码中的 OR 表示 “或者”的意思,是逻辑运算,不是你说的位运算

你的概念糊涂了
用户 昵称 2003-03-05
  • 打赏
  • 举报
回复
字符串是不能进行or运算的,但是vb在某些时候会自动转换。

7,763

社区成员

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

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