蝴蝶仙子全集:VB编程(输入法、数据转制)

来源:百度文库 编辑:中财网 时间:2024/05/09 19:01:06
 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 TenturnTwo (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 To Slen-1
  returmNum=returnNum +Val(Mid (varString,I+1,1))*(2^(Slen-I-1))
  Next
  TWoturnTen=returnNum
  End Function   3.在VB5.0下,如何用程序改 变中文与英文的输入方式?   答:VB5.0在可以输入文字的地 方(如TextBox,ListBox,ComBox... 等)有一个输入法切换属性IMEMode。我 们可以先用ImeStatus函数来检测当前的 输入状态,并用IMEMode来控制其输入 状态。 下面是IMEMode的属性值。   Text1.IMEMode=0(预定值)
  Text1.IMEMode=l(切换为中文输 入)
  Text1.IMEMde=2(切换为英文输 入、
  Text1.IMEMde=3(关闭中文输入 的功能,也就是只能做英文输入。) 中国教程在线,http://www.5istudy.cn