Visual Basic程序設(shè)計(jì)教程(第3版)第vb14_第1頁
Visual Basic程序設(shè)計(jì)教程(第3版)第vb14_第2頁
Visual Basic程序設(shè)計(jì)教程(第3版)第vb14_第3頁
Visual Basic程序設(shè)計(jì)教程(第3版)第vb14_第4頁
Visual Basic程序設(shè)計(jì)教程(第3版)第vb14_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第14章數(shù)據(jù)文件14.1文件的分類與結(jié)構(gòu)文件是指記錄在外部介質(zhì)上的信息的集合,文件的結(jié)構(gòu)是指如何合理地組織數(shù)據(jù)從而形成文件,當(dāng)然這與文件的類型有關(guān)。14.1.1文件的分類1.按文件性質(zhì)分類根據(jù)文件的性質(zhì),可分為程序文件和數(shù)據(jù)文件兩大類。程序文件:這種文件中存放的是可供計(jì)算機(jī)執(zhí)行的程序,包括源程序文件和可執(zhí)行程序文件。例如,擴(kuò)展名為.com和.exe的可執(zhí)行文件及擴(kuò)展名為.bas和.frm的源程序文件。數(shù)據(jù)文件:用來存放運(yùn)行程序所需的數(shù)據(jù),或存儲程序的運(yùn)行結(jié)果。例如,學(xué)生成績、職工工資、人事檔案等。本章主要討論數(shù)據(jù)文件。2.按存取方式和結(jié)構(gòu)分類根據(jù)文件中數(shù)據(jù)存取方式的不同,可以將數(shù)據(jù)文件分為順序文件和隨機(jī)文件兩大類。順序文件:數(shù)據(jù)(通常以記錄的形式存放)的寫入是一個(gè)接一個(gè)依次進(jìn)行的。隨機(jī)文件:數(shù)據(jù)通常也以記錄的形式存放,但與順序文件不同的是,其每條記錄的長度相等,且擁有一個(gè)唯一的記錄號。3.按編碼方式分類根據(jù)文件中存儲信息所使用的編碼方式,可以將文件分為ASCII文件和二進(jìn)制文件。

ASCII文件:又稱為文本文件,它以ASCII方式存儲,數(shù)值型數(shù)據(jù)中的每位數(shù)字分別使用代表它們的ASCII碼存儲,漢字的存儲則使用雙字節(jié)的漢字字符集編碼。二進(jìn)制文件:以二進(jìn)制方式保存信息14.1.2文件的結(jié)構(gòu)(1)字符(Character)(2)字段(Field)(3)記錄(Record)(4)文件(File)14.2文件操作語句和函數(shù)14.2.1數(shù)據(jù)文件的操作數(shù)據(jù)文件的操作,一般按以下3個(gè)步驟進(jìn)行。(1)打開(或建立)文件。一個(gè)數(shù)據(jù)文件,首先必須打開才能使用。如果文件不存在,在執(zhí)行某些打開命令時(shí),將建立一個(gè)新文件。(2)讀/寫文件。執(zhí)行文件的“寫”操作,就是把內(nèi)存中的數(shù)據(jù)傳輸?shù)酵獠吭O(shè)備(一般為磁盤)中并予以存儲的過程;執(zhí)行文件的“讀”操作,則是把文件中的數(shù)據(jù)傳輸?shù)接?jì)算機(jī)內(nèi)存的過程。讀/寫文件是數(shù)據(jù)文件處理的核心部分。(3)關(guān)閉文件。對于一個(gè)不再使用的文件,應(yīng)執(zhí)行關(guān)閉命令,以便釋放相關(guān)的文件緩沖區(qū)。14.2.2文件的打開與關(guān)閉語句1.Open語句其語法格式為:Open〈文件名〉For〈讀寫方式〉[Access〈存取類型〉][〈鎖定類型〉]As[#]〈文件號〉[Len=〈記錄長度〉]【說明】①〈文件名〉為欲打開或建立的文件名,其中還可包括驅(qū)動(dòng)器名和路徑描述。②〈讀寫方式〉用來指定文件的讀/寫方式,其取值見表14-1。③〈存取類型〉用來指定文件的存取類型,其取值見表14-2。④〈鎖定類型〉用來在多用戶或多進(jìn)程環(huán)境中,限定其他用戶或進(jìn)程打開文件的操作,其取值見表14-3。2.Close語句Close語句用來關(guān)閉Open語句所打開的輸入/輸出文件。其語法格式為:Close[[#]〈文件號〉][,[#]〈文件號〉]…14.2.3文件訪問函數(shù)1.EOF函數(shù)EOF函數(shù)用于測試指定文件的結(jié)束狀態(tài),通常用來檢查以Input方式打開的順序文件。其語法格式為:EOF(〈文件號〉)2.FreeFile函數(shù)FreeFile函數(shù)返回指定范圍內(nèi)下一個(gè)可用的文件號。其語法格式為:FreeFile[(〈區(qū)間號〉)]例如:FileNumber=FreeFileFileName="c:\WEXAM\faz2001.dat"OpenFileNameForInputAs#FileNumber

……Close#FileNumber3.Input函數(shù)Input函數(shù)返回它所讀出的所有字符,包括逗號、空格符、引號及回車符和換行符等,可用于以Input方式打開的順序文件或以二進(jìn)制文件方式打開的文件。其語法格式為:Input(〈字符個(gè)數(shù)〉,[#]〈文件號〉)【說明】〈字符個(gè)數(shù)〉指定了需要返回的字符個(gè)數(shù)。4.Len函數(shù)Len函數(shù)返回字符串表達(dá)式中包含字符的數(shù)目,或存儲一個(gè)變量所需的字節(jié)數(shù)。其語法格式為:Len(〈字符串表達(dá)式〉)例如:MyLen=Len("計(jì)算機(jī)等級考試") '返回7MyLen=LenB("計(jì)算機(jī)等級考試") '返回14對于定長字符串,Len函數(shù)總是返回字符串定義的長度,例如:DimMyStrAsString*20MyStr="計(jì)算機(jī)等級考試" '實(shí)際輸入的字符個(gè)數(shù)為7MyLen=Len(MyStr) '返回變量MyStr定義的長度為205.Loc函數(shù)Loc函數(shù)返回一個(gè)用Open語句打開的文件的上一次讀/寫的位置。其語法格式為:Loc(〈文件號〉)6.LOF函數(shù)LOF函數(shù)返回用Open語句打開的文件的大?。ㄒ宰止?jié)為單位)。其語法格式為:LOF(〈文件號〉)7.Seek函數(shù)Seek函數(shù)返回一個(gè)用Open語句打開的文件的當(dāng)前讀/寫位置。其語法格式為:Seek(〈文件號〉)14.3順序文件的操作順序文件的打開與關(guān)閉操作由Open語句和Close語句來實(shí)現(xiàn)。打開順序文件的基本語法格式為:Open〈文件名〉For{Input|Output|Append}As〈文件號〉[Len=buffersize]14.3.1順序文件的寫操作1.Print#語句Print#語句將格式化數(shù)據(jù)寫入順序文件中,其功能與多次使用Print方法類似,只是Print方法輸出的對象是窗體、圖片框或打印機(jī),而Print#語句的輸出對象是文件。其語法格式為:Print#〈文件號〉,[{Spc(n)|Tab[(n)]}][〈表達(dá)式列表〉][{,|;}]【例14-1】用Print#語句向順序文件輸出數(shù)據(jù)。編寫窗體的Click事件代碼:PrivateSubForm_Click()Open"c:\WEXAM\26160001\out1.txt"ForOutputAs#1Print#1,1;2;3;4;5 '用緊湊格式輸出數(shù)值型數(shù)據(jù)

Print#1,"計(jì)算機(jī)";"等級考試";"1";"2";"3" '用緊湊格式輸出字符型數(shù)據(jù)

Print#1,"4","5",12.35,12-76 '用標(biāo)準(zhǔn)格式輸出

Print#1, '輸出一個(gè)空行

Print#1,"這是用";"Print#語句"; '注意,輸出列表最后有分號

Print#1,"輸出的文件" '緊湊上一個(gè)Print#語句輸出

Close#1EndSub運(yùn)行程序,在窗體上單擊后,用Windows的“記事本”打開文件out1.txt,可以看到文件的內(nèi)容及其格式,如圖14-1所示。2.Write#語句與Print#語句相同,Write#語句將輸出列表指定的數(shù)據(jù),順序?qū)懭搿次募枴邓淼奈募?。其語法格式為:Write#〈文件號〉,[〈表達(dá)式列表〉]【例14-2】用Write#語句向順序文件輸出數(shù)據(jù)。編寫窗體的Click事件代碼:PrivateSubForm_Click()DimIAsInteger,SAsStringDimDAsDate,BAsBooleanOpen"c:\WEXAM\26160001\out2.txt"ForOutputAs#1 '以順序輸出方式建立并打開文件

I=100:S="773456"D=Date:B=True 'Date函數(shù)返回系統(tǒng)當(dāng)前的日期

Write#1,I,S,D,B '寫入第一條記錄

Write#1,"這是用Write語句輸出的文件"'寫入第二條記錄

Close#1 '關(guān)閉文件EndSub運(yùn)行程序,在窗體上單擊后,用Windows的“記事本”打開文件out2.txt,可以看到文件的內(nèi)容及其格式,如圖14-2所示。【例14-3】用Write#語句向順序文件輸出20個(gè)隨機(jī)兩位整數(shù)。編寫窗體的Click事件代碼:PrivateSubForm_Click()RandomizeOpen"c:\WEXAM\26160002\datain.txt"ForOutputAs#1Fori=1To20Write#1,Int(Rnd*90)+10NextClose#1EndSub【例14-4】設(shè)在工程中有一個(gè)標(biāo)準(zhǔn)模塊,其中定義了如下記錄類型(用戶自定義類型):TypeBooksNameAsString*10

TelNumAsString*20EndType執(zhí)行下列事件過程代碼將在順序文件中寫入一條記錄:PrivateSubCommand1_Click()DimbAsBooksOpen"c:\WEXAM\Person.txt"ForOutputAs#1b.Name=InputBox("輸入姓名")b.TelNum=InputBox("輸入電話號碼")Write#1,b.Name,b.TelNum

Close#1EndSub14.3.2順序文件的讀操作1.Input#語句Input語句從一個(gè)打開的順序文件中讀出數(shù)據(jù),并將數(shù)據(jù)賦給指定的變量,其語法格式為:Input#〈文件號〉,〈變量列表〉【例14-5】用Input#語句讀取例14-2所建立文件中的數(shù)據(jù),并將數(shù)據(jù)顯示在窗體上。編寫窗體的Click事件代碼:PrivateSubForm_Click()DimIAsInteger,SAsStringDimDAsDate,BAsBooleanOpen"c:\WEXAM\26160001\out2.txt"ForInputAs#1 '以順序輸入方式打開文件

Input#1,I,S,D,B '讀取第一條記錄

Close#1 '關(guān)閉文件

Cls

Print"文件中第一條記錄為:"PrintI,S,D,BEndSub程序運(yùn)行結(jié)果如圖14-3所示?!纠?4-6】創(chuàng)建數(shù)據(jù)文件datain1.txt和datain2.txt,方法同例14-3。設(shè)計(jì)程序分別讀入文件中的各20個(gè)整數(shù),分別放入兩個(gè)數(shù)組Arr1和Arr2中,然后把兩個(gè)數(shù)組中對應(yīng)下標(biāo)的元素相加,其結(jié)果放入第三個(gè)數(shù)組中(即,第一個(gè)數(shù)組的第n個(gè)元素與第二個(gè)數(shù)組的第n個(gè)元素相加,其結(jié)果作為第三個(gè)數(shù)組的第n個(gè)元素,n=1,2,…,20),并計(jì)算第三個(gè)數(shù)組各元素之和,最后把所求得的和在窗體上顯示出來,并將計(jì)算結(jié)果存入dataout.txt文件中。設(shè)計(jì)步驟如下。(1)設(shè)計(jì)程序界面并設(shè)置控件屬性。在窗體中增加3個(gè)命令按鈕Command1~Command3,并修改其屬性,參見表14-4。(2)編寫代碼。首先在窗體的通用段聲明數(shù)組及變量:OptionBase1DimArr1(20)AsIntegerDimArr2(20)AsIntegerDimsAsInteger然后編寫讀取和寫入數(shù)據(jù)的通用過程。讀取文件datain1.txt的ReadDate1過程代碼如下:SubReadData1()OpenApp.Path&"\"&"datain1.txt"ForInputAs#1Fori=1To20Input#1,Arr1(i)NextiClose#1EndSub

讀取文件datain2.txt的ReadDate2過程代碼如下:SubReadData2()OpenApp.Path&"\"&"datain2.txt"ForInputAs#1Fori=1To20Input#1,Arr2(i)NextiClose#1EndSub

寫入文件的WriteData過程代碼如下:SubWriteData(FilenameAsString,NumAsInteger)OpenApp.Path&"\"&FilenameForOutputAs#1Print#1,NumClose#1EndSub其中,App.Path表示當(dāng)前工程所在的文件夾(目錄)。最后編寫事件過程代碼?!白x入數(shù)據(jù)”命令按鈕C1的Click事件代碼如下:PrivateSubC1_Click()CallReadData1CallReadData2EndSub“計(jì)算”命令按鈕C2的Click事件代碼如下:PrivateSubC2_Click()DimArr3(20)AsIntegerFori=1To20Arr3(i)=Arr1(i)+Arr2(i)Nexts=0Fori=1To20s=s+Arr3(i)Next

Cls

PrintPrint"各元素之和為:",sEndSub“存盤”命令按鈕C3的Click事件代碼如下:PrivateSubC3_Click()

WriteData"dataout.txt",sEndSub運(yùn)行程序,依次單擊“讀入數(shù)據(jù)”、“計(jì)算”、“存盤”命令按鈕(如圖14-4所示)后,所得結(jié)果保存在當(dāng)前文件夾的dataout.txt文件中。2.LineInput#語句LineInput#語句從順序文件中讀出一行,并把它賦給一個(gè)字符串變量,其語法格式為:LineInput#〈文件號〉,〈字符串變量〉【例14-7】設(shè)在當(dāng)前目錄中已有順序文件in1.txt,文件中有幾行漢字,如圖14-5所示。在窗體上畫一個(gè)文本框,名稱為Text1,能顯示多行;再畫一個(gè)命令按鈕,名稱為C1,標(biāo)題

為“存盤”。編寫適當(dāng)?shù)氖录^程,使得在加載窗體時(shí),把in1.txt文件的內(nèi)容顯示在文本框中,然后在文本的最前面手工插入一行漢字:“計(jì)算機(jī)等級考試”。最后單擊“存盤”按鈕,可以把在文本框中修改過的內(nèi)容存到文件out1.txt中,如圖14-6所示。

