![多窗體和多文檔界面_第1頁](http://file4.renrendoc.com/view/ed19d2195c7d1aa10dce4f5eeb70110f/ed19d2195c7d1aa10dce4f5eeb70110f1.gif)
![多窗體和多文檔界面_第2頁](http://file4.renrendoc.com/view/ed19d2195c7d1aa10dce4f5eeb70110f/ed19d2195c7d1aa10dce4f5eeb70110f2.gif)
![多窗體和多文檔界面_第3頁](http://file4.renrendoc.com/view/ed19d2195c7d1aa10dce4f5eeb70110f/ed19d2195c7d1aa10dce4f5eeb70110f3.gif)
![多窗體和多文檔界面_第4頁](http://file4.renrendoc.com/view/ed19d2195c7d1aa10dce4f5eeb70110f/ed19d2195c7d1aa10dce4f5eeb70110f4.gif)
![多窗體和多文檔界面_第5頁](http://file4.renrendoc.com/view/ed19d2195c7d1aa10dce4f5eeb70110f/ed19d2195c7d1aa10dce4f5eeb70110f5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第九章多窗體和多文檔界面9.1多窗體界面9.1.1窗體的生命周期通常VB窗體在應(yīng)用程序中有以下4種狀態(tài):創(chuàng)建狀態(tài)、加載狀態(tài)、可見狀態(tài)以及卸載狀態(tài)9.1.2窗體的創(chuàng)建窗體創(chuàng)建狀態(tài)開始的標(biāo)志是Initialize事件,窗體創(chuàng)建時(shí)最先執(zhí)行的代碼應(yīng)放在Form_Initialize事件過程中。9.1.3窗體的加載
Load事件標(biāo)志著加載狀態(tài)的開始。一旦窗體進(jìn)入加載狀態(tài),F(xiàn)orm_Load事件過程中的代碼便開始執(zhí)行。9.1.4窗體的顯示(1)Show方法:顯示一個(gè)窗體(當(dāng)窗體沒有Load,自動Load)
[窗體名稱].Show[模式] 0-Modal:關(guān)閉才能對其他窗體進(jìn)行操作。
1-Modeless,可以對其他窗體進(jìn)行操作。
(2)Hide方法:隱藏窗體
[窗體名稱.]Hide9.1.5窗體的卸載
窗體在卸載時(shí)可以是隱藏的,也可以是可見的。若沒隱藏,則它將保持可見直到卸載完畢,內(nèi)存和資源完全收回。
UnloadMe9.1.6結(jié)束應(yīng)用程序
當(dāng)應(yīng)用程序只有一個(gè)窗體時(shí),可以使用下面的語句來結(jié)束應(yīng)用程序:
UnloadMe
如果應(yīng)用程序有一個(gè)以上窗體,可以使用End語句來強(qiáng)行結(jié)束應(yīng)用程序而不顧現(xiàn)存窗體或?qū)ο蟮臓顟B(tài)。第十章文件10.1文件概述-文件種類1.順序文件
文件中的記錄按順序存放從第一個(gè)記錄的存儲位置順序訪問文本文件:一行一條記錄,記錄可長可短,以“換行”字符為分隔符號。
2.隨機(jī)文件可按任意次序讀寫文件(按記錄號)每個(gè)記錄的長度必須相同3.二進(jìn)制文件文件是字節(jié)的集合允許程序按所需的任何方式組織和訪問數(shù)據(jù)
1.打開文件
Open文件名[For模式]As[#]文件號[Len=記錄長度] (1)模式
OUTPUT:寫入操作;
INPUT:讀出操作;
APPEND:追加內(nèi)容到文件末尾。
(2)文件號
1~511,可以用FreeFile函數(shù)獲得下一個(gè)可利用的文件號。
(3)記錄長度
小于或等于32767的整數(shù),它指定數(shù)據(jù)緩沖區(qū)的大小。
例如,打開C:\VB\SCORE.txt,供寫入數(shù)據(jù),指定文件號為#1。
OPEN"C:\VB\SCORE.txt"FOROUTPUTAS#1
output:每次寫前入將以前的內(nèi)容全部擦除。
append:將內(nèi)容追加到文件的末尾。以output和append模式打開文件,如果文件不存在,將新建一個(gè)文件以input模式打開文件,如果文件不存在,則報(bào)錯(cuò)10.2順序文件打開文件讀出或?qū)懭腙P(guān)閉文件
2.寫入命令
#文件號,[輸出列表][例10-1]
Write#文件號,[輸出列表]
3.關(guān)閉文件
Close[[#]文件號][,[#]文件號]...
例如:Close#1例10-1:編寫程序,用Print#語句向文件file1.dat中寫入數(shù)據(jù),錄入界面如圖所示:程序代碼:PrivateSubCommand1_Click()Open“c:\file1.dat”ForOutputAs#1’第一步:以output模式打開文件,文件號為#1studname=Text1.Textstudsex=Text2.Textstudage=Text3.TextPrint#1,studname,studsex,studage‘第二步:使用print方法向#1號文件寫入內(nèi)容Close#1’第三步:關(guān)閉#1號文件EndSub打開文件寫入文件關(guān)閉文件完善實(shí)驗(yàn),利用通用對話框,實(shí)現(xiàn)保存文件功能。PrivateSubFileSave_Click()Dimch1AsStringCommonDialog1.CancelError=FalseCommonDialog1.DialogTitle="保存"CommonDialog1.Filter="文本文件|*.txt|word文檔|*.doc"CommonDialog1.ShowSavech1=CommonDialog1.FileNameIfch1<>""Then
Opench1ForOutputAs#1‘打開文件
Print#1,Text1.Text’寫文件
Close#1‘關(guān)閉文件
EndIfEndSub
4.讀順序文件
INPUT
#文件號,變量列表
把讀出的每個(gè)數(shù)據(jù)項(xiàng)分別存放到所對應(yīng)的變量。
LINEINPUT#文件號,字符串變量
讀一行到變量中,主要用來讀取文本文件。
INPUT$(讀取字符數(shù),#文件號)
讀取指定數(shù)目的字符。如:mystr$=input$(100,#1)從#1號文件中讀取100個(gè)字符,并賦值給變量mystr$。
5.函數(shù)
LOF(文件號):返回文件的長度(總字節(jié)數(shù))。
EOF(文件號):返回讀寫位置。 指針在文件尾時(shí),EOF函數(shù)為True,否則為False。INPUT$(讀取字符數(shù),#文件號)例10-2方法一:將內(nèi)容一次性讀入文本框,程序如下:Text1.Text=""Open“c:\1.txt”ForInputAs#1‘打開文件,若打開一個(gè)不存在的文件,則出錯(cuò)
Text1.Text=Input(LOF(1),1)‘返回文件內(nèi)容,其中LOF(1)得到#1文件長度,第二個(gè)參數(shù)1是文件號Close#1 ’關(guān)閉文件注意:該方法只能用于讀取西文字符的文本。打開文件讀取文件關(guān)閉文件LINEINPUT#文件號,字符串變量例10-2方法二:將文本內(nèi)容一行一行讀入文本框,程序如下:
Text1.Text=""Open“c:\1.txt”ForInputAs#1‘打開文件
DoWhileNotEOF(1)’一行一行讀取文件內(nèi)容
LineInput#1,InputdataText1.Text=Text1.Text+Inputdata+vbCrLf'一行一行讀取,需添加換行符
LoopClose#1 ‘關(guān)閉文件例10-2方法三:將內(nèi)容一個(gè)字符一個(gè)字符讀入文本框,程序如下:Text1.Text=""Open"c:\1.txt"ForInputAs#1DoWhileNotEOF(1)
Inputdata=Input(1,#1)Text1.Text=Text1.Text+Inputdata‘逐個(gè)字符讀入,無需添加換行符
LoopClose#1
方法二、三可以輸入中英文兩種文字例10-2在將實(shí)驗(yàn)文件夾中的file2.dat文件用三種不同的方法讀入到文本框中。運(yùn)行界面如圖所示:方法一:將內(nèi)容一次性讀入文本框,程序如下:PrivateSubCommand1_Click()Text1.Text=""Open"f:\sy\file2.dat"ForInputAs#1Text1.Text=Input(LOF(1),1)Close#1EndSub方法二:將內(nèi)容一行一行讀入文本框,程序如下:PrivateSubCommand1_Click()Text1.Text=""Open"f:\sy\file2.dat"ForInputAs#1DoWhileNotEOF(1)LineInput#1,inputdataText1.Text=Text1.Text+inputdata+vbCrLfLoopClose#1EndSub方法三:把內(nèi)容一個(gè)一個(gè)字符讀入。程序如下:PrivateSubCommand1_Click()Text1.Text=""Open"f:\sy\file2.dat"ForInputAs#1DoWhileNotEOF(1)
Inputdata=Input(1,#1)Text1.Text=Text1.Text+InputdataLoopClose#1EndSub完善實(shí)驗(yàn),利用通用對話框,實(shí)現(xiàn)打開文件功能。CommonDialog1.CancelError=FalseCommonDialog1.Filter="文本文件|*.txt|word文檔|*.doc"CommonDialog1.Action=1ch=CommonDialog1.FileNameOpenchForInputAs#1DoWhileNotEOF(1)LineInput#1,InputdataText1.Text=Text1.Text+Inputdata+vbCrLf'一行一行讀取,需添加換行符
LoopClose#110.3隨機(jī)文件
1.打開
Open
文件名ForRandomAs#文件號[Len=記錄長度] 2.寫操作
Put[#]文件號,[記錄號],變量名
將一個(gè)記錄變量的內(nèi)容寫到指定的記錄位置處。 忽略記錄號,則表示在當(dāng)前記錄后的位置插入一條記錄。記錄號是大于1的整數(shù)
3.讀操作
Get[#]文件號,[記錄號],變量名
忽略記錄號,則讀出當(dāng)前記錄后的那一條記錄。
1.打開
Open
文件名ForBinaryAs#文件號
2.寫操作
Put[#]文件號,[位置],變量名 寫入長度等于變量長度的數(shù)據(jù)。
3.讀操作
GET[#]文件號,[位置],變量名 從指定位置開始讀出長度等于變量長度的數(shù)據(jù)存入變量中,數(shù)據(jù)讀出后移動變量長度位置,如果忽略位置,則表示從文件指針?biāo)傅奈恢瞄_始讀出數(shù)據(jù),數(shù)據(jù)讀出后移動變量長度位置。10.4二進(jìn)制文件10.5文件系統(tǒng)控件一.文件系統(tǒng)控件種類
1.驅(qū)動器列表框(DriveListBox):用來顯示當(dāng)前機(jī)器上的盤符。
2.目錄列表框(DirListBox):用來顯示當(dāng)前盤上的所有文件夾。
3.文件列表框(FileListBox):用來顯示當(dāng)前文件夾下的所有文件名。驅(qū)動器列表框目錄列表框文件列表框二.文件系統(tǒng)控件的重要屬性屬性適用的控件作用示例Drive驅(qū)動器列表框包含當(dāng)前選定的驅(qū)動器名Drive1.Drive="C"Path目錄和文件列表框包含當(dāng)前路徑Dir1.Path="C:\WINDOWS"FileName
文件列表框包含選定的文件名MsgBoxFile1.FileNamePattern文件列表框決定顯示的文件類型File1.Pattern="*.BMP"事件適用的控件事件發(fā)生的時(shí)機(jī)Change目錄和驅(qū)動器列表框驅(qū)動器列表框的Change事件是在選擇一個(gè)新的驅(qū)動器或通過代碼改變Drive屬性的設(shè)置時(shí)發(fā)生目錄列表框的Change事件是在雙擊一個(gè)新的目錄或通過代碼改變Path屬性的設(shè)置時(shí)發(fā)生PathChange
文件列表框當(dāng)文件列表框的Path屬性改變時(shí)發(fā)生PattenChange
文件列表框當(dāng)文件列表框的Pattern屬性改變時(shí)發(fā)生Click目錄和文件列表框用鼠標(biāo)單擊時(shí)發(fā)生DblClick
文件列表框用鼠標(biāo)雙擊時(shí)發(fā)生三.文件系統(tǒng)控件的重要事件
1.驅(qū)動器列表框
Drive屬性:
[對象.]Drive[=drive]
Change事件: 重新設(shè)置Drive屬性引發(fā)Change事件
2.目錄列表框
Path屬性:
[對象.]Path[=pathname]
Change事件: 重新設(shè)置Path屬性引發(fā)Change事件3.文件列表框
Path屬性: 顯示該路徑下的文件。 重新設(shè)置Path屬性引發(fā)PathChange事件。
Pattern屬性: 顯示的文件類型。
[對象.]Pattern[=value]
例:filFile.Pattern="*.frm",顯示*.frm文件。 多個(gè)文件類型用分號;分界。例如:"*.frm;*.frx"
重新設(shè)置Pattern屬性引發(fā)PatternChange事件。
FileName屬性:
[對象.]FileName[=pathname]
引用時(shí)只返回文件名。
Click、DblClick事件:
例如,單擊輸出文件名。
SubfilFile_Click()
MsgBox
filFile.FileName EndSub
例如,雙擊執(zhí)行可執(zhí)行程序:
SubfilFile_DblClick()
RetVal=Shell(filFile.FileName,1)
'
執(zhí)行程序
EndSub例10-5設(shè)計(jì)如圖所示的文件管系統(tǒng)。單擊文件名時(shí)顯示出文件路徑及名稱。在設(shè)計(jì)界面拖放驅(qū)動器、目錄和文件列表框。1)窗體加載事件:PrivateSubForm_Load()Combo1.AddItem"所有文件(*.*)"Combo1.AddItem"可執(zhí)行程序(*.exe)"Combo1.AddItem"文本文件(*.txt)"EndSub2)編寫使驅(qū)動器列表框、目錄框和文件列表框同步操作的事件過程:PrivateSubDrive1_Change()Dir1.Path=Drive1.DriveEndSubPrivateSub
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美發(fā)店員工合同范本(7篇)
- 2024-2025學(xué)年第2課諸侯紛爭與變法運(yùn)動-勤徑學(xué)升高中歷史必修上同步練測(統(tǒng)編版2019)
- 2025年企業(yè)市場營銷合作伙伴協(xié)議
- 2025年酒店客房用品訂購合同模板
- 2025年不動產(chǎn)權(quán)益讓與擔(dān)保協(xié)議版
- 2025年電動車維修服務(wù)合同示范
- 2025年水文測量儀器項(xiàng)目立項(xiàng)申請報(bào)告模范
- 2025年企業(yè)銷售專員合同格式
- 2025年戀愛雙方保密協(xié)議策劃模板
- 2025年度股權(quán)變更持有人協(xié)議
- 《水電站繼電保護(hù)》課件
- 部編高教版2023·職業(yè)模塊 中職語文 2.《寧夏閩寧鎮(zhèn):昔日干沙灘今日金沙灘》 課件
- 心肺復(fù)蘇術(shù)課件2024新版
- 學(xué)校開學(xué)安全隱患自查表
- 2024新人教版初中英語單詞表匯總(七-九年級)中考復(fù)習(xí)必背
- 內(nèi)鏡下粘膜剝離術(shù)(ESD)護(hù)理要點(diǎn)及健康教育
- 2022年全省百萬城鄉(xiāng)建設(shè)職工職業(yè)技能競賽暨“華衍杯”江蘇省第三屆供水安全知識競賽題庫
- 廣西北海LNG儲罐保冷施工方案
- 《生態(tài)學(xué)》課件—第1章:緒論
- 中心靜脈壓(CVP)監(jiān)測及波形分析
- 人教版(PEP)英語五年級下冊-Unit 1My day A Let’s spell 教案
評論
0/150
提交評論