VB編程問與答
1.如何讓文本框只接受數(shù)字?
答:使用如下代碼,在文本框的按鍵事件中加入:
Private Sub Textl_KeyPress(KeyAscii As Integer)
If keyAscii>=33 Then If KeyAscii<=vbkey9 And KeyAscii>=vbKey0 Then Else 注釋:把KeyAscii設(shè)為0就是取消輸 入。 KeyAscii=0 MsgBox ”不要輸入數(shù)字!” End If End If End Sub 注意:KeyAscii鍵值與KeyCode 相同,我們可以查看KeyCode值,不 過有些KeyCode鍵值必須在 KeyDown和KeyUp中才有效,在 KeyPress的KeyAscii中沒用。利用 KeyAscii=0的方式在KeyPress中有 用,但在KeyDown中讓KeyCode=0 就不行了。
2.VB中的進(jìn)制轉(zhuǎn)換是怎樣的?
答:用函數(shù)Oct()將十進(jìn)制位數(shù) 轉(zhuǎn)換為八進(jìn)制,用Hex()將十進(jìn)制位 數(shù)轉(zhuǎn)換為十六進(jìn)制,不過值得注意的 是轉(zhuǎn)換后數(shù)字型變?yōu)樽址汀H绻?一個變量我們可以用如下代碼完成十 進(jìn)制向其他進(jìn)制轉(zhuǎn)換的目的。
dim Anum as long
Anum=& 010 注釋:&0是八進(jìn)制的 表示符號Anum自行轉(zhuǎn)換為8。 Anum=&HA 注釋:&H是十六進(jìn)制的 表示符號Anum自行轉(zhuǎn)換為10。 如果我們有一個字符變量Astring 為八進(jìn)制的或十六進(jìn)制的,用Anum=” &0” + Astring和Anum=“&H”+Astring 能將它轉(zhuǎn)換為十進(jìn)制。 VB中我沒有找到二進(jìn)制的轉(zhuǎn)換函 數(shù),用如下代碼可以實(shí)現(xiàn)十進(jìn)制到二進(jìn) 制的轉(zhuǎn)換。 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函數(shù)來檢測當(dāng)前的 輸入狀態(tài),并用IMEMode來控制其輸入 狀態(tài)。 下面是IMEMode的屬性值。
Text1.IMEMode=0(預(yù)定值)
Text1.IMEMode=l(切換為中文輸 入) Text1.IMEMde=2(切換為英文輸 入、 Text1.IMEMde=3(關(guān)閉中文輸入 的功能,也就是只能做英文輸入。) 中國教程在線,http://www. |
|