窗體的Load事件代碼可以讀入文件in1.txt:PrivateSubForm_Load()OpenApp.Path&"\"&"in1.txt"ForInputAs#1a=""DoUntilEOF(1)LineInput#1,ba=a&b&Chr(13)&Chr(10)LoopClose#1Text1.Text=aEndSub命令按鈕C1的Click事件代碼可以將文本框中的內(nèi)容寫入文件Out1.txt中:PrivateSubC1_Click()OpenApp.Path&"\"&"out1.txt"ForOutputAs#1Print#1,Text1.TextClose#1EndSub【例14-8】一個(gè)簡易文本編輯器,具有創(chuàng)建、編輯、保存普通文本文件的功能,如圖14-7所示。(1)建立應(yīng)用程序用戶界面并設(shè)置對象屬性。首先在窗體上添加一個(gè)文本框Text1和一個(gè)公共對話框CommonDialog1,然后打開菜單編輯器,按照表14-5設(shè)計(jì)菜單項(xiàng)。窗體、文本框、公共對話框的屬性設(shè)置參見表14-6。(2)編寫代碼。為了使改變窗體大小的時(shí)候文本框能隨之改變,編寫窗體的Resize事件代碼:PrivateSubForm_Resize()Text1.Left=0Text1.Top=0Text1.Height=Form1.ScaleHeightText1.Width=Form1.ScaleWidth-Picture1.WidthEndSub編寫菜單控鍵數(shù)組File()的Click事件代碼:PrivateSubFile_Click(IndexAsInteger)n=Index

