档案存取课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《档案存取课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 档案 存取 课件
- 资源描述:
-
1、Wbe.nctu Copyright 2001目目學習目標學習目標摘要摘要I.檔案的基本概念檔案的基本概念I.1 檔案的意義檔案的意義I.2 檔案使用的步驟檔案使用的步驟I.3 檔案模式檔案模式I.4 檔案的開啟與關閉檔案的開啟與關閉I.5 檔案的指標檔案的指標I.6 檔案資料的讀寫檔案資料的讀寫II.檔案類別與結構檔案類別與結構III.循序存取檔案循序存取檔案程式實例程式實例 1程式實例程式實例 2程式實例程式實例 3IV.隨機存取檔案隨機存取檔案程式實例程式實例 4V.二進位存取檔案二進位存取檔案程式實例程式實例 5在任何一張投影片左下角按下即可回到此目錄Wbe.nctu Copyrigh
2、t 2001學學習習學習本章之後,學習者能:1.瞭解什麼是檔案。2.瞭解循序存取檔案、隨機存取檔案與二進位存取檔案的使用方法。3.瞭解循序存取檔案、隨機存取檔案與二進位存取檔案之間的差異。4.瞭解檔案儲存資料的基本方式。5.利用共用對話盒讓使用者指定開啟檔案名稱。Wbe.nctu Copyright 2001摘摘檔案乃是資料儲存的一個集合名詞,檔案經由作業系統的管理,有秩序地在磁片內存放,只需運用適當的指令或程序,即得以進行檔案處理。在 Visual Basic 中對於檔案資料的處理亦提供了三種類別的檔案及相關敘述與函數,在工具箱中亦有三個檔案目錄控制元件。循序存取檔案就是順著由前而後的次序讀
3、取資料或寫入資料的檔案,隨機存取檔案可以讓使用者忽前忽後地進行資料的讀取或寫入,二進位存取檔案藉由位置、長度的指定執行資料的讀寫。Wbe.nctu Copyright 2001摘摘電腦不僅是可以作快速的資料運算,電腦也是儲存資料的理想工具。藉著磁片、硬式磁碟機或磁帶將大量的資料儲存在小空間的媒體上,我們即可有效率地運用電腦作快速的搜尋、更改、排序等資料處理工作。因此,檔案資料的存取是學習電腦程式語言上不可或缺的部分。Wbe.nctu Copyright 2001摘摘為了讓學習者對於檔案資料的處理具備完整的概念,本章先就檔案的基本概念先行介紹,解說檔案的意義、檔案使用的步驟、檔案模式、檔案的開啟
4、與關閉、檔案的指標,以及檔案資料的讀寫,隨後,就 Visual Basic 提供的檔案處理三種類別與結構逐一介紹其內涵,再藉由五個程式實例解說其用法,在程式實例 5 中連帶地介紹了利用共用對話盒讓使用者指定開啟檔案名稱的方法。Wbe.nctu Copyright 2001I.檔檔案案的的對於個人電腦使用者而言,檔案並不是陌生的名詞,因為 IBM PC 的基本作業環境是 MS-DOS 磁碟作業系統,檔案的使用是絕對必要的,每位使用者必然對於檔案已具備一些概念,然而,對程式設計者而言,這些概念仍嫌不夠,本節將介紹的,即是程式設計者所需具備的檔案基本概念。W b e.n c t u Copyrigh
5、t 2001Wbe.nctu Copyright 2001I.1 檔檔所謂檔案,乃是資料儲存的一個集合名詞。在一般的文件處理上,用檔案這個名詞代表有系統地歸類而儲存的資料,在電腦方面,其意義亦是如此。兩者之間的差異是在於前者形之於紙張、文件,後者則是必須透過電腦或具有電子資料處理功能的器具才能顯現。由於基本理念上的相同一致,在電腦的使用上,也運用同樣的名詞 檔案。Wbe.nctu Copyright 2001I.1 檔檔案案的的藉著電腦快速運算處理及大量儲存的能力,我們得以將文件資料變成電子資料儲存在電腦可以讀寫的媒體(如磁片、硬式磁碟機、磁帶、光碟等)上,由於資料的類別可有千奇百種,電子資料
6、又不像一般文件易於辨識,藉由電腦進行資料的處理更需要高度有系統、講究效率的作法。Wbe.nctu Copyright 2001I.1 檔檔案案的的以一張常用的三吋半高密度(2HD)磁片為例,單張滿載的容量為1,457,664個位元組,對使用者而言,資料存入其中即是以檔案為單位,最多可儲存2,847個檔案,這些檔案經由作業系統(operating system)的管理,有秩序地在磁片內存放,對使用者而言,只需運用適當的指令或程序,即得以進行檔案處理,如開啟、關閉、拷貝、刪除、修改等,毋需知曉檔案在磁片中實際的存放情形,每一個檔案在電腦處理上是由使用者賦于一個檔案名稱來代表它,這種便利提供使用者得
7、以靈活地進行各種資料處理工作。Wbe.nctu Copyright 2001I.1 檔檔案案的的Visual Basic在Microsoft Windows環境下操作,所使用的檔案與MS-DOS所稱者其實是同一回事。在Visual Basic中對於檔案資料的處理亦提供了三種類別的檔案及相關敘述與函數,在工具箱中亦有三個檔案目錄控制元件,在一般的應用程式開發上是相當足夠而且簡單易學。Wbe.nctu Copyright 2001I.2 檔檔案案電腦檔案的使用必須是完整地經過三個步驟,即:開啟、存取、關閉。使用檔案,一開始必須先指定檔案名稱、檔案模式及資料存取方式以開啟檔案,已開啟之檔案才得以進行
8、存取、搜尋、排序等各種處理,當資料處理程序完成後,尚須執行關閉檔案的動作,經過處理的資料才得以完整地存入指定的檔案之中。Wbe.nctu Copyright 2001I.2 檔檔案案使使用用注意:檔案開啟後,若未完成關閉的動作而終止處理(如關機),部分寫入或修改的資料將不能完整地存入,同時也會造成檔案結構不健全而導致該檔不能正常使用。Wbe.nctu Copyright 2001I.3 檔檔Visual Basic提供五種檔案模式(file mode),這些模式與存取方式必須在開啟檔案時就明確地指定,它將關係著檔案的結構,也限定了隨後資料存取的方式與可使用的指令。Wbe.nctu Copyri
9、ght 2001表表1 檔檔檔案模式名稱簡意說明適用檔案類別Input輸入資料開啟已存在的檔案循序讀取其中資料循序存取檔案Output輸出資料開啟新的檔案或清除舊的檔案循序寫入資料循序存取檔案Append附加資料開啟已存在的檔案循序於其後寫入新資料循序存取檔案Random隨機存取資料開啟檔案依指定的記錄格式作隨意地存取資料隨機存取檔案Binary二進位處理開啟檔案隨意地對其中各個位元組進行資料處理二進位存取檔案Wbe.nctu Copyright 2001I.3 檔檔案案Input,Output 與Append 三種檔案模式是適用於循序存取檔案。以Input 模式開啟的檔案只能讀,意即只能循序
10、地由檔案中從頭開始讀取資料;以Output 或Append 模式開啟的檔案只能寫,Output只能循序地由檔案開端將資料寫入,Append只能循序地由檔案尾端將資料寫入;Wbe.nctu Copyright 2001I.3 檔檔案案Random 則適用於隨機存取檔案,以這種模式開啟的檔案能讀也能寫,而且資料處理的順序不需循著檔案內儲存的順序,使用者可以隨意地忽前忽後處理各筆記錄,但是檔案資料內容必須遵循指定的記錄格式排列;Binary 適用於二進位存取檔案,可針對檔案中任意位元組的資料依其存在檔案中的位址進行讀或寫的處理工作。Wbe.nctu Copyright 2001I.4 檔檔案案的的開
11、啟檔案開啟檔案(Open)敘述敘述作用:啟動一個檔案的輸入輸出功能語法:Open 檔案名稱 For 檔案模式 As#檔案編號 Len=記錄長度Wbe.nctu Copyright 2001開啟檔案(說明:任何檔案的使用必須先以此一敘述開啟檔案,方得存取資料。檔案名稱是字串變數或常數,其內容必須符合Windows檔案名稱之規定。檔案模式必須是Input,Output,Append,Random,Binary等五個保留字之一(不加雙引號),用以指定檔案模式。若未指定,則視同指定Random。Wbe.nctu Copyright 2001開啟檔案(O說明:檔案編號是整數變數或常數,必須是介於 1 到
12、 511(含)之間,用以作為爾後存取資料與關閉檔案的指定編號。一個檔案編號被開啟使用在未關閉之前,該編號不得被重覆開啟使用。檔案編號之前的符號#可以省略。記錄長度是整數變數或常數,必須是介於 1 到 32767(含)之間,是檔案模式為Random時用以指定檔案中記錄長度的位元組個數。此值若未指定,則以內定值128代替。Wbe.nctu Copyright 2001開啟檔案(O說明:若欲開啟之檔案並不存在,對於檔案模式設定為Input的檔案而言,將造成找不到檔案的錯誤狀態,對於檔案模式設定為Output,Append,Random或Binary的檔案而言,則自動開啟一個新的檔案。以Input,R
13、andom或Binary等檔案模式開啟而使用中之檔案,可以使用不同的檔案編號同時開啟使用而彼此不會造成干擾。但若以Output或Append檔案模式開啟而使用中之檔案,則必須關閉後才得以再開啟。Wbe.nctu Copyright 2001範範範例I-1:開啟循序存取檔案之一Open MYFILE.DAT For Input As#1開啟檔案編號#1對應檔案 MYFILE.DAT 作循序輸入。範例I-2:開啟循序存取檔案之二Open MYFILE.OUT For Output As#5開啟檔案編號#5對應檔案 MYFILE.OUT 作循序輸出。Wbe.nctu Copyright 2001範範
14、例例範例I-3:開啟循序存取檔案之三Open MYFILE.TXT For Append As#9開啟檔案編號#9對應檔案 MYFILE.TXT 作循序附加資料。範例I-4:開啟隨機存取檔案MyFile$=MYFILE.RNDFnum%=11Open MyFile$For Random As Fnum%Len=32開啟檔案編號#11對應檔案 MYFILE.RND 記錄長度指定為32個位元組作隨機存取。Wbe.nctu Copyright 2001範範例例範例I-5:開啟二進位存取檔案DbfFile$=MYFILE.DBFFnum%=6Open DbfFile$For Binary As Fnu
15、m%開啟檔案編號#6對應檔案 MYFILE.DBF作二進位存取。Wbe.nctu Copyright 2001關關閉閉檔檔案案(C作用:關閉已開啟的檔案語法:Close#檔案編號,#檔案編號.Wbe.nctu Copyright 2001關關閉閉檔檔案案(Cl說明:檔案編號是整數變數或常數,必須是介於 1 到 511(含)之間,是先前開啟檔案的指定編號。檔案編號之前的符號#可以省略。檔案編號可以在一個敘述中接連指定多個,中間以逗號隔開。若僅以Close為敘述而未指定任何檔案編號,則關閉所有已開啟之檔案。當一個檔案存取資料的動作執行完畢時,即應予以關閉,關閉檔案可使寫入的資料確實存入檔案之內(因
16、為最後寫入的部分資料有可能還留在檔案緩衝區之內)。程式中止敘述(End)具有關閉所有檔案之作用。Wbe.nctu Copyright 2001範範範例I-6:關閉檔案之一jf%=9Close#5,jf%關閉檔案編號#5及#9兩個檔案。範例I-7:關閉檔案之二Close關閉所有已開啟之檔案。Wbe.nctu Copyright 2001I.5 檔檔每一個檔案編號都有對應的一個讀寫指標指到開啟的檔案,當檔案開啟時,這個指標指到檔案的開端,唯有檔案模式為附加資料(Append)時,是指到已存在檔案的尾端最後一個位元組之後。隨著存取指令,這個指標就移到所處理的資料之後。以不同的檔案編號開啟同一個檔案同
17、時作輸入或隨機存取,即是有多個指標指到同一個檔案多個位址,但是彼此並不干擾。Wbe.nctu Copyright 2001I.6 檔檔案案檔案一經開啟,依據指定之檔案模式對應之讀寫功能,即可進行資料之讀取或寫入處理。不同的檔案類別,由於檔案結構上的差異,適用之讀寫敘述也不盡相同,將隨後分別說明。Wbe.nctu Copyright 2001 習習1.電腦檔案的使用必須是完整地經過那幾個步驟?2.循序存取檔案適用那幾種檔案模式?3.那種檔案模式可以隨意地忽前忽後處理檔案資料?4.在開啟檔案(Open)敘述中,記錄長度的指定是用於何種檔案模式?5.關閉檔案(Close)敘述中,若未指定任何檔案編號
18、,其作用為何?Wbe.nctu Copyright 2001II.檔檔案案在Visual Basic中,檔案按照它存放資料的安排方式,並對應資料存取方式的差異而有三種不同的檔案結構:1.循序存取檔案2.隨機存取檔案3.二進位存取檔案Wbe.nctu Copyright 20011.循循序序顧名思義循序存取檔案就是順著由前而後的次序讀取資料或寫入資料的檔案。寫入時,資料的安排方式是依照寫入的順序一行接著一行存放。讀取時,資料依照存放的順序一行接著一行讀出,每行資料的長度可長可短。意即,循序存取檔案讀寫資料原則上是以行為單位。由表1可以看出,循序存取檔案可運用於Input,Output,及Appe
19、nd 三種檔案模式。Wbe.nctu Copyright 20012.隨隨機機隨機存取檔案可以讓使用者忽前忽後地進行資料的讀取或寫入。隨機存取檔案存放資料的安排方式比較特別,讀寫資料原則上是以記錄為單位。一筆記錄可包含固定的數個資料欄,每一個資料欄被設定為一種資料型態且有固定的長度,因此,每一筆記錄都是固定一致的長度。每一記錄存放在檔案中的序號稱為記錄號碼,程式中讀取或寫入的位置就是以記錄號碼來指定。Wbe.nctu Copyright 20013.二二進進位位二進位存取檔案對於檔案存放資料並無特定的安排方式,讀寫資料原則上是以位元組為單位,藉由位置、長度的指定執行資料的讀取或寫入,意即資料讀
20、寫方式是自第幾個位元組的位置起讀取幾個位元組的資料,或是自第幾個位元組的位置起寫入幾個位元組的資料。Wbe.nctu Copyright 2001 習習1.同一循序存取檔案是否開啟作為既可以讀取又可以寫入之用?2.以隨機存取檔案存放的資料可否當作二進位存取檔案來使用?Wbe.nctu Copyright 2001III.循循本節包含三個程式實例,以示範循序存取檔案的使用方法,除了前述的檔案開啟與關閉敘述,程式實例 1 示範 Line Input 敘述逐行讀取資料,Print 敘述將資料一次寫入檔案的用法,程式實例 2 示範 Write 敘述將資料寫入檔案的用法,程式實例 3 示範 Input
21、敘述讀取檔案資料的用法。Wbe.nctu Copyright 2001程程式式文字檔編輯開啟指定檔名之文字檔,讀取並顯示其內容,可修改後存檔,亦可列印。Wbe.nctu Copyright 2001一、一、程程式式運用一個文字盒(txtFileName)輸入檔案名稱運用一個文字盒(txtFileContent)顯示檔案內容【程式實例 1】Wbe.nctu Copyright 2001一、一、程程式式設設計計安排命令鈕以執行讀取、寫入、列印、清除及結束等功能:讀取(cmdInput)讀出指定之檔案內容,並顯示於文字盒(txtFileContent)。寫入(cmdSave)將編輯後之文字盒(txt
22、FileContent)內容寫入指定檔案。列印(cmdPrint)將文字盒(txtFileContent)內容送至報表機印出。清除(cmdClear)清除文字盒(txtFileContent)內容。結束(cmdEnd)結束程式執行。【程式實例 1】Wbe.nctu Copyright 2001二、二、表表【程式實例 1】Wbe.nctu Copyright 2001三、三、控控制制逐一加入各控制項,並設定其屬性如下:1.設定表單屬性:Caption =文字檔編輯Name =frmEx1【程式實例 1】Wbe.nctu Copyright 2001三、三、控控制制項項2.加入標籤項Label1:
23、Caption =檔案名稱:3.加入標籤項Label2:Caption =檔案內容:【程式實例 1】Wbe.nctu Copyright 2001三、三、控控制制項項4.加入文字盒txtFileName:Name =txtFileNameText =c:autoexec.bat將內定的檔案名稱填入文字盒欄內。【程式實例 1】Wbe.nctu Copyright 2001三、三、控控制制項項5.加入文字盒txtFileContent:Name =txtFileContent MultiLine =-1 TrueScrollBars =3 Both 檔案內容通常是多行文字,因此必須設定為多行列示模
24、式(MultiLine=True),同時設定水平捲軸與垂直捲軸(ScrollBars)都顯現。【程式實例 1】Wbe.nctu Copyright 2001三、三、控控制制項項6.加入命令鈕cmdSave:Name =cmdSave Caption =寫入7.加入命令鈕cmdPrint:Name =cmdPrintCaption =列印【程式實例 1】Wbe.nctu Copyright 2001三、三、控控制制項項7.加入命令鈕cmdClear:Name =cmdClearCaption =清除8.加入命令鈕cmdQuit:Name =cmdQuitCaption =結束【程式實例 1】Wb
25、e.nctu Copyright 2001四、四、程程1.檔案名稱的輸入 運用文字盒(txtFileName)供檔案名稱的輸入,一般狀況之下無須為此設計編輯程式。【程式實例 1】Wbe.nctu Copyright 2001四、四、程程式式設設2.讀取檔案內容將程式Ex1.FRM的事件程序cmdInput_Click安排如下,當程式執行時,按下讀取命令鈕,即讀出指定之檔案內容,並顯示於文字盒(txtFileContent)。【程式實例 1】Wbe.nctu Copyright 2001四、四、程程式式設設計計-Sub cmdInput_Click()讀出指定之檔案內容,並顯示於文字盒(txtF
展开阅读全文