亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

在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网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91久久精品日日躁夜夜躁国产| 久久露脸国产精品| 亚洲性生活视频在线观看| 欧洲亚洲免费在线| 亚洲va久久久噜噜噜| 欧美福利在线观看| 日韩av在线免费观看一区| 欧美与欧洲交xxxx免费观看| 国内成人精品视频| 日韩网站免费观看高清| 黑人巨大精品欧美一区二区免费| 91精品视频专区| 国内精品美女av在线播放| 亚洲影影院av| 久久天堂av综合合色| 欧美巨大黑人极品精男| 91黑丝在线观看| 97**国产露脸精品国产| 亚洲精品色婷婷福利天堂| 日韩精品免费在线| 欧美综合激情网| 国产www精品| 这里只有精品久久| 久久亚洲精品一区| 日韩av在线不卡| 揄拍成人国产精品视频| 一个人www欧美| 精品国产91久久久久久老师| 日本精品一区二区三区在线播放视频| 欧美专区中文字幕| 最新国产精品拍自在线播放| 亚洲一区av在线播放| 91精品视频大全| 亚洲激情在线观看| 一二美女精品欧洲| 久久人人爽人人| 欧美夫妻性生活视频| 中文字幕精品一区二区精品| 亚洲小视频在线| 自拍偷拍亚洲欧美| 久久久在线视频| 国产精品老女人精品视频| 亚洲日本中文字幕免费在线不卡| 精品一区二区三区三区| 91精品国产免费久久久久久| 日韩av片电影专区| 亚洲免费成人av电影| 高清日韩电视剧大全免费播放在线观看| 国产午夜精品全部视频在线播放| 黑人巨大精品欧美一区二区三区| 久久久99久久精品女同性| 国产精品一区二区久久国产| 日本精品视频在线| 欧美精品免费看| 在线观看精品国产视频| 日韩高清不卡av| 国产欧美日韩综合精品| 在线国产精品播放| 日韩国产精品亚洲а∨天堂免| 亚洲精品国产精品国自产观看浪潮| 91精品久久久久久久久不口人| 综合av色偷偷网| 2018国产精品视频| 91av在线播放视频| 久久久久久久国产精品视频| 亚洲人成电影网站色www| 日韩av三级在线观看| 亚洲www在线| 欧美日韩在线观看视频| 久久综合网hezyo| 国产精品久久久久高潮| 国产精品尤物福利片在线观看| 日韩av电影国产| 国产日韩欧美在线播放| 日韩电影视频免费| 日韩精品视频在线观看免费| 欧美成人合集magnet| 91福利视频在线观看| 97精品国产97久久久久久春色| 精品美女永久免费视频| 久热精品视频在线观看| 日本中文字幕成人| 一色桃子一区二区| 中文字幕亚洲欧美一区二区三区| 国产精品96久久久久久又黄又硬| 91精品国产自产在线老师啪| 亚洲综合一区二区不卡| 久久久久久久国产精品| 欧美日韩国产精品一区二区不卡中文| 欧美日韩国产一区二区| 亚洲欧美激情在线视频| 国产亚洲欧洲黄色| 成人激情视频在线| 日韩精品视频免费在线观看| 久久精品国产视频| 亚洲国产福利在线| 国产一区二区黑人欧美xxxx| 久久精品久久久久电影| 国产精品视频yy9099| 日韩中文字幕国产| 亚洲电影免费观看高清完整版在线| 不卡在线观看电视剧完整版| 亚洲精品久久久久久久久久久| 亚洲欧美日本伦理| 久久精品色欧美aⅴ一区二区| 国产成人一区二区三区小说| www.欧美精品一二三区| 91精品视频一区| 欧美性理论片在线观看片免费| 色偷偷偷综合中文字幕;dd| 97视频在线观看免费| 日韩高清人体午夜| 亚洲精品自拍第一页| 国内精品一区二区三区| 国产午夜精品免费一区二区三区| 欧美激情区在线播放| 国产亚洲aⅴaaaaaa毛片| 国产精品网红福利| 亚洲嫩模很污视频| 午夜精品久久久久久久99热| 亚州成人av在线| 亚洲精品欧美日韩专区| 国产成人福利网站| 91欧美精品午夜性色福利在线| 欧美精品在线观看91| 欧美精品日韩www.p站| 欧美性xxxx极品高清hd直播| 97人人做人人爱| 欧洲美女7788成人免费视频| 国产成人97精品免费看片| 久久精品视频网站| xxav国产精品美女主播| 福利视频导航一区| 一区二区三区视频免费| 亚洲人成网站777色婷婷| 91久久精品一区| 日韩在线观看网站| 亚洲一区二区久久久久久久| 欧美日韩国产第一页| 色诱女教师一区二区三区| 亚洲第一天堂无码专区| 在线观看精品国产视频| 亚洲色图美腿丝袜| 91久久中文字幕| 国产精品久久久久久久午夜| 国产精品久久久久久久久久尿| 美女精品久久久| 欧美精品电影免费在线观看| 国产精品永久免费在线| 亚洲国产美女精品久久久久∴| 777午夜精品福利在线观看| 日韩精品高清在线| 欲色天天网综合久久| 韩国三级电影久久久久久| 成人国产精品一区| 91精品久久久久久| 亚洲三级av在线| 91在线视频一区| 性色av香蕉一区二区| 久久久免费观看视频| xxxx欧美18另类的高清| 免费不卡欧美自拍视频| 国产精品电影一区| 国产欧美欧洲在线观看|