SelectCasenCase0 '新建

Text1.Text=""Form1.Caption="未命名"Case1 '打開

CommonDialog1.ShowOpen '顯示“打開”公共對話框

fname=CommonDialog1.FileNameIffname<>""ThenText1.Text=""OpenfnameForInputAs#1b=""DoUntilEOF(1)LineInput#1,nextline

b=b&nextline&Chr(13)&Chr(10)LoopClose#1Text1.Text=bEndIfForm1.Caption=fname

Case2 '保存

IfForm1.Caption="未命名"OrForm1.Caption=""ThenCommonDialog1.ShowSave '顯示“另存為”公共對話框

fname=CommonDialog1.FileNameElse

fname=Form1.CaptionEndIfIffname<>""ThenOpenfnameForOutputAs#1Print#1,Text1.TextClose#1EndIfCase3 '另存

CommonDialog1.ShowSave '顯示“另存為”公共對話框

fname=CommonDialog1.FileNameIffname<>""ThenOpenfnameForOutputAs#1Print#1,Text1.TextClose#1EndIf

Case4Text1.Text=""EndEndSelectText1.SetFocusEndSub14.4隨機(jī)文件的操作隨機(jī)文件的打開與關(guān)閉操作仍由Open語句和Close語句來實(shí)現(xiàn)。打開隨機(jī)文件的基本語法格式為:Open〈文件名〉[ForRandom]As〈文件號〉Len=〈記錄長度〉14.4.1隨機(jī)文件的讀/寫操作1.Get#語句使用Get#語句把記錄讀入變量,其語法格式為:Get#〈文件號〉,〈記錄號〉,〈變量名〉2.Put#語句使用Put#語句可以把數(shù)據(jù)寫入或替換隨機(jī)文件中的記錄,其語法格式為:Put#〈文件號〉,〈記錄號〉,〈變量名〉【例14-9】利用隨機(jī)文件保存學(xué)生的成績,可以瀏覽或編輯(讀取、修改、保存)學(xué)生的學(xué)號、姓名及3門功課的成績,界面如圖14-8所示。(1)建立應(yīng)用程序用戶界面并設(shè)置對象屬性。各框架、文本框、標(biāo)簽、列表框和命令按鈕的屬性設(shè)置如圖14-8所示。(2)編寫代碼。首先在窗體的通用段創(chuàng)建用戶定義類型(記錄類型)并聲明變量:PrivateTypecjxmAsString*6

