乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      在 Visual Basic 中資源文件的多種使用技巧

       云中凌 2014-10-21

          在 Visual Basic 中資源文件的多種使用技巧 武漢 艾軍 摘要 本文介紹了 Visual Basic 中資源文件的多種使用技巧:① 開發(fā) 中英(簡(jiǎn)、繁)雙版本的技巧;②實(shí)現(xiàn)“綠色”軟件;③直接播放聲音文件;④保存各類圖標(biāo)、光標(biāo)圖片等等。 關(guān)鍵詞 資源文件 一、 開發(fā)

         

         

          在 Visual Basic 中資源文件的多種使用技巧

          武漢 艾軍

          摘要 本文介紹了 Visual Basic 中資源文件的多種使用技巧:①開發(fā)中英(簡(jiǎn)、繁)雙版本的技巧;②實(shí)現(xiàn)“綠色”軟件;③直接播放聲音文件;④保存各類圖標(biāo)、光標(biāo)圖片等等。

          關(guān)鍵詞 資源文件

         

      一、 開發(fā)中英(簡(jiǎn)、繁)雙版本

          現(xiàn)在比較流行的軟件都會(huì)有中文版、英文版、繁體版等等多個(gè)版本,并可以根據(jù)系統(tǒng)的語(yǔ)言自動(dòng)顯示相適應(yīng)的版本,那么這個(gè)功能在 VB 是如何實(shí)現(xiàn)得呢的:

          1、 首先通過 API 函數(shù)GetSystemDefaultLCID 判斷系統(tǒng)的語(yǔ)言

          Option Explicit

          Dim lang As String

          Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long

          Private Sub Form_Load()

          Dim LocaleID As Long

          LocaleID = GetSystemDefaultLCID

          Select Case LocaleID

          Case &H404

          MsgBox "當(dāng)前系統(tǒng)為:中文繁體", , "語(yǔ)言"

          Case &H804

          MsgBox "當(dāng)前系統(tǒng)為:中文簡(jiǎn)體", , "語(yǔ)言"

          lang = "1"

          Case &H409

          MsgBox "當(dāng)前系統(tǒng)為:英文", , "語(yǔ)言"

          lang = "2"

          End Select

          End Sub

          2、然后程序就可以加載保存在資源文件(這里我們就是使用的這種方法)、注冊(cè)表、INI 文件、文本文件或其他文件中的各類字符串,以達(dá)到達(dá)到實(shí)現(xiàn)多種語(yǔ)言的目的。

          ⑴啟動(dòng) VB6.0,在“外接程序→外接程序管理器”中加載“Visual Basic 6 資源編輯器”

          ⑵在 VB 資源編輯器窗口中,點(diǎn)擊“編輯字符串表格”輸入如下資料:

          標(biāo)識(shí)號(hào) 中文(中國(guó))

          101 例子

          102 中文

          103 英文

          201 Ensample

          202 Chinese

          203 English

          ⑶保存資源文件,寫如下代碼:(自定義裝載字符的函數(shù) LoadString)

          Sub LoadString()

          Me.Caption = LoadResString(Int(lang & "01"))

          Command1(0).Caption = LoadResString(Int(lang & "02"))

          Command1(1).Caption = LoadResString(Int(lang & "03"))

          End Sub

          ⑷怎么樣一個(gè)簡(jiǎn)單的中英雙版本的程序就做出來了,如果把 lang 的值設(shè)置為 1,則顯示中文,如果把 lang 的值設(shè)置為 2,則顯示英文。

          二、 實(shí)現(xiàn)“綠色”軟件

          現(xiàn)在非常流行“綠色”軟件,不需要什么安裝程序只要一個(gè) EXE 文件就可以運(yùn)行程序

          了,而在 VB 的編程中有許多地方需要調(diào)用第三方的控件(很難用 API 函數(shù)搞定所有的功能),這就需要制做一個(gè)安裝程序,把所需要的控件、DLL 文件或其他文件打包進(jìn)去了,那么在 VB 中怎么用變通的方法實(shí)現(xiàn)“綠色”軟件呢,請(qǐng)看:

          示例:

          1、主程序.EXE

          用 VB6.0 編寫的程序,調(diào)用了 Winsock 控件,如果在沒有安裝 VB5.0、6.0 的機(jī)器上運(yùn)行則會(huì)出現(xiàn)錯(cuò)誤,導(dǎo)致程序運(yùn)行失敗,這時(shí)如果按一般的方法,只有把這個(gè)程序用 VB5.0、6.0 的安裝程序進(jìn)行打包,不然只有用用2的方法來解決了。

          2、注冊(cè)程序.EXE

          用 VB6.0 編寫的程序,使用資源文件的方法,把 Winsock 控件封裝到本程序中,在運(yùn)行主程序.EXE之前,先運(yùn)行本程序,通過 API 函數(shù) GetSystemDirectory 取得系統(tǒng)的 WinddowsSystem 的目錄,然后把 Winsock 控件復(fù)制到該目錄下,并用 Shell 來完成控件的注冊(cè)。

          ⑴啟動(dòng) VB6.0,在“外接程序→外接程序管理器”中加載“Visual Basic 6 資源編輯器”

          ⑵在 VB 資源編輯器窗口中,點(diǎn)擊“添加自定義資料”,增加 Winsock 控件(C:WinddowsSystemMswinsck.ocx),再雙擊剛剛創(chuàng)建的自定義資源,彈出”編輯屬性”窗口,定義如下:

          類型: “OCX”

          標(biāo)識(shí)號(hào): 101

          語(yǔ)言: 中文(中國(guó))

          ⑶保存資源文件,寫如下代碼:

          Option Explicit

          Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

          Const MAX_PATH = 260  注釋:定義足夠長(zhǎng)的字符串

          Private Sub Form_Load()

          Dim TempFile() As Byte

          Dim FileNum As Integer

          Dim TempDir As String

          TempDir = GetWinSysDir 注釋:自定義函數(shù)取得系統(tǒng)的 WinddowsSystem 的目錄

          TempFile = LoadResData(101, "OCX") 注釋:用以從資源 (.res) 文件裝載若干可能類型的數(shù)據(jù),并返回一個(gè) Byte 數(shù)組

          FileNum = FreeFile

          Open TempDir & "Mswinsck.ocx" For Binary Aclearcase/" target="_blank" >ccess Write As #FileNum 注釋:新建文件(把 Winsock 控件復(fù)制到指定目錄下)

          Put #FileNum, , TempFile

          Close #FileNum

          注釋:Shell "regsvr32 " & TempDir & "Mswinsck.ocx ",vbNormalFocus 注釋:注冊(cè)控件,有彈出對(duì)話框

          Shell "regsvr32 " & TempDir & "Mswinsck.ocx /s", vbNormalFocus 注釋:注冊(cè)控件,無彈出對(duì)話框

          MsgBox "注冊(cè)成功,現(xiàn)在本程序可正常運(yùn)行了?。?, vbOKOnly, "注冊(cè)控件"

          Unload Me

          End Sub

          Public Function GetWinSysDir() 注釋:定義讀取WinddowsSystem 的所在目錄的函數(shù)

          Dim S As String, Length As Long

          S = String(MAX_PATH, 0) 注釋:賦值

          Length = GetSystemDirectory(S, MAX_PATH)   注釋:S為取得目錄,MAX_PATH 為長(zhǎng)度

          S = Left(S, InStr(S, Chr(0)) - 1) 注釋:去掉多余的空格

          GetWinSysDir = S

          End Function

          注釋:補(bǔ)充:S 和 MAX_PATH 的值是可以隨便賦的,

          注釋:如: Dim S As String * 20

          注釋:    Length = GetSystemDirectory(S, 20)

          3、補(bǔ)充說明

          在用 VB6.0 保存上述兩個(gè)程序后,請(qǐng)?jiān)偈褂?VB5.0 重新打開這兩個(gè)程序,并編譯為主程序.EXE、注冊(cè)文件.EXE。(用 VB5.0 編譯的程序,在 Win98、2000 下不需要任何 DLL 文件)

          程序運(yùn)行

          4、程序運(yùn)行

          將主程序.EXE、注冊(cè)文件.EXE兩個(gè)文件,復(fù)制到任意機(jī)器上,先運(yùn)行注冊(cè)文件.EXE注冊(cè)第三方的控件,再運(yùn)行主程序.EXE,就不會(huì)有任何的錯(cuò)誤了,一個(gè)變通的“綠色”軟件就完成了。

          三、 直接播放EXE文件中的聲音文件

          使用資源文件,可以直接在在EXE文件中播放聲音文件(WAV文件),使程序顯得更加專業(yè)。

          ⑴啟動(dòng) VB6.0,在“外接程序→外接程序管理器”中加載“Visual Basic 6 資源編輯器”

          ⑵在 VB 資源編輯器窗口中,點(diǎn)擊“添加自定義資料”,增加任意的 WAV 文件,再雙擊剛剛創(chuàng)建的自定義資源,彈出”編輯屬性”窗口,定義如下:

          類型: "WAVE"

          標(biāo)識(shí)號(hào): 102

          語(yǔ)言: 中文(中國(guó))

          ⑶保存資源文件,寫如下代碼:

          Option Explicit

          Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long

          Private Declare Function sndPlaySoundFromMemory Lib "winmm.dll" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long

          Public Const SND_ASYNC = &H1&

          Public Const SND_MEMORY = &H4&

          Private Sub Command5_Click()  注釋:播放 WAV 文件

          Dim bArr() As Byte

          bArr = LoadResData(102, "WAVE")

          sndPlaySoundFromMemory bArr(0), SND_ASYNC Or SND_MEMORY

          End Sub

          ⑷按 F5 運(yùn)行本程序,點(diǎn)擊 Command 按鈕,就可以聽到你選定的 WAV 文件的聲音了。

          四、 直接調(diào)用各類圖標(biāo)、光標(biāo)圖片

          在一個(gè)程序中,我們可能需要調(diào)用多個(gè)圖標(biāo)、光標(biāo)、圖片文件,一般來說我們主要是使用 ImageList 控件,不過其時(shí)使用資源文件是最好的方法(可以少使用一個(gè)控件呀)。

          ⑴啟動(dòng) VB6.0,在“外接程序→外接程序管理器”中加載“Visual Basic 6 資源編輯器”

          ⑵在 VB 資源編輯器窗口中,點(diǎn)擊“添加光標(biāo)”,“添加圖標(biāo)”,“添加位圖”,裝載所需要的文件。

          ⑶程序代碼如下:

          Me.Icon = LoadResPicture(101, vbResIcon) 注釋:加載圖標(biāo)

          Picture1.Picture = LoadResPicture(101, vbResBitmap) 注釋:加載位圖

          Command1.MouseIcon = LoadResPicture(101, vbResCursor) 注釋:加載光標(biāo)

          五、到此為此資源文件的多種使用技巧全部介紹完畢,希望這些技巧對(duì)大家的編程有幫助,上述程序全部在 Win98、VB5.0或6.0下運(yùn)行通過,如果大家還有什么問題,可到 www.d1vb.com 來我們一起討論。

          原文轉(zhuǎn)自:http://www.

      說明:該文章系網(wǎng)友上傳分享,若未進(jìn)行原創(chuàng)聲明,則表明該文章系轉(zhuǎn)載自互聯(lián)網(wǎng);若該文章內(nèi)容涉嫌侵權(quán),請(qǐng)及時(shí)向上學(xué)吧網(wǎng)站投訴>>

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多