麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Visual Basic > 正文

VB編程步步高-代碼效率篇

2024-09-07 17:32:51
字體:
來源:轉載
供稿:網友

   了解對象的類型

   如果你想知道一個對象是否是特殊的類型,請編寫下面的代碼:

   If TypeOf obj Is ListItem Then ...

   如果想得到對象類型的名字,使用:

   MsgBox "The item is a " & TypeName(obj)

   控制長時間的循環

   當程序陷入一個很長時間的循環中時,你就不可能點擊任何一個命令按鈕或者按鍵。這樣對于用戶來說,就很不好控制。或許用戶不想再執行循環,通過點擊Cancel按鈕退出呢?怎么解決這個問題?答案是:使用DoEvents命令!就是說,在循環的開始執行DoEvents命令,就象下面的代碼一樣:

    Dim i As Long

    For i = 1 To 1000000
        DoEvents
        ...
    Next i
   實際上,DoEvents命令并不需要放置在第1行,將它放在循環中的任何地方都可以。這樣做后,程序的其他部分,比如一個結束循環的命令按鈕,就又機會接受點擊事件了。

   使長循環運行更快

   我發現,一般情況下,使用API函數GetInputState來檢查程序輸入隊列的數值是較好的。我不知道為什么If語句提高了代碼運行速度,但實際上確實是工作得很好。

   因此,可以將下面的代碼行

   DoEvents

   替換為

   If GetInputState() Then DoEvents

   試一試吧!

   其實,這里面的原因在于:DoEvents語句允許任何應用程序執行相關事件,而不僅僅是你自己的程序。加入了GetInputState的判斷后,就只接受你自己的程序的事件動作了!

   讓Select Case更簡單

   讓我們看看下面的例子:通過用戶點擊不同組合的標簽,建立一個字符串:

    lbl(0) = "Hello "
    lbl(1) = " I注釋:m "
    lbl(2) = " Happy"
    lbl(3) = " Sad"
    ...

    sub lbl_click (index as integer)
        string$ = string$+lbl(index).caption

   然后,你就必須要編寫一系列的select case語句來分析這個字符串 ...
    select case string$
        case "Hello I注釋:m Happy"
            do something
        case "Hello I注釋:m"
            this would be an error...
        case else
            do something else
    end select

   可以看出,這將非常得復雜,特別是又許多標簽而且需要合并操作的合法檢查時。

   為了解決這個難題,我創建了一個數組,它與標簽的數目等長:

   arraylbl(n) as integer

   數組起始數值為1,然后每個項目的值等于前一個的值乘以2(value*2),就象這樣:1 2 4 8 16 32 64 ... 這樣,每一對標簽的組合都會又一個唯一的數值“

   lbl(0) + lbl(1) = 1 + 2 = 3
lbl(0) + lbl(1) + lbl(4) = 1 + 2 + 16 = 19

   現在,當點擊一個標簽時,將它對應的lblarray()數值添加進變量中。這樣,基于幾個數字,就可以簡單地編寫select case語句了:

    select case IsLegal
        case 3
            注釋: the string was valid
            call goodstuff
        case 19
            注釋:the string was valid
            call goodstuff
        case  else
            注釋:invalid
            call nogood
    end select

   呵呵,有時候,將字符進行數字化,能起到意想不到的好效果!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: h视频在线观看免费 | 黄色免费小视频网站 | 深夜免费福利视频 | 91久久在线观看 | 久操福利视频 | 成年人激情在线 | 一级做a爱片性色毛片高清 国产精品色在线网站 | 日韩黄在线观看 | 韩国美女一区 | 欧美交在线 | 91小视频在线观看免费版高清 | 久久草在线视频国产 | 色淫影院 | 韩国十九禁高潮床戏在线观看 | 神马视频我不卡 | 成人三级黄色片 | 深夜激情视频 | 五月天影院,久久综合, | 精品亚洲夜色av98在线观看 | 欧美日韩高清在线观看 | 91精品国产一区二区三区动漫 | 中文字幕在线视频网站 | 久久日韩在线 | 国产免费福利视频 | 99这里精品 | 手机国产乱子伦精品视频 | 亚洲免费资源 | 亚洲3p激情在线观看 | 日本娇小18xxxⅹhd | 亚洲尻逼视频 | av电影院在线观看 | 在线播放亚洲 | a视频网站 | 九九热免费视频在线观看 | 国产九色视频在线观看 | 精品国产99久久久久久宅男i | 免费网址黄 | 色综合激情 | 国产精选电影免费在线观看 | 色柚视频网站ww色 | 少妇的肉体的满足毛片 |