VB编程(输入法、数据转制)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VB编程(输入法、数据转制)
VB编程问与答
1.如何让文本框只接受数字?
答:使用如下代码,在文本框的按键事件中加入:
Private Sub Textl_KeyPress(KeyAscii As Integer)
If keyAscii>=33 Then
If KeyAscii<=vbkey9 And KeyAscii>=vbKey0 Then
Else 注释:把KeyAscii设为0就是取消输入。
KeyAscii=0
MsgBox ”不要输入数字!”
End If
End If
End Sub
注意:KeyAscii键值与KeyCode 相同,我们可以查看KeyCode 值,不过有些KeyCode键值必须在 KeyDown和KeyUp中才有效,在 KeyPress的KeyAscii中没用。
利用 KeyAscii=0的方式在KeyPress 中有用,但在KeyDown中让KeyCode=0 就不行了。
2.VB中的进制转换是怎样的?
答:用函数Oct()将十进制位数转换为八进制,用Hex()将十进制位数转换为十六进制,不过值得注意的是转换后数字型变为字符型。
如果是一个变量我们可以用如下代码完成十进制向其他进制转换的目的。
dim Anum as long
Anum=& 010 注释:&0是八进制的表示符号Anum自行转换为8。
Anum=&HA 注释:&H是十六进制的表示符号Anum自行转换为10。
如果我们有一个字符变量Astring 为八进制的或十六进制的,用Anum=” &0” + Astring和Anum=“&H”+Astring 能将它转
换为十进制。
VB中我没有找到二进制的转换函数,用如下代码可以实现十进制到二进制的转换。
Option Explicit
Ptivate FunctiOn T enturnTwo (ByVal varNum As Long)
Dim returnString As String,ModNum As Integer
DO While varNum>0
ModNum=varNum Mod 2
varNum=varNum2
returnString=Trim(Str (ModNum))+returnString
Loop
TenturnTwo=returnString
End Function
Private Function TwoturnTen (ByVal varString As String)
Dim Slen As Long,I As Long,
returnNum As Long
Slen=Len(varString)
For I=o T o Slen-1
returmNum=returnNum +Val(Mid (varString,I+1,1))*(2^(Slen-I-1))
Next
TWoturnTen=returnNum
End Function
3.在VB5.0下,如何用程序改变中文与英文的输入方式?
答:VB5.0在可以输入文字的地方(如T extBox,ListBox,ComBox... 等)有一个输入法切换属性IMEMode。
我们可以先用ImeStatus函数来检测当前的输入状态,并用IMEMode来控制其输入状态。
下面是IMEMode的属性值。
Text1.IMEMode=0(预定值)
Text1.IMEMode=l(切换为中文输入)
Text1.IMEMde=2(切换为英文输入、
Text1.IMEMde=3(关闭中文输入的功能,也就是只能做英文输入。
)中国教程在线,。