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

首頁 > 學院 > 開發設計 > 正文

在VB應用程序中使用INI文件的一點體會

2019-11-18 17:32:33
字體:
來源:轉載
供稿:網友
一、INI文件概述

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

[SectionName]
KeyName=Value

其中SectionName和KeyName分別是段名和關鍵字名,Value為關鍵字對應的設定值。需要加以注意的是:

(1)段名必須加以"["和"]",且"["必須在屏幕的第一列;
(2)關鍵字名也必須從屏幕的第一列開始書寫,且后面必須緊跟"=";
(3)可以對文件加以注釋,每行注釋須以";"開頭。

  在Windows中,可以通過手工編輯INI文件來改變應用程序設置。如要想將Windows的外殼程序改為文件管理器,則可將system.ini中[boot]段下的"shell=
二、在VB中操作INI文件的幾個WindowsAPI函數

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

  VB(VisualBasic)語言是近年來十分流行的一種面向對象的編程語言,但VB本身并不提供操縱INI文件的函數。所幸的是,VB支持DLL(DynamicLinkLibrary)的調用。(一個DLL事實上就是一個可供其它支持DLL調用的應用程序調用的外部函數集。)DLL中的函數稱為API(應用編程接口,
applicationProgrammingInterface)函數。我們可以通過調用相應的API函數來實現操縱INI文件的功能。下面列出了相關的API函數及其說明。在使用這些函數之前,必須首先在VB的模塊文件(.bas)中用Declare語句對它們進行聲明。



三、實例分析

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

[數據庫]
文件名=//DEC_LX5120/DB/OA.mdb
[開戶銀行]
類型數=3
B1=中國人民銀行
B2=中國農業銀行
B3=中國工商銀行

1.在程序啟動時(執行SUBMAIN()和SUBFORM_LOAD()),從man.ini文件中讀取相應的值并進行以后的操作。其中SUBMAIN()中的有關代碼如下:

DimDbNameasString*255'數據庫名
DimnasInteger
'得到INI文件名,INIfileName為一全局變量
INIfileName=App.Path&"/"&app.ExeName&".ini"
'從man.ini中讀取數據庫文件名
n=GetPrivateProfileString("數據庫","文件名","",DbName,Len(DbName),INIfileName)
DbName=Left(DbName,n)
'打開數據庫,Db為一全局變量
SetDb=OpenDatabase(DbName)
在FORM_LOAD()過程中,讀取了man.ini中有關的內容并加入相應的組合框(ComboBox)列表中。這里只給出對"[開戶銀行]"段的相應操作,代碼如下:
DimBankCountasInteger'銀行類型數
DimBankNameasString*255'銀行名
DimiasInteger,nasInteger
'讀取原有銀行類型數
BankCount=GetPrivateProfileInt("開戶銀行","類型數",0,INIfileName)
'讀取銀行名并加入到組合框cmbBank中
ForI=1toBankCount
n=GetPrivateProfileString("開戶銀行","B"&i,BankName,Len(BankName),INIfileName)
BankName=Left(BankName,n)
cmbBank.AddItemBankName
NextI

2.在程序中提供了一個專用維護界面,該界面通過操作INI文件的相應內容來實現相應的修改。

'下面代碼實現數據庫路徑的修改
DimnasInteger
'txtDbName.Text對應新的數據庫文件名
IftxtDbName.Text=""Then
MsgBox"數據庫文件名不能為空!",MB_ICONSTOP,App.Title
txtDbName.SetFocus
ExitSub
Else
'修改數據庫文件名
n=WritePrivateProfileString("數據庫","文件名",txtDbName.Text,INIfileName)
EndIf

'下面代碼往組合框"開戶銀行"中增加一個新銀行
DimNewBankasString'新銀行名
DimBankCountasInteger'銀行類型數
DimIasInteger,nasInteger
'輸入新銀行名
NewBank=InputBox("增加開戶銀行。",App.Title,"")
IfNewBank=""Then
MsgBox"銀行名不能為空!",MB_ICONSTOP,App.Title
ExitSub
Else
'判斷輸入的銀行名是否已存在于列表中
ForI=0tocmbBank.ListCount-1
IfNewBank=cmbBank.List(i)Then
'存在則終止
MsgBoxNewBank&"已存在于列表中!",MB_ICONSTOP,App.Title)
ExitSub
EndIf
NextI
'讀取原銀行類型數
BankCount=GetPriVateProfileInt("開戶銀行","類型數",0,INIfileName)
'將銀行類型數增1
BankCount=BankCount 1
n=WritePrivateProfileString("開戶銀行","類型數",Str(BankCount),INIfileName)
'將新銀行名寫入INI文件中
n=WritePrivateProfileString("開戶銀行","B"&BankCount,NewBank,INIfileName)
EndIf

四、結論

  綜上所述,在實際的VB應用程序開發中,適當地利用INI文件,可以很好地改善程序的可維護性和可用性。尤其在數據庫訪問中使用INI文件可使用戶在數據庫路徑改變時免去修改原代碼之苦。在實際開發中,若結合一定的維護界面,也可使應用程序容易維護,增強友好性。->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产在线观看免费视频软件 | 成人一区二区在线观看视频 | 欧美一级爱操视频 | 黄色av网站在线观看 | 午夜久久久久 | 成人一级黄色片 | 日韩av日韩 | 污污黄| 国产精品久久久久久模特 | 99在线热视频 | 欧美性生活视频免费 | 日韩高清电影 | 中文字幕1区2区 | 国产一精品一av一免费爽爽 | 国人精品视频在线观看 | 国产91精品久久久 | 久久99精品国产99久久6男男 | 精品成人久久久 | 午夜精品视频在线 | 人成免费网站 | 少妇一级淫片免费看 | 午夜精品成人 | 欧美亚洲黄色 | 宅男噜噜噜66国产免费观看 | 欧美一区二区三区中文字幕 | 欧美成人免费 | 9797色 | 国产一级毛片高清视频完整版 | 精品无吗乱吗av国产爱色 | 亚洲福利视 | 老女人碰碰在线碰碰视频 | 韩国草草影院 | 欧美韩国一区 | 操操操日日日干干干 | 欧美中文日韩 | 国产精品成人av片免费看最爱 | 免费看成人av | 免费啪视频在线观看 | 4480午夜| 有兽焉免费动画 | 欧美 亚洲 视频 |