精品主页 | 软件下载 | 系统下载 | 精品导航| 精彩图片 | 转帖工具 | 版主申请 | 影视下载
发新话题
打印

VB编程问与答

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 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(关闭中文输入 的功能,也就是只能做英文输入。)

TOP

发新话题