程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> VB編程問與答

VB編程問與答

編輯:VB綜合教程
1.如何讓文本框只接受數字?
  
答:使用如下代碼,在文本框的按鍵事件中加入:
  PrivateSubTextl_KeyPress(KeyAsciiAsInteger)
  IfkeyAscii>=33Then
  IfKeyAscii<=vbkey9AndKeyAscii>=vbKey0Then
  Else'把KeyAscii設為0就是取消輸入。
  KeyAscii=0
  MsgBox”不要輸入數字!”
  EndIf
  EndIf
  EndSub
  注意:KeyAscii鍵值與KeyCode相同,我們可以查看KeyCode值,不過有些KeyCode鍵值必須在KeyDown和KeyUp中才有效,在KeyPress的KeyAscii中沒用。利用KeyAscii=0的方式在KeyPress中有用,但在KeyDown中讓KeyCode=0就不行了。
  2.VB中的進制轉換是怎樣的?
  
答:用函數Oct()將十進制位數轉換為八進制,用Hex()將十進制位數轉換為十六進制,不過值得注意的是轉換後數字型變為字符型。如果是一個變量我們可以用如下代碼完成十進制向其他進制轉換的目的。
  dimAnumaslong
  Anum=&010'&0是八進制的表示符號Anum自行轉換為8。
  Anum=&HA'&H是十六進制的表示符號Anum自行轉換為10。
  如果我們有一個字符變量Astring為八進制的或十六進制的,用Anum=”&0”+Astring和Anum=“&H”+Astring能將它轉換為十進制。
  VB中我沒有找到二進制的轉換函數,用如下代碼可以實現十進制到二進制的轉換。
  OptionExplicit
  PtivateFunctiOnTenturnTwo(ByValvarNumAsLong)
  DimreturnStringAsString,ModNumAsInteger
  DOWhilevarNum>0
  ModNum=varNumMod2
  varNum=varNum2
  returnString=Trim(Str(ModNum)) returnString
  Loop
  TenturnTwo=returnString
  EndFunction
  PrivateFunctionTwoturnTen(ByValvarStringAsString)
  DimSlenAsLong,IAsLong,
  returnNumAsLong
  Slen=Len(varString)
  ForI=oToSlen-1
  returmNum=returnNum+Val(Mid(varString,I+1,1))*(2^(Slen-I-1))
  Next
  TWoturnTen=returnNum
  EndFunction
  3.在VB5.0下,如何用程序改變中文與英文的輸入方式?
  
答:VB5.0在可以輸入文字的地方(如TextBox,ListBox,ComBox...等)有一個輸入法切換屬性IMEMode。我們可以先用ImeStatus函數來檢測當前的輸入狀態,並用IMEMode來控制其輸入狀態。下面是IMEMode的屬性值。
  Text1.IMEMode=0(預定值)
  Text1.IMEMode=l(切換為中文輸入)
  Text1.IMEMde=2(切換為英文輸入、
  Text1.IMEMde=3(關閉中文輸入的功能,也就是只能做英文輸入。)->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved