




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
8.1文件概述
文件是存儲在外部介質上的數據的集合。計算機處理的大量數據一般都是以文件的形式存放在外部介質(如磁盤)上的。外存內存讀input寫output文件8.1.1文件的基本概念VisualBasic提供了從磁盤、磁帶等外部存儲設備上進行數據輸入輸出的功能。通過直接處理文件,應用程序可以極其方便地創建、復制、存儲大量數據,一次可以訪問多組數據,還可以與其它應用程序共享數據。
文件是一組相關信息的集合。對于計算機而言,文件是指存放在外部設備如磁盤上的一系列相關的字節。當應用程序訪問一個文件時,必須假定這些字節所表示的是什么(是字符、整數、字符串還是數據記錄等等)。
8.1.2文件類型
順序文件(文本文件)隨機文件(記錄文件)二進制文件(字節文件)
順序文件的概念順序文件實際上是一系列的ASCII碼格式的文本行。文件中的數據是按順序組織的,與文檔中出現的順序相同。若要讀出第100個記錄,必須首先讀出前面的99個記錄,寫入亦如此。記錄1記錄2…記錄N文件結束標志隨機文件的概念以隨機存取(RandomAccess)方式存取的文件稱為隨機文件。隨機文件是由一組長度相等的記錄組成。要讀第100個記錄,可按記錄號100直接讀取。#1記錄1#2記錄2…#N記錄N二進制文件的概念文件中數據是以二進制格式進行編碼存儲的。它以字節數來定位數據,允許程序按所需的任何方式組織和訪問數據,二進制文件可允許對文件中各字節數據進行存取訪問和改變。8.1.3文件操作的一般步驟
打開文件
文件讀/寫
關閉文件
8.1.4文件操作的語句與函數1.Open語句
Open文件名[FOR模式][Access存取類型][鎖定]AS[#]文件號[Len=記錄長度]
2.Close語句
Close[[#]文件號][,[#]文件號]……
除了可用Close語句關閉文件外,當程序結束時,所有打開的文件也會自動關閉。3.Reset語句Reset語句的功能是關閉所有用Open語句打開的文件。
Reset
4.文件操作函數
Eof(文件號)FileLen(文件名)Lof(文件號)Loc(文件號)FreeFile[(文件號范圍)]8.2使用傳統方法處理文件
8.2.1順序文件1.順序文件的寫操作2.順序文件的讀操作3.使用外部程序處理順序文件1.順序文件的寫操作打開文件
Open文件名ForOutputAs[#]文件號
Open文件名ForAppendAs[#]文件號1.順序文件的寫操作Print#語句
Print#文件號,[輸出列表]Write#語句
Write#文件號,[輸出列表]2.順序文件的讀操作Input#語句
Input#文件號[,變量表]LineInput#語句
LineInput#文件號,字符變量名2.順序文件的讀操作Input函數
Input函數的調用形式為:
Input(n,[#]文件號)
其中:n是任意合法的數值型表達式,指明從文件中一次讀出字符的個數。
EOF函數EOF函數返回一個表示文件指針是否到達文件末尾的標志。如果到了文件尾,EOF函數返回TRUE(-1),否則返回FALSE(0)。對于順序文件用EOF函數來測試是否到文件尾,對于隨機文件和二進制文件,當最近一個執行GET語句無法讀到一個完整記錄時返回TRUE(-1),否則返回FALSE(0)。LOF函數LOF函數將返回某文件的字節數。例如,LOF(1)返回#1文件的長度,如果返回0值,則表示該文件是一個空文件。例如:
DimFileLength Open"TESTFILE"ForInputAs#1 FileLength=LOF(1) Close#1LOC函數
返回在一個打開文件中讀寫的位置。對隨機文件,返回上一次對文件進行讀出或寫入的記錄號。對順序文件,返回文件中當前字節位置除以128的值。但是,對于順序文件而言,不會使用Loc的返回值,也不需要使用Loc的返回值。對二進制文件,返回上一次讀出或寫入的字節位置。3.使用外部程序處理順序文件
由于順序文件實質就是一個文本文件,通過Print#或Write#語句建立的文件可以使用“記事本”(文件長度不超過64KB)或“寫字板”將其打開,自然也可以使用這些文本處理軟件對其進行編輯處理。用戶完全可以使用上述軟件把一批需要程序處理的數據寫入一個文件并保存,再使用程序打開該文件讀取數據進行各種處理。
8.2.2隨機文件隨機文件的特點
1)隨機文件的記錄是定長的;2)記錄可包含有一個或多個字段(又稱為域)。只有一個字段的記錄可以是任何一個標準類型;如果記錄是由多個字段組成,則記錄必須是用戶自定義類型;
3)隨機文件打開后,既可讀又可寫,可根據記錄號訪問文件中任何一個記錄,無需按順序進行。8.2.2隨機文件2.
變量聲明
在標準模塊中聲明自定義類型:
TypeStudent_Score NameAsString*8Student_IdAsString*6EnglishAsIntegerMathAsIntegerComputerAsInteger
EndType
8.2.2隨機文件2.
變量聲明
在處理包含多字段記錄的隨機文件時,除了需要定義記錄類型外,還必須在相應的程序段中聲明應用程序在處理隨機文件時所需要的變量。例如:在處理學生考試成績的隨機文件的窗體模塊中,可使用下面語句定義變量:
PrivateScoreASStudent_Score
8.2.2隨機文件3.打開隨機文件使用下面的Open語句打開一個隨機文件:Open文件名[ForRundom]AS[#]文件號[Len=記錄長度]因為“Random”是缺省訪問模式,因此ForRandom子句可以缺省;OPEN語句中要指明記錄長度,記錄長度的缺省值是記錄長度例如下面的程序片斷打開一個名為“考試成績”的隨機文件:DimFilenumASIntegeDimReclengthASLongDimScoreASStudent_ScoreFilenum=FreeFileReclength=Len(Score)Open“考試成績”AS#FilenumLen=Reclength
8.2.2隨機文件4.隨機文件的寫與讀
隨機文件的寫語句:
Put#文件號,[記錄號],自定義變量名
隨機文件的讀語句:
Get#文件號,[記錄號],自定義變量名
8.2.2隨機文件5.記錄的增加與刪除 增加: 最后一條記錄的記錄號=文件長度/記錄長度
刪除: 利用臨時文件8.2.3二進制文件1.二進制文件的特點
二進制訪問模式具有最大的靈活性。二進制存取可以獲取任何一個文件的原始字節。任何類型的文件(順序文件或隨機文件)都可以二進制訪問模式打開。
8.2.3二進制文件2.二進制文件的打開
open“文件名”ForBinaryAs[#]文件號
8.2.3二進制文件3.二進制文件的讀寫二進制文件的寫語句:
Put#文件號,[字節號],變量名
二進制文件的讀語句:
Get#文件號,[字節號],變量名
Open“文件名”[For
模式][Access
操作類型][鎖定]
As[#]文件號[Len=記錄長度]1.模式有三種:OUTPUT;INPUT;APPEND2.操作類型有三種:READ;WRITE;READWRITE3.鎖定有四種類型:Shared(缺省);LockRead; LockWrite;LockReadWrite4.文件號是一個介于1~511之間的整數5.記錄長度是一個小于或等于32767的整數將數據寫入磁盤文件所用的命令是WRITE或PRINT命令。Print#文件號,[輸出列表]
輸出列表:
[{Spc(n)|Tab[(n)]}][表達式列表][;|,]2.Write#文件號,[輸出列表]
輸出列表:一般是指用“,”分隔的數值表達式或字符串表達式,如:
Write#1,”One”,“Two”,123Print命令與Write命令的區別:
Write是以緊湊格式存放,即在數據項之間插入“,”例5.1例5.1Print#語句示例Open"TESTFILE"ForOutputAs#1Print#1,"Thisisatest"Print#1,Print#1,"Zone1";Tab;"Zone2"Print#1,"Hello";"";"World"Print#1,Spc(5);"5leadingspaces"Print#1,Tab(10);"Hello"Close#1TESTFILE文件內容ThisisatestZone1Zone2HelloWorld5leadingspacesHello內存數據區Print#或Write#語句是將數據送到緩沖區,關閉文件時才將緩沖區中數據全部寫入文件。關閉文件所用的命令是Close,其形式如下:
Close[[#]文件號][,[#]文件號]…Print語句或Write語句Close語句內存緩沖區數據文件對數據文件的讀操作,有三種格式:
INPUT#文件號,變量列表
LINEINPUT#文件號,字符串變量
INPUT$(讀取字符數,#文件號)與讀文件有關的三個重要函數:
1.LOF函數
2.LOC函數
3.EOF函數8.3使用文件系統控制處理文件8.3.1驅動器列表框8.3.2目錄列表框8.3.3文件列表框
文件管理控件
當需要打開文件或保存數據時,需要顯示、了解有關磁盤驅動器、目錄和文件等信息。VisualBasic提供了驅動器列表框(DriveListBox)、目錄列表框(DirListBox)和文件列表框(FileListBox)等三個控件,通常可將它們組合起來使用,創建與文件操作有關的自定義對話框。8.3.1驅動器列表框Drive屬性該屬性不能在設計時設置,只能在程序里設置或引用。其形式如下:
[對象.]Drive[=drive]
對象:驅動器列表框名稱
driv
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 診所引流現場管理制度
- 診療技術授權管理制度
- 調解中心監督管理制度
- 財政特設專戶管理制度
- 貨代公司各類管理制度
- 貨物裝卸安全管理制度
- 貨船安全生產管理制度
- 2025年中國感應式皂液器行業市場全景分析及前景機遇研判報告
- 2025年中國動作感應手柄行業市場全景分析及前景機遇研判報告
- 液壓工具質保協議書范本
- 2025-2030年中國發泡包裝行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025至2030中國材料疲勞試驗機行業項目調研及市場前景預測評估報告
- 2025年陜西、山西、寧夏、青海四省(陜晉寧青)高考 生物真題試卷 附答案
- 2024年西昌市教育和體育局考核聘用公立幼兒園教師真題
- 2025設備租賃合同版本范文
- 2025年浙江杭州錢塘區和達能源有限公司招聘筆試沖刺題(帶答案解析)
- 2025年衣物清潔多元化發展趨勢白皮書-天貓家清第一財經商業數據中心
- 冷鏈物流園建設項目投融資與財務方案
- 保險業務員分級考試試題及答案
- 2024統編版七年級道德與法治下冊期末測試卷(含答案)
- 酒店經銷商合同協議書
評論
0/150
提交評論