版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、VB 編程班第十七課1、 介紹:文件操作順序文件,隨機文件,二進制文件的操作2、 說明:順序文件在程序中對文件的操作,通常按 3 個步驟進行:順序文件的打開與關閉1。打開順序文件其使用格式如下:Open FileName For Input | Output | Append LockAs filenumber Len = Buffersize各參數的意義Open文件名 For 打開方式 As#文件號文件名。打開方式包括以下 3 種。InputOutputAppend(3)文件號。是一個 1511 之間的整數。它用來代表所打開的文件,文件號可以是整數或數值型變量。例如: Opend:shu1.
2、datForInputAs#1該語句以輸入方式打開文件 shu1.dat,并指定文件號為 1。 Opend:shu2.datForOutputAs#5件 shu2.dat 進行寫操作,并指定文件號為 5。 As#7件 shu3.dat 添加數據,并指定文件號為 7。該語句以輸出方式打開文件 shu2.dat,即 Opend:shu3.datForAppend該語句以添加方式打開文件 shu3.dat,即例如:OPEN“C:TEMPA.TXT “ FOR Input AS #1 OPEN“C:TEMPB.TXT “ FOR Output AS #2 OPEN“C:TEMPC.TXT “ FOR
3、Append AS #12、關閉文件Close 語句使用格式如下:Close filenumberlist讀出或寫入關閉文件打開文件其中:filenumberlist:可選項,為文件號列表,如:#1, #2, #3,如果省略,則將關閉 Open 語句打開的所有活動文件。例如:Close #1,#2,#3Close順序文件的讀寫操作件寫入內容使用 Pr# 語句或 Write#語句,在程序是數據輸出。1Pr語句使用格式:PR#,說明:文件號為以寫方式打開文件的文件號;輸出列表為用分號或逗號分隔的變量、常量、空格和定位函數序列。2Write 命令使用格式:Write #,Write 語句采用緊湊格式
4、。數據項之間“,”,并給字符數據加上雙引號。Pr與 Write 語句輸出數據結果比較。Private Sub Form_Click()Dim Str As String, Anum AsegerOpen D:Myfile.dat For Output As 1 Str = ABCDEFGAnum = 12345Pr#1, Str, AnumWrite #1, Str, Anum Close #1End Sub編程把一個文本框中的內容,以文件形式存入磁盤。假定文本框的名稱為 Mytxt,文件名為 Myfile.dat。方法 1:把整個文本框的內容地寫入文件。Open Myfile.dat For
5、 Output As #1Pr#1, Mytxt.TextClose #1方法 2:把整個文本框的內容一個字符一個字符地寫入文件。 Open Myfile.dat For Output As #1For i=1 To len(Mytxt.Text)Pr Next iClose #1#1,Mid(Mytxt.Text,i,1);2. 順序文件讀操作從現存文件中讀入數據,應以順序 Input 方式打開該文件。然后使用 Input# 語句、Line Input# 語句和 Input( )函數讀入到程序變量中。使用格式如下:INPUT #文件號,變量列表把讀出的每個數據項分別存放到所對應的變量。LIN
6、E INPUT #文件號,字符串變量讀一行到變量中,主要用來文本文件。INPUT$(字符數, #文件號)指定的數量的字符,作為函數的返回值3與讀文件操作有關的幾個函數Lof 函數LOF 函數將返回某文件的字節(jié)數。例如,LOF(1)返回#1 文件的長度,如果返回 0 值,則表示該文件是一個空文件。Loc 函數Loc 函數將返回在一個打開文件中讀寫的字節(jié)的位置。(3)Eof 函數號;對于二進制文件,它將返回最近讀寫的一個Eof 函數將返回一個表示文件指針是否到達文件末尾的標志。如果到了文件末尾,Eof返回 TRUE(-1),否則返回 FALSE(0)。編程將一文本文件的內容讀到文本框假定文本框名稱
7、為 txtTest,文件名為 MYFILE.TXT??梢酝ㄟ^下面三種方法來實現。方法 1:一行一行讀txtTest.Text Open MYFILE.TXT For Input As #1 Do While Not EOF(1)Line Input #1, InputDatatxtTest.Text txtTest.Text + InputData+vbCrLf LoopClose #1函數方法 2:讀txtTest.Text Open MYFILE.TXT For Input As #1 txtTest.Text = Input( LOF(1),1)Close #1方法 3:一個個字符讀Di
8、m InputData as String*1 txtTest.Text Open MYFILE.TXT For Input As #1 Do While Not EOF(1)Input #1, InputDatatxtTest.Text txtTest.Text + InputData LoopClose #1利用文件系統控件、組合框、文本框,制作一個文件瀏覽器。要求:組合框限定文件列表框中顯示文件的類型,如選定“*.Txt”文件。當在文件列表框選定欲顯示的文件時,在文本框顯示出該文件的內容。Private Sub Combo1_Click() Dim filetype As String
9、Select Case Combo1.TextCase 所有文件(*.*)filetype = *.* Case 窗體文件(*.frm*)filetype = *.frm* Case 文本文件(*.txt*)filetype = *.txt* End Select File1.Pattern = filetypeEnd SubPrivate Sub Dir1_Change() File1.Path = Dir1.PathEnd SubPrivate Sub Drive1_Change()Dir1.Path = Drive1.Drive End SubPrivate Sub File1_Clic
10、k()Dim st As String, fpaText1.Text = s StringIf Right(Dir1.Path, 1) = Then fpath = Dir1.Path & File1.FileName Elsefpath = Dir1.Path & & File1.FileName End IfOpen fpath For Input As #1 Do While Not EOF(1)Line Input #1, stText1.Text = Text1.Text + st + vbCrLf LoopClose #1End SubPrivate Sub Form_Load()
11、 Combo1.AddItem 所有文件(*.*) Combo1.AddItem 窗體文件(*.frm*) Combo1.AddItem 文本文件(*.txt*) Combo1.ListIndex = 2End Sub隨機文件隨機文件的打開與關閉1打開隨機文件打開隨機文件格式為:OPEN FileName FOR Random Acs Lock As filenumber Len = reclength用 OPEN 命令以 Random 模式打開隨機文件,同時寫操作。例如:的長度。文件打開后,可同時進行讀Open d:abc.dat For Random Ac2關閉隨機文件s Read As
12、#1 Len = 20隨機文件的關閉與關閉順序文件相同。寫隨機文件Put#文件號,號,變量名將一個變量的內容寫到指定的位置處。忽略讀隨機文件號,則表示在當前后的位置一條。Get#文件號,號,變量名忽略號,則讀出當前后的那一條。學生信息。程序的運行界面下圖所示,該程序的具設計一個簡單的學生成績管理程序,使用隨機文件有數據添加、修改、刪除及學生信息順序查詢等功能。二進制文件1打開文件Open文件名For BinaryAs#文件號寫操作Put#文件號,位置,變量名 寫入長度等于變量長度的數據。讀操作GET#文件號,位置,變量名從指定位置開始讀出長度等于變量長度的數據存入變量中,數據讀出后移動變量長度
13、位置,如果2.3.忽略位置,則表示從文件指針所指的位置開始讀出數據,數據讀出后移動變量長度位置。編程序實現將 D 盤根目錄中的文件Abc.dat到 E 盤,且文件名改為 Myfile.dat。Dim char As Byte 打開源文件Open D:Abc.dat For Binary As # 1 打開目標文件Open E:Myfile.dat For Binary As # 2Do While Not EOF(1)Get #1, , char Put #2, , char LoopClose#1, #2 從源文件讀出一個字節(jié) 將一個字節(jié)寫入目標文件文件操作語句改變當前驅動器(ChDrive
14、 語句)格式:ChDrivedrive功能:改變當前驅動器。說明:如果drive 為“,則當前驅動器將不會改變;如果drive 中有多個字 符,則ChDrive 只會使用首字母。例如:ChDrive D 及 ChDrive D: 和 ChDrive Dasd 都是將當前驅動器設為D 盤。改變當前目錄(ChDir 語句)格式:ChDirpath功能:改變當前目錄。例如:ChDir D:TMP說明:ChDir 語句改變缺省目錄位置,但不會改變缺省驅動器位置。例如,如果缺省的驅動器是 C,則上面的語句將會改變驅動器 D 上的缺省目錄,但是 C 仍然是缺省的驅動器:2.刪除文件(Kill 語句)格式:
15、Killpathname功能:刪除文件。說明:pathname 中可以使用統配符“*”和“?”。例如:Kill*.TXT Kill C:MydirAbc.dat4.建立(MkDir 語句)和刪除(RmDir 語句)目錄建立目錄格式:MkDirpath功能:創(chuàng)建一個新的目錄。例如:MkDir D:MydirABC刪除目錄格式:RmDirpath功能:刪除一個存在的目錄。說明:只能刪除空目錄。例如:RmDir D:MydirABC“說明:RmDir 只能刪除空子目錄,如果想要使用 RmDir 來刪除一個含有文件的目錄或文件夾,則會發(fā)生錯誤??截愇募?FileCopy 語句格式:FileCopyso
16、urce , destination功能:例如:一個文件。FileCopy D:MydirTest.doc A:MyTest.doc說明: FileCopy 語句不能6文件的更名 Name 語句一個已打開的文件。格式:NameoldpathnameAsne功能:重新命名一個文件或目錄。thname例:Name D:MydirTest.doc As A:MyTest.doc說明:(1) Name 具有移動文件的功能。(2) 不能使用統配符“*”和“?”,不能對一個已打開的文件上使用 Name 語句。設置文件屬性Se格式:tr 語句。Setr FileName, attributes其參數含義:F
17、ileName:必要參數。一個文件名的字符串表達式。Attributes:必要參數。常數或數值表達式,其總和用來表示文件的屬性。Attributes 參數設置下表:文件操作函數1獲得當前目錄CurDir 函數格式:CurDir(drive)功能:利用 CurDir 函數可以確定指定驅動器的當前目錄。說明:可選的 Drive 參數是一個字符串表達式,它指定一個存在的驅動器。如果沒有指定驅動器,或 Drive 是零長度字符串(“),則 CurDir 會返回當前驅動器的路徑。例如:str=CurDir(“C:”)獲得 C 盤當前目錄路徑,并賦值給變量Str獲得文件屬性Getr 函數。格式:Getr(
18、FileName)功能:返回代表一個文件、目錄、或文件夾的屬性的eger 數據。Getr 返回的值及代表的含義下表常數數值描 述VbNormal0常規(guī)(缺省值)VbReadOnly1只讀。VbHidden2隱藏。VbSystem4系統文件VbArchive32上次備份以后,文件已經改變3.FileDateTime 函數格式:FileDateTime(FileName)功能:返回一個 Variant (Date),此值為一個文件被創(chuàng)建或最后修改后的日期和時間。 4FileLen 函數格式:FileLen(FileName)功能:返回一個 Long,代表一個文件的長度,是字節(jié)。5S函數和S過程在
19、VB 中,可以調用在DOS 下或Windows 下運行的應用程序:函數調用形式:ID=S( FileName ,WindowType )說明:執(zhí)行一個可執(zhí)行文件,返回一個 Variant (Double),如果成功的話,代表這個程序的任務 ID,它是一個唯一的數值,用來指明正在運行的程序。若不成功,則會返回 0過程調用形式:SFileName,WindowType)FileName:是要執(zhí)行的應用程序名字符串,包括盤符、路徑,它必須是可執(zhí)行的文件。WindowType:為整型值,表示執(zhí)行應用程序打開的窗口類型,其取值下表。常數數值描 述VbNormal0常規(guī)vbReadOnly1只讀VbHid
20、den2隱藏VbSystem4系統文件VbDirectory16目錄或文件夾VbArchive32上次備份以后,文件已經改變Vbalias64指定的文件名是別名例如: 調用執(zhí)行Windows 系統中的記事本i = S(C:WINDOWSNOTEPAD.EXE) 進入 MS_DOS 狀態(tài)j = S(c:, 1)也可按過程形式調用:SSC:WINDOWSNOTEPAD.EXEc:, 1注意,上面指定的執(zhí)行文件,可能因不同計算機系統,文件的路徑有所不同。*文件系統對象(了解內容)在 VB6.0 中新增了文件系統對象(File System Object 縮寫為 FSO)模型,它提供了一整套對文件系統
21、進行管理和操作的方法和屬性,包括:獲得驅動器的信息,如驅動器列表、盤符、磁盤空間等。 獲得文件夾的或文件的信息,如名稱、創(chuàng)建、修改日期等。檢查指定的文件夾或文件是否存在及在什么位置。文件夾或文件的刪除、移動、對文本文件的讀寫操作。FileSystemObject 對象等通常操作。FileSystemObject 對象是 FSO 模型中的創(chuàng)建一個 FileSystemObject 對象。對象,在應用程序中使用 FSO 的編程主要步驟是:根據應用程序的需要,通過調用 FileSystemObject 對象中的方法來創(chuàng)建一個新的對象,如 Drive 對象、Folder 對象等。通過新對象的屬性值獲得
22、用戶所需的信息或利用對象的方法進行所需的操作。1創(chuàng)建 FileSystemObject 對象有兩種方法創(chuàng)建 FileSystemObject 對象:方法一、 使用 New 關鍵字一個變量為 FileSystemObject 對象類型。其語法格式:Dim As New FileSystemObject常量值描述VbHide0窗口被隱藏,且焦點會移到隱式窗口VbNormalFocus1窗口具有焦點,且會還原到它原來的大小和位置VbMinimizedFocus2(缺省)窗口會以一個具有焦點的圖標來顯示(最小VbizedFocu VbNormalNoFocus3窗口是一個具有焦點的最大化窗口4窗口會被
23、還原到最近使用的大小和位置,而當前活VbMinimizedNoFocus6窗口會以一個圖標來顯示。而當前活動的的窗口仍例如:Dim fsox As New FileSystemObject方法二、使用 CreateObject 方法創(chuàng)建一個 FileSystemObject 對象,其語法格式:Set =CreateObject(Scripting.FileSystenObject )例如:Dim fsox As ObjectSet fsox=CreateObject(Scripting.FileSystenObject ) 2FileSystemObject 對象的屬性FileSystemOb
24、ject 的屬性只有一個 Drives, 它是系統中所有 Drive 對象的對象集合,用戶可以獲取當前計算機系統中所有驅動器的信息。例如 下面的代碼可顯示系統能夠使用的驅動器名稱:Dim fsox As New FileSystemObject For Each I In fsox .DrivesPri.DriveLetter Next I2FileSystemObject 對象的方法FileSystemObject 對象有許多方法 ,在 FSO 模型中對文件的管理就是通過這些方法來完成的。Drive 對象通過 Drive 對象可以獲得計算機上關于驅動器的信息。諸如驅動器有多少可用空間,其共享名稱是什么,等等。要使用 Drive 對象,首先要一個驅動器類型的變量,接著使用 FileSystemObject 對象的 GetDrive 方法返回一個Drive 對象,例如:Dim drv As DriveSet drv=fsox.GetDrive(“C:”)使用 FileSystemObject 對
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能制造裝備出資協議范本4篇
- 2025版高壓變壓器交易合同示范文本4篇
- 二零二五年度虛擬現實技術應用合作協議范本模板4篇
- W廢棄礦山復綠施工合同20243篇
- 2024版企業(yè)總經理聘用協議
- 2025年進口熱帶水果專供協議書3篇
- 2025年度纖維原料加工合作合同模板3篇
- 2025年度船舶抵押貸款服務協議范本3篇
- 2025版二零二五年度消防設備租賃合同3篇
- 現代科技下的中醫(yī)家庭健康服務
- 【高空拋物侵權責任規(guī)定存在的問題及優(yōu)化建議7100字(論文)】
- 二年級數學上冊100道口算題大全 (每日一套共26套)
- 物流無人機垂直起降場選址與建設規(guī)范
- 肺炎臨床路徑
- 外科手術鋪巾順序
- 創(chuàng)新者的窘境讀書課件
- 如何克服高中生的社交恐懼癥
- 聚焦任務的學習設計作業(yè)改革新視角
- 移動商務內容運營(吳洪貴)任務三 APP的品牌建立與價值提供
- 電子競技范文10篇
- 食堂服務質量控制方案與保障措施
評論
0/150
提交評論