xhAsString*6

sxAsInteger

ywAsInteger

wyAsIntegerEndTypePrivatedaAscj編寫“讀取”按鈕的Click事件代碼:PrivateSubCommand1_Click()DimsxAsSingle,ywAsSingle,wyAsSingle

FileName=App.Path&"\"&"xsda2.dat"

OpenFileNameForRandomAs#1Len=Len(da)'打開隨機(jī)數(shù)據(jù)文件

lastrec=LOF(1)/Len(da)List1.ClearForn=1Tolastrec

Get#1,n,daxh=Format(da.xh,"@@@@@@")

xm=Format(RTrim(da.xm),"@@@@")

yw=Format(da.yw,"####")

wy=Format(da.wy,"####")

sx=Format(da.sx,"####")

msg=xh&""&yw&""&wy&""&sx&""&xm

List1.AddItemmsg

NextCommand1.Enabled=FalseEndSub編寫“保存”按鈕的Click事件代碼:PrivateSubCommand2_Click()

recnum=List1.ListIndexda.xh=Text1(0).Text

da.xm=Text1(1).Text

da.yw=Text1(2).Text

da.wy=Text1(3).Text

da.sx=Text1(4).Text

xh=Format(da.xh,"@@@@@@")

xm=Format(RTrim(da.xm),"@@@@")

