| 方法一:用VB的函數LCase和UCase 用三個(gè)TextBox來(lái)展現一下這兩個(gè)函數的大小寫(xiě)轉換功能[運行之前在TextBox1中輸入幾個(gè)大寫(xiě)字母,也可混合輸入]: Private Sub Command1_Click() Text2.Text = LCase(Text1.Text) '將Text1的文本全換成小寫(xiě) Text3.Text = UCase(Text2.Text) '將Text1的文本全換成大寫(xiě) End Sub 說(shuō)明: LCase僅將是大寫(xiě)的轉換為小寫(xiě),UCase則僅將是小寫(xiě)的轉換為大寫(xiě),故當字符串中有其它不符合轉換的內容時(shí)將對其忽略??梢栽赥extBox1中輸入漢字、阿拉伯數字等觀(guān)察效果。 方法二:用API函數 user32提供兩個(gè)用于大小寫(xiě)轉換的API函數:Charlower[大寫(xiě)-小寫(xiě)]、Charupper[小寫(xiě)-大寫(xiě)],其原形分別為: Declare Function CharLower Lib "user32" Alias "CharLowerA" (ByVallpsz As String) As Long Declare Function CharUpper Lib "user32" Alias "CharUpperA" (ByVallpsz As String) As Long 繼續用三個(gè)文本框來(lái)觀(guān)察效果: Private Sub Command1_Click() Dim a As String a = Text1.Text '給變量賦初值 CharUpper a '變?yōu)榇髮?xiě) Text2.Text = a CharLower a '變?yōu)樾?xiě) Text3.Text = a End Sub 說(shuō)明:與方法一的效果完全一樣。實(shí)際上,VB的LCase和UCase函數調用的也就是這兩個(gè)API函數,是封裝了這兩個(gè)API函數的內部函數。 方法三:用算法 可以利用Ascii碼對大小寫(xiě)字母字符代碼的定義來(lái)強制輸入的字母只能為大寫(xiě)的或者小寫(xiě)的,而不管CapsLock鍵是打開(kāi)的還是關(guān)閉的。就象安裝Windows時(shí)用戶(hù)輸入CD-KEY一樣。請看: Private Sub Text1_KeyPress(KeyAscii As Integer) '輸入的字母通通為小寫(xiě) If KeyAscii > 64 And KeyAscii < 91Then KeyAscii = KeyAscii + 32 End Sub Private Sub Text2_KeyPress(KeyAscii As Integer) '輸入的字母通通為大寫(xiě) If KeyAscii > 96 And KeyAscii < 123Then KeyAscii = KeyAscii - 32 End Sub 說(shuō)明:在A(yíng)scii字符集里,大寫(xiě)A--Z對應于字符代碼65--90,小寫(xiě)a--z對應于97--122。以A為例,小寫(xiě)a[95]與大寫(xiě)A[65]的字符代碼相差32,其它字母也是如此。當然可以借此編制一個(gè)函數來(lái)完成象方法一、二一樣將字符串進(jìn)行大小寫(xiě)互換,略顯復雜些,也沒(méi)什么必要。 |
聯(lián)系客服