亚洲一区亚洲二区亚洲三区,国产成人高清在线,久久久精品成人免费看,999久久久免费精品国产牛牛,青草视频在线观看完整版,狠狠夜色午夜久久综合热91,日韩精品视频在线免费观看

在VB應(yīng)用程序中使用INI文件的體會VB -電腦資料

電腦資料 時間:2019-01-01 我要投稿
【www.ishadingyu.com - 電腦資料】

    在VB應(yīng)用程序中使用INI文件的體會 作者:hsboy 中國軟件 開發(fā) 中心 摘要 結(jié)合實例介紹了在VB中調(diào)用Windows API函數(shù)操作初始化文件的方法和優(yōu)點. 關(guān)鍵詞 VB Windows API INI文件 一、INI文件概述 Windows INI文件,可解釋為Windows初始化文件,

在VB應(yīng)用程序中使用INI文件的體會VB

。它是一種專門用

   

   

    在VB應(yīng)用程序中使用INI文件的體會

    作者:hsboy 中國軟件開發(fā)中心

    摘要 結(jié)合實例介紹了在VB中調(diào)用Windows API函數(shù)操作初始化文件的方法和優(yōu)點.

    關(guān)鍵詞  VB Windows API INI文件

    一、INI文件概述

    Windows INI文件,可解釋為Windows初始化文件。它是一種專門用來保存應(yīng)用程序初始化信息和運行環(huán)境信息的文本文件。例如Windows 3.1中兩個著名的INI文件win.ini和system.ini就在Windows啟動時定義了Windows環(huán)境中鼠標響應(yīng)速度、使用的外殼(shell)程序等設(shè)置。Windows系統(tǒng)附帶的許多應(yīng)用程序也都有自己的INI文件,例如控制面板的INI 文件為control.ini,它也同樣定義了控制面板的有關(guān)設(shè)置。ini文件是一種文本文件,它可以通過Notepad等文本編輯器進行編輯。ini文件具有特定的格式。一個INI文件是由若干個段(section)組成的,每個段中包含若干關(guān)鍵字(key)及相應(yīng)的值(value)。段的格式如下:

    [SectionName]

    KeyName=Value

    其中SectionName和KeyName分別是段名和關(guān)鍵字名,Value為關(guān)鍵字對應(yīng)的設(shè)定值。需要加以注意的是:

    (1)段名必須加以"["和"]",且"["必須在屏幕的第一列;

    (2)關(guān)鍵字名也必須從屏幕的第一列開始書寫,且后面必須緊跟"=";

    (3)可以對文件加以注釋,每行注釋須以";"開頭。

    在Windows中,可以通過手工編輯INI 文件來改變應(yīng)用程序設(shè)置。如要想將Windows的外殼程序改為文件管理器,則可將system.ini中[boot]段下的"shell=progman.exe"改為"shell=winfile.exe"。有些設(shè)置也可以直接在應(yīng)用程序界面上更改,但實際上也是通過修改INI文件來保存這些修改的。

    二、在VB中操作INI文件的幾個Windows API函數(shù)

    在開發(fā)應(yīng)用程序時,我們可以創(chuàng)建應(yīng)用程序自己的INI文件,通過INI文件保存應(yīng)用程序的一些運行環(huán)境信息,然后在程序中讀取INI文件中的設(shè)置信息并據(jù)以處理。一旦程序的運行環(huán)境需要變更,則可以通過直接修改INI文件或在程序中提供專門的界面間接地修改INI文件來保證程序的可用性。

    VB(Visual Basic)語言是近年來十分流行的一種面向?qū)ο?/STRONG>的編程語言,但VB本身并不提供操縱INI文件的函數(shù)。所幸的是, VB支持DLL(Dynamic Link Library)的調(diào)用。(一個DLL事實上就是一個可供其它支持DLL調(diào)用的應(yīng)用程序調(diào)用的外部函數(shù)集。)DLL中的函數(shù)稱為API(應(yīng)用編程接口,Application Programming Interface)函數(shù)。我們可以通過調(diào)用相應(yīng)的API函數(shù)來實現(xiàn)操縱INI文件的功能。下面列出了相關(guān)的API函數(shù)及其說明。在使用這些函數(shù)之前,必須首先在VB的模塊文件(.bas)中用Declare語句對它們進行聲明。

    三、實例分析

    下面就筆者參加天津財經(jīng)學(xué)院教學(xué)辦公自動化(OA)系統(tǒng)開發(fā)的實踐介紹一下具體的實現(xiàn)方法。假定項目文件為man.mak,對應(yīng)的INI文件為man.ini,其部分內(nèi)容如下:

    [數(shù)據(jù)庫]

    文件名=\DEC_LX5120DBOA.mdb

    [開戶銀行]

    類型數(shù)=3

    B1=中國人民銀行

    B2=中國農(nóng)業(yè)銀行

    B3=中國工商銀行

    1. 在程序啟動時(執(zhí)行SUB MAIN()和SUB FORM_LOAD()),從man.ini文件中讀取相應(yīng)的值并進行以后的操作。其中SUB MAIN()中的有關(guān)代碼如下:

    Dim DbName as String*255 ’數(shù)據(jù)庫名

    Dim n as Integer

    ’得到INI文件名,INIfileName為一全局變量

    INIfileName=App.Path&""&app.ExeName&".ini"

    ’從man.ini中讀取數(shù)據(jù)庫文件名

    n=GetPrivateProfileString("數(shù)據(jù)庫","文件名","",DbName,Len(DbName),INIfileName)

    DbName=Left(DbName,n)

    ’打開數(shù)據(jù)庫,Db為一全局變量

    Set Db=OpenDatabase(DbName)

    在FORM_LOAD()過程中,讀取了man.ini中有關(guān)的內(nèi)容并加入相應(yīng)的組合框(Combo Box)列表中,