yw=Format(da.yw,"####")

wy=Format(da.wy,"####")

sx=Format(da.sx,"####")

msg=xh&""&yw&""&wy&""&sx&""&xm

Put#1,recnum+1,da

List1.RemoveItemrecnum

List1.AddItemmsg,recnum

Command2.Enabled=FalseEndSub編寫“關(guān)閉”按鈕的Click事件代碼:PrivateSubCommand3_Click()Close#1UnloadMeEndSub編寫列表框的Click事件代碼:PrivateSubList1_Click()IfList1.ListIndex>-1Thenn=List1.ListIndex+1Get#1,n,da

Text1(0).Text=da.xh

Text1(1).Text=da.xm

Text1(2).Text=da.yw

Text1(3).Text=da.wy

Text1(4).Text=da.sx

EndIfCommand2.Enabled=TrueEndSub14.4.2隨機(jī)文件中記錄的增加與刪除1.增加記錄在隨機(jī)文件中添加記錄,是指向文件的末尾添加記錄。其方法是:把〈記錄號〉的值設(shè)置為比文件中的記錄數(shù)多1,然后使用Put語句?!纠?4-10】在例14-9中增加一個(gè)添加新記錄的功能,如圖14-9所示。只需在例14-9中增加一個(gè)“添加”命令按鈕Command4,并編寫其Click事件代碼:PrivateSubCommand4_Click()

lastrec=LOF(1)/Len(da)+1

da.xh=Text1(0).Text

da.xm=Text1(1).Text

da.yw=Text1(2).Text

da.wy=Text1(3).Text

da.sx=Text1(4).Text

xh=Format(da.xh,"@@@@@@")

xm=Format(RTrim(da.xm),"@@@@")

yw=Format(da.yw,"####")

wy=Format(da.wy,"####")

sx=Format(da.sx,"####")

msg=xh&""&yw&""&wy&""&sx&""&xm

Put#1,lastrec,da

List1.AddItemmsg

Command2.Enabled=FalseEndSub2.刪除記錄要清除隨機(jī)訪問文件中刪除的記錄,步驟如下。(1)創(chuàng)建一個(gè)新文件。(2)把有用的所有記錄從原文件復(fù)制到新文件中。(3)關(guān)閉原文件并用Kill語句刪除它(語法參見14.6.2節(jié))。(4)使用Name語句把新文件以原文件的名字重新命名(語法參見14.6.2節(jié))?!纠?4-11】在例14-10中增加一個(gè)刪除記錄的功能,如圖14-10所示。只需在例14-10中增加一個(gè)“刪除記錄”命令按鈕Command5,其Click事件代碼如下:PrivateSubCommand5_Click()

FileName=App.Path&"\"&"xsda2.dat"

recnum=List1.ListIndex+1Open"rec.tem"ForRandomAs#2Len=Len(da)'打開臨時(shí)隨機(jī)文件

lastrec=LOF(1)/Len(da)Forn=1Tolastrec

Ifn<>recnumThenGet#1,n,da

Put#2,,da

ElseGet#2,n,da

Withda

Text1(0).Text=.xh

Text1(1).Text=.xm

Text1(2).Text=.yw

Text1(3).Text=.wy

Text1(4).Text=.sx

EndWithEndIfNextClose#1Close#2KillFileName

Name"rec.tem"AsFileName

CallCommand1_ClickEndSub14.5文件系統(tǒng)控件14.5.1驅(qū)動(dòng)器列表框1.驅(qū)動(dòng)器列表框的屬性驅(qū)動(dòng)器列表框最主要的屬性是Drive屬性,該屬性用于設(shè)置或返回要操作的驅(qū)動(dòng)器。該屬性只能在運(yùn)行時(shí)由程序代碼設(shè)置或訪問,設(shè)計(jì)階段無效。例如,若驅(qū)動(dòng)器列表框的對象名為Drive1,要獲得當(dāng)前驅(qū)動(dòng)器號,可使用如下代碼:Drivename=Drive1.Drive若要設(shè)置當(dāng)前驅(qū)動(dòng)器為D盤,則可使用如下代碼:Drive1.Drive="D:"另外,使用ChDrive語句也可以將指定的驅(qū)動(dòng)器設(shè)為當(dāng)前驅(qū)動(dòng)器,如:ChDriveDrive1.Drive '將用戶在列表框中選擇的驅(qū)動(dòng)器設(shè)為當(dāng)前驅(qū)動(dòng)器ChDrive"D" '將D盤設(shè)為當(dāng)前驅(qū)動(dòng)器驅(qū)動(dòng)器列表框常與目錄列表框和文件列表框配合使用,以完成對相關(guān)文件的控制。2.驅(qū)動(dòng)器列表框的事件驅(qū)動(dòng)器列表框的常用事件主要是Change事件,該事件在驅(qū)動(dòng)器列表框的Drive屬性值發(fā)生改變時(shí)產(chǎn)生。通常在該事件過程中編程,以完成相關(guān)的操作。14.5.2目錄列表框1.目錄列表框的屬性目錄列表框最主要的屬性是Path屬性,用于設(shè)置或返回要顯示目錄結(jié)構(gòu)的驅(qū)動(dòng)器路徑或目錄路徑。例如,若目錄列表框的對象名為Dir1,要獲得當(dāng)前工作目錄,可使用如下代碼:Dir1.Path=Drive1.Drive要設(shè)置當(dāng)前目錄為C:\Windows,可使用如下代碼:Dir1.Path="C:\Windows"使用ChDir語句也可以改變當(dāng)前的目錄或文件夾,如:ChDirDir1.Path'將用戶在目錄列表框中選取的目錄設(shè)為當(dāng)前目錄2.目錄列表框的事件目錄列表框能響應(yīng)一些常用的事件,在實(shí)際編程中,最常用的是Change事件。該事件在目錄列表框的Path屬性發(fā)生改變時(shí)產(chǎn)生。目錄列表框常與驅(qū)動(dòng)器列表框配合使用,以便在驅(qū)動(dòng)器改變時(shí),目錄列表框中的顯示也能跟著改變。實(shí)現(xiàn)的方法通常是在驅(qū)動(dòng)器的Change事件中為目錄列表框的Path屬性賦值。14.5.3文件列表框文件列表框常與目錄列表框配合使用,用以顯示指定目錄下的文件列表。用戶可從文件列表框中選擇所要操作的一個(gè)或多個(gè)文件。1.文件列表框的屬性文件列表框可視為標(biāo)準(zhǔn)列表框的一個(gè)衍生列表框或具體化,因此,除了自身特有的屬性外,它也繼承了標(biāo)準(zhǔn)列表框的一些重要屬性。其主要屬性見表14-7。2.文件列表框的事件文件列表框常用的事件主要有PathChange,PatternChange,DblClick,Click,GotFocus和LostFoucs。14.5.4文件系統(tǒng)控件共有的屬性以下3個(gè)屬性是文件系統(tǒng)控件共有的:

ListCou

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論