電腦資料

在VB應(yīng)用程序中使用INI文件的體會VB》(http://www.ishadingyu.com)。這里只給出對"[開戶銀行]"段的相應(yīng)操作,代碼如下:

    Dim BankCount as Integer ’銀行類型數(shù)

    Dim BankName as String*255 ’銀行名

    Dim i as Integer,n as Integer

    ’讀取原有銀行類型數(shù)

    BankCount=GetPrivateProfileInt("開戶銀行","類型數(shù)",0,INIfileName)

    ’讀取銀行名并加入到組合框cmbBank中

    For I=1 to BankCount

    n=GetPrivateProfileString("開戶銀行","B"&i,BankName,Len(BankName),INIfileName)

    BankName=Left(BankName,n)

    cmbBank.AddItem BankName

    Next I

    2. 在程序中提供了一個專用維護界面,該界面通過操作INI文件的相應(yīng)內(nèi)容來實現(xiàn)相應(yīng)的修改。

    ’下面代碼實現(xiàn)數(shù)據(jù)庫路徑的修改

    Dim n as Integer

    ’txtDbName.Text對應(yīng)新的數(shù)據(jù)庫文件名

    If txtDbName.Text="" Then

    MsgBox "數(shù)據(jù)庫文件名不能為空!",MB_ICONSTOP,App.Title

    txtDbName.SetFocus

    Exit Sub

    Else

    ’修改數(shù)據(jù)庫文件名

    n=WritePrivateProfileString("數(shù)據(jù)庫","文件名",txtDbName.Text,INIfileName)

    End If

    ’下面代碼往組合框"開戶銀行"中增加一個新銀行

    Dim NewBank as String ’新銀行名

    Dim BankCount as Integer ’銀行類型數(shù)

    Dim I as Integer,n as Integer

    ’輸入新銀行名

    NewBank=InputBox("增加開戶銀行。",App.Title,"")

    If NewBank="" Then

    MsgBox "銀行名不能為空!",MB_ICONSTOP,App.Title

    Exit Sub

    Else

    ’判斷輸入的銀行名是否已存在于列表中

    For I=0 to cmbBank.ListCount-1

    If NewBank=cmbBank.List(i) Then

    ’存在則終止

    MsgBox NewBank&"已存在于列表中!",MB_ICONSTOP,App.Title)

    Exit Sub

    End If

    Next I

    ’讀取原銀行類型數(shù)

    BankCount=GetPriVateProfileInt("開戶銀行","類型數(shù)",0,INIfileName)

    ’將銀行類型數(shù)增1

    BankCount=BankCount+1

    n=WritePrivateProfileString("開戶銀行","類型數(shù)",Str(BankCount),INIfileName)

    ’將新銀行名寫入INI文件中

    n=WritePrivateProfileString("開戶銀行","B"&BankCount,NewBank,INIfileName)

    End If

    四、結(jié)論

    綜上所述,在實際的VB應(yīng)用程序開發(fā)中,適當?shù)乩肐NI文件,可以很好地改善程序的可維護性和可用性。尤其在數(shù)據(jù)庫訪問中使用INI文件可使用戶在數(shù)據(jù)庫路徑改變時免去修改原代碼之苦。在實際開發(fā)中,若結(jié)合一定的維護界面,也可使應(yīng)用程序容易維護,增強友好性。

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

最新文章