版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
項目十文件、驅(qū)動器和文件夾任務10.1文件系統(tǒng)控件任務10.2文件系統(tǒng)對象任務10.3傳統(tǒng)的文件I/O語句和函數(shù)
任務10.1文件系統(tǒng)控件
任務導入
計算機的文件系統(tǒng)包括用戶建立的數(shù)據(jù)文件和系統(tǒng)軟件及應用軟件中的文件。為了管理計算機中的文件,VB提供了文件系統(tǒng)控件。文件系統(tǒng)控件的作用是顯示出關于驅(qū)動器、目錄和文件的信息,并從中進行選擇,以便執(zhí)行進一步的操作。通過使用DriveListBox(驅(qū)動器列表框)、DirListBox(目錄列表框)和FileListBox(文件列表框)三種控件的組合,可以創(chuàng)建自定義文件系統(tǒng)對話框。
學習目標
(1)會使用DriveListBox(驅(qū)動器列表框)控件。
(2)會使用DirListBox(目錄列表框)控件。
(3)會使用FileListBox(文件列表框)控件。任務實施
1.了解驅(qū)動器列表框
驅(qū)動器列表框DriveListBox是下拉式列表框,它與目錄列表框、文件列表框一樣,有許多標準屬性,包括Enabled、Visible等。此外,它還有一個Drive屬性,用來設置或返回所選擇的驅(qū)動器名。Drive屬性只能用程序代碼設置,不能通過屬性窗口設置。設置格式為
驅(qū)動器列表框名稱.Drive[=驅(qū)動器名]
【說明】
(1)格式中的“驅(qū)動器名”是指定的驅(qū)動器,如果省略,則默認為當前驅(qū)動器。
(2)在程序執(zhí)行期間,顯示當前磁盤驅(qū)動器名稱。如果單擊驅(qū)動器列表框右端的下拉箭頭,則顯示計算機中所有的驅(qū)
動器名稱,如圖10.1所示。單擊某驅(qū)動器,可把它變?yōu)楫斍膀?qū)動器。圖10.1在運行期間的驅(qū)動器列表框
(3)使用ChDrive語句可以將指定的驅(qū)動器設為當前驅(qū)動器,如:
ChDriveDrive1.Drive
‘將用戶在列表框中選擇的驅(qū)動器設為當前驅(qū)動器
ChDrive“D”
'將D:設為當前驅(qū)動器
(4)每次重新設置驅(qū)動器列表框的Drive屬性時,都將引發(fā)Change事件。驅(qū)動器列表框的默認名稱為Drive1,其Change事件過程的開頭為
PrivateSubDrive1_Change()
2.了解目錄列表框
目錄列表框用來顯示當前驅(qū)動器上的目錄結構,剛建立時顯示當前驅(qū)動器的頂層目錄和當前目錄。頂層目錄用打開的文件夾表示,當前目錄用加陰影的文件夾表示,當前目錄下的子目錄用關閉的文件夾表示,如圖10.2所示。在目錄列表框中只顯示當前驅(qū)動器上的目錄。如果要顯示其他驅(qū)動器上的目錄,必須改變路徑,即重新設置目錄列表框的Path屬性。
Path屬性適用于目錄列表框和文件列表框,用來設置或返回當前驅(qū)動器的路徑。Path屬性在設計模式下不可用。其語法格式為
[窗體.]目錄列表框.|文件列表框.Path[="路徑"]圖10.2在設計階段的目錄列表框
【說明】
(1)格式中的“窗體”是目錄列表框所在的窗體,如果省略,則為當前窗體。如果省略[=“路徑”],則顯示當前路
徑,如:
Dir1.Path=“c:\windows”‘將當前目錄設為c:\windows
其中,Dir1是目錄列表框的默認控件名。
(2)使用ChDir語句也可以改變當前的目錄或文件夾,如:
ChDirDir1.Path ‘將用戶在目錄列表框中選取的目錄設為當前目錄
(3)驅(qū)動器列表框與目錄列表框有著密切的關系。在一般情況下,改變驅(qū)動器列表框中的驅(qū)動器名后,目錄列表框中的目錄應隨之變?yōu)樵擈?qū)動器上的目錄,也就是使驅(qū)動器列表框和目錄列表框產(chǎn)生同步效果。
3.了解文件列表框
用驅(qū)動器列表框和目錄列表框可以指定當前驅(qū)動器和當前目錄,而文件列表框可以用來顯示當前目錄下的文件(可通過Path屬性改變)。
文件列表框的默認控件名是File1。與文件列表框有關的屬性較多,其主要屬性如表10-1所示。
【課堂演練】
【實例10-1】在實際應用中,驅(qū)動器列表框、目錄列表框和文件列表框往往需要同步操作,請編寫程序使三者同步。
【實現(xiàn)步驟】
可以通過改變Path屬性來引發(fā)Change事件:
PrivateSubDir1_Change()
File1.Path=Dir1.Path
EndSub該事件過程使窗體上的目錄列表框Dir1與文件列表框File1產(chǎn)生同步。類似地,增加下面的事件過程就可以使三者同步:
PrivateSubDrive1_Change()
Dir1.Path=Drive1.Drive
EndSub
同步操作情況如圖10.3所示。圖10.3使驅(qū)動器列表框、目錄列表框、文件列表框三者同步
任務10.2文件系統(tǒng)對象
任務導入
VB允許使用兩種不同的方法來處理驅(qū)動器、文件夾和文件,即傳統(tǒng)的方法和使用新的工具FileSystemObject(FSO)對象模型。
VB具有FSO模型功能,該模型提供了一個基于對象的工具來處理文件夾和文件。它使應用程序能夠創(chuàng)建、改變、移動和刪除文件夾,或者檢測是否存在指定的文件夾,如果存在,在什么位置等。另外,F(xiàn)SO模型還能獲取關于文件夾的信息,如名稱、創(chuàng)建日期或最近修改日期等。與早期的VB語句和編程命令比較,使用FSO模型對文件進行處理更加簡單。學習目標
(1)了解FSO模型中包含的對象。
(2)會使用FSO模型創(chuàng)建FileSystemObject對象、對新創(chuàng)建的對象使用適當?shù)姆椒?、訪問該對象的屬性。
(3)會使用FSO模型管理驅(qū)動器。
(4)會使用FSO模型管理文件夾。
(5)會使用FSO模型管理文件。任務實施
1.了解FSO(FileSystemObject)模型中的對象
FSO模型包含在一個稱為Scripting的類型庫中,此類型庫位于Scrrun.Dll文件中。如果還沒有引用此文件,則應從“工程”菜單的“引用”對話框中選擇“MicrosoftScriptingRuntime”項,如圖10.4所示,然后就可以使用“對象瀏覽器”來查看其對象、集合、屬性、方法、事件以及常數(shù)了。圖10.4“引用”對話框FSO模型包括表10-2所示的對象。
2.創(chuàng)建FileSystemObject對象
(1)將一個變量聲明為FileSystemObject對象類型,如下
所示:
Dim〈變量名〉AsNewFileSystemObject
(2)使用CreateObject方法來創(chuàng)建一個FileSystemObject對象,如下所示:
Set<變量名>=CreateObject("Scripting.FileSystemObject")
在上面的語法中,Scripting是類型庫的名稱,F(xiàn)ileSystemObject是想要創(chuàng)建的一個實例對象的名稱。
3.對新創(chuàng)建的對象使用適當?shù)姆椒?/p>
在FileSystemObject對象中,某些操作可以使用不同的方法。例如,想要創(chuàng)建一個新對象,既可以使用CreateFolder方法,也可以使用CreateTextFile方法。(FSO對象模型不支持創(chuàng)建或刪除驅(qū)動器。)如果想要刪除對象,可以使用FileSystemObject對象的DeleteFile和DeleteFolder方法,或者File和Folder對象的Delete方法。
如果想要復制一個文件,既可以使用FileSystemObject對象的CopyFile方法,也可以使用File對象的Copy方法。這兩者的功能是完全相同的。兩者同時存在可以提高編程靈活性。
4.訪問已有的驅(qū)動器、文件和文件夾
要訪問一個已有的驅(qū)動器、文件或文件夾,可以使用FileSystemObject對象中相應的“Get”方法:GetDrive、GetFolder和GetFile。
例如,要訪問C盤根目錄下存放的test.txt文件,可以使用如下的代碼:
DimfsoAsNewFileSystemObject,filAsFile
Setfil=fso.GetFile("C:\test.txt")
5.訪問對象的屬性
一旦有了對象的句柄,就能夠訪問其屬性。例如,假定想要獲得一個特定文件夾的名稱,首先要創(chuàng)建該對象的一個實例,然后通過適當?shù)姆椒?在本例中是GetFolder方法,因為該文件夾已經(jīng)存在)得到其句柄,方法如下:
Setfldr=fso.GetFolder("C:\")現(xiàn)在有了一個Folder對象的句柄,就可以查看其Name屬性了,代碼如下:
Debug.Print“Foldernameis:”;fldr.Name
如果想要找出一個文件的最新修改時間,可以使用如下
代碼:
DimfsoAsNewFileSystemObject,filAsFile
Setfil=fso.GetFile(“C:\detlog.txt”)‘獲得要查詢的File對象
Debug.Print"Filelastmodified:";fil.DateLastModified '顯示信息
6.管理驅(qū)動器
可以在程序中使用FSO模型來處理驅(qū)動器,如同在“Windows資源管理器”中進行交互方式一樣。
Drive對象允許獲得一個系統(tǒng)的各個驅(qū)動器的信息,這些驅(qū)動器可以是物理的,也可以是位于網(wǎng)絡上的。通過該對象的屬性可以獲得下列信息:
(1)以字節(jié)表示的驅(qū)動器總空間(TotalSize屬性)。
(2)以字節(jié)表示的驅(qū)動器可用空間(AvailableSpace或FreeSpace屬性)。
(3)給驅(qū)動器指定的字母號(DriveLetter屬性)。
(4)驅(qū)動器類型,諸如軟盤、硬盤、遠程(網(wǎng)絡)盤、光盤或者RAM盤(DriveType屬性)。DriveType屬性返回表10-3中所列的值。
(5)驅(qū)動器序列號(SerialNumber屬性)。
(6)驅(qū)動器使用的文件系統(tǒng)類型,如FAT、FAT32、NTFS等(FileSystem屬性)。
(7)驅(qū)動器是否可用(IsReady屬性)。
(8)共享和/或卷標的名稱(ShareName或VolumeName屬性)。
(9)驅(qū)動器的路徑或根文件夾(Path或RootFolder屬性)。
【課堂演練】
【實例10-2】查看驅(qū)動器信息。在Drive1中改變驅(qū)動器后,程序?qū)棾鲂畔⒖?,顯示所選驅(qū)動器的有關信息。
【實現(xiàn)步驟】
(1)建立應用程序用戶界面,并設置對象屬性。選擇“新建”工程,進入窗體設計器,增加一個驅(qū)動器控件Drive1。在“工程”菜單中單擊“引用”命令,打開“引用”對話框,選中“MicrosoftScriptingRuntime”項。
(2)編寫程序代碼。Drive1的Change事件代碼為
PrivateSubDrive1_Change()
DimfsoAsNewFileSystemObject,drvAsDrive,sAsString
mdrive=Drive1.Drive
Setdrv=fso.GetDrive(fso.GetDriveName(mdrive))
s=“驅(qū)動器”&UCase(mdrive)&Chr(13)
s=s&drv.VolumeName&vbCrLf&Chr(13)
s=s&“最大空間:”&FormatNumber(drv.TotalSize/1024,0)
s=s&“Kb”&vbCrLf&Chr(13)&Chr(13)
s=s&"剩余空間:"&FormatNumber(drv.FreeSpace/1024,0)
s=s&"Kb"&vbCrLf
MsgBoxs,0,"查看驅(qū)動器信息"
EndSub
(3)運行程序,結果如圖10.5所示。圖10.5查看驅(qū)動器信息
7.管理文件夾
可以在程序中使用FSO模型來處理文件夾,如復制和移動文件夾、獲得驅(qū)動器和文件夾的信息等。
表10-4列出了創(chuàng)建、刪除、移動和復制文件夾所使用
的方法。表10-5列出了文件夾定位的一些方法。表10-6列出了Folder對象的屬性。
8.管理文件
文件管理主要有兩類:一是移動、復制和刪除文件,二是創(chuàng)建、添加、刪除數(shù)據(jù)以及閱讀文件。通過使用FSO模型中的Copy、Delete、Move及OpenAsTextStream等,可以操作VB中的文件。
文件對象File的屬性與文件夾對象的屬性相似,參見表10-6。對文件的移動、復制和刪除,F(xiàn)SO模型分別提供了兩種方法,見表10-7。
9.創(chuàng)建數(shù)據(jù)文件
使用FSO模型創(chuàng)建的文件對象(File)屬于順序型的文本文件。File對象所具有的屬性和方法可以使文件的打開、關閉、讀出與寫入非常方便。
有三種方法可以創(chuàng)建順序型的空文本文件C:\testfile.txt。
(1)使用CreateTextFile方法:
DimfsoAsNewFileSystemObject,filAsFile
Setfil=fso.CreateTextFile("C:\testfile.txt",True)
(2)使用FileSystemObject對象的OpenTextFile方法,該對象的ForWriting標志設置為
DimfsoAsNewFileSystemObject,tsAsNewTextStream
Setts=fso.OpenTextFile("C:\testfile.txt",ForWriting)
(3)使用帶ForWriting標志設置的OpenAsTextStream方法:
DimfsoAsNewFileSystemObject,filAsFile,tsAsTextStream
Setfso=CreateObject(“Scripting.FileSystemObject”)
fso.CreateTextFile(“testfile.txt”)
Setfil=fso.GetFile(“testfile.txt”)
Setts=fil.OpenAsTextStream(ForWriting)
10.寫入數(shù)據(jù)文件
文本文件一經(jīng)創(chuàng)建,就可以分三步向其中加入數(shù)據(jù):
(1)打開文本文件以備寫入數(shù)據(jù)。
(2)寫入數(shù)據(jù)。
(3)關閉文件。
添加數(shù)據(jù)所使用的方法如表10-8所示。
11.從文件中讀取數(shù)據(jù)
讀取數(shù)據(jù)所使用的方法如表10-9所示。如果使用Read或ReadLine方法,并且想要跳過數(shù)據(jù)的某些部分,可以使用Skip或SkipLine方法。這些讀取方法產(chǎn)生的文本被存儲在一個字符串中,而這個字符串可以在一個控件中顯示,也可以被字符串函數(shù)分解(如Left、Right和Mid)、合并等。任務10.3傳統(tǒng)的文件I/O語句和函數(shù)
任務導入
對數(shù)據(jù)文件的創(chuàng)建與編輯除了使用前面介紹的FSO模型外,還可以使用傳統(tǒng)的文件I/O(輸入/輸出)語句和函數(shù)來實現(xiàn)其打開、讀出、寫入等操作。
學習目標
(1)掌握數(shù)據(jù)文件的類型。
(2)掌握使用傳統(tǒng)的文件I/O語句和函數(shù)處理數(shù)據(jù)文件的
步驟。
(3)會使用傳統(tǒng)的語句訪問順序文件。
(4)會使用傳統(tǒng)的語句訪問隨機文件。
(5)會使用傳統(tǒng)的語句訪問二進制文件。任務實施
1.掌握數(shù)據(jù)文件的類型
計算機的數(shù)據(jù)文件按數(shù)據(jù)的存放方式,分為以下三種類型:
(1)順序型,用于連續(xù)存放的文本數(shù)據(jù)。順序文件即普通的文本文件,它是一個接一個地順序排列,只提供第一個記錄的存儲。要查找一個數(shù)據(jù)時,必須從頭一個一個地讀取直到找到要找的記錄位置。所以它適用于有規(guī)律、不經(jīng)常修改的數(shù)據(jù)。
(2)隨機型,用于有固定長度記錄結構的文本數(shù)據(jù)或者二進制數(shù)據(jù)。隨機文件的每一個記錄都有固定的長度,每一個記錄都有一個記錄號。在存入數(shù)據(jù)時,只需指明是第幾個記錄號,就可以把數(shù)據(jù)存入指定的位置;在讀取數(shù)據(jù)時,只需給出該記錄的記錄號,就能直接讀取記錄??梢酝瑫r進行輸入輸出操作,存入和讀取速度較快,數(shù)據(jù)容易更新。
(3)二進制型,以二進制格式保存,能用來存儲任何所希望的數(shù)據(jù)。除了沒有數(shù)據(jù)類型或者記錄長度的含義以外,它與隨機訪問很相似,允許程序按所需的任何方式阻止和訪問數(shù)據(jù)。這類文件的靈活性最大,但程序的工作量也最大。
2.掌握處理數(shù)據(jù)文件的步驟
在VB中,數(shù)據(jù)文件的處理操作一般按下面三步進行:
(1)打開(或建立)文件。一個文件必須先打開或建立后才能使用。如果一個文件已經(jīng)存在,則打開該文件;如果不存在,則建立該文件。
(2)進行讀、寫操作。在文件處理中,把內(nèi)存中的數(shù)據(jù)傳輸?shù)较嚓P聯(lián)的外部設備(例如磁盤),并作為文件存放的操作叫做寫數(shù)據(jù);把數(shù)據(jù)文件中的數(shù)據(jù)傳輸?shù)絻?nèi)存程序中的操作叫做讀數(shù)據(jù)。一般來說,在內(nèi)存與外設的數(shù)據(jù)傳輸中,由內(nèi)存到外設叫做輸出或?qū)?,而由外設到內(nèi)存叫做輸入或讀。
(3)關閉文件。
3.訪問順序文件
順序文件是普通的文本文件,其結構比較簡單。它的存儲方式是順序存儲,即一個數(shù)據(jù)接著一個數(shù)據(jù)地順序排列。
如果要編輯一個文件,先要把它的內(nèi)容讀入到內(nèi)存變量中,然后修改這些變量,最后再把這些變量寫回到該文件。
1)順序文件的打開
在對文件進行操作之前,首先要打開文件。當按順序訪問(打開)一個文件時,需要使用Open語句,其語法為
Open〈文件名〉For{Input|Output|Append}As〈文件號〉[Len=buffersize]
2)順序文件的讀取操作
要讀取文本文件的內(nèi)容,應以Input方式打開該文件,然后使用LineInput#、Input()或者Input#語句將文件復制到內(nèi)存變量中:
LineInput#〈文件號〉,〈變量名〉
Input(Length,〈文件號〉)
Input#〈文件號〉,〈變量名1〉[,〈變量名2〉…]
3)順序文件的寫入操作
要將數(shù)據(jù)寫入文本文件,應以Output或Append方式打開該文件,然后使用Print#或者Write#語句將數(shù)據(jù)寫入文件中:
Print#〈文件號〉,〈數(shù)據(jù)〉[{,|;}]
Write#〈文件號〉,〈數(shù)據(jù)〉
4)順序文件的關閉
打開一個文件后,在進行其他相關類型的操作前,必須先使用Close語句關閉它,其語法為
Close〈文件號1〉[,〈文件號2〉…]
【課堂演練】
【實例10-3】設計一個簡易的文本編輯器,使其具有創(chuàng)建、編輯、保存普通文本文件的功能,如圖10.6所示。圖10.6簡易文本編輯器
【實現(xiàn)步驟】
(1)建立應用程序用戶界面,并設置對象屬性。
選擇“新建”工程,進入窗體設計器,在窗體上增加一個文本框Text1,一個公共對話框Commondialog1和五個命令按鈕Command1~Command5,如圖10.7所示。圖10.7建立用戶界面及設置對象屬性設置窗體、文本框、公共對話框的屬性,如表10-10所示,命令按鈕及其他的屬性設置參見圖10.12。
(2)編寫代碼。
“新建”命令按鈕Command1的Click事件代碼為
PrivateSubCommand1_Click()
Text1.Text=“”
Form1.Caption=“未命名”
Text1.SetFocus
EndSub“打開”命令按鈕Command2的Click事件代碼為
PrivateSubCommand2_Click()
CommonDialog1.ShowOpen‘顯示“打開”公共對話框
fname=CommonDialog1.FileName
Iffname<>“”Then
Text1.Text=“”
OpenfnameForInputAs#1’打開文件
b=""
DoUntilEOF(1)‘沒有到文件尾
LineInput#1,nextline’讀數(shù)據(jù)
b=b&nextline&Chr(13)&Chr(10)
Loop
Close#1‘關閉文件
Text1.Text=b
EndIf
Form1.Caption=fname
EndSub“保存”命令按鈕Command3的Click事件代碼為
PrivateSubCommand3_Click()
IfForm1.Caption=“未命名”O(jiān)rForm1.Caption=“”Then
CommonDialog1.ShowSave‘顯示“另存為”公共對話框
fname=CommonDialog1.FileName
Else
fname=Form1.Caption
EndIf
Iffname<>“”Then
OpenfnameForOutputAs#1‘以Output方式打開文件
Print#1,Text1.Text’寫入數(shù)據(jù)
Close#1‘關閉文件
EndIf
EndSub“另存”命令按鈕Command4的Click事件代碼為
PrivateSubCommand4_Click()
CommonDialog1.ShowSave‘顯示“另存為”公共對話框
fname=CommonDialog1.FileName
Iffname<>""Then
OpenfnameForOutputAs#1‘以Output方式打開文件
Print#1,Text1.Text’寫入數(shù)據(jù)
Close#1 ‘關閉文件
EndIf
EndSub“關閉”命令按鈕Command5的Click事件代碼為
PrivateSubCommand5_Click()
Text1.Text=“”
UnloadMe
EndSub
(3)運行程序。
單擊不同的命名按鈕,可以進行不同的文本編輯操作。單擊“打開”按鈕時,將彈出“打開”對話框,如圖10.8所示,從中選擇需要打開的文件,將內(nèi)容讀入文本框中。圖10.8在文本編輯器中單擊“打開”按鈕單擊“保存”按鈕時,將打開“保存”對話框,可以對文本內(nèi)容進行保存,如圖10.9所示。圖10.9在文本編輯器中單擊“保存”按鈕
4.訪問隨機文件
1)隨機文件的打開與關閉
與順序文件不同,打開一個隨機文件后,既可以用于寫操作,也可以用于讀操作。隨機文件的打開仍用Open語句,但其語法不同:
Open〈文件名〉[ForRandom]As〈文件號〉Len=〈記錄長度〉
2)隨機文件的讀寫操作
隨機文件與順序文件的讀寫操作類似,但通常把需要讀寫的記錄中的各字段放在一個記錄類型中,同時應指定每個記錄的長度。對打開的隨機文件中的記錄進行編輯時,要先把記錄從文件讀到內(nèi)存變量,然后改變各變量的值,最后把變量寫回該文件。另外,還有一些對記錄的其他操作。例如,把記錄讀入變量,使用Get#語句:
Get#〈文件號〉,〈記錄號〉,〈變量名〉
其中,〈記錄號〉是要讀入的記錄號數(shù);〈變量名〉是接收記錄內(nèi)容的記錄型變量名,一般聲明為用戶定義類型。使用Put#語句可以把數(shù)據(jù)寫入隨機文件或替換隨機文件中的記錄:
Put#〈文件號〉,〈記錄號〉,〈變量名〉
添加記錄時,應使用前述代碼段中所示的Put語句,把〈記錄號〉的值設置為比文件中的記錄數(shù)多1。刪除記錄時,通過清除其字段可以刪除一個記錄,但是該記錄仍在文件中存在。通常文件中不能有空記錄,因為它們會浪費空間且會干擾順序操作。最好把余下的記錄拷貝到一個新文件,然后刪除老文件。
【課堂演練】
【實例10-4】利用隨機文件保存學生的成績,可以輸入學生的學號、姓名以及三門功課的成績,并瀏覽或刪除數(shù)據(jù)。
【實現(xiàn)步驟】
(1)建立應用程序用戶界面,并設置對象屬性。選擇“新建”工程,進入窗體設計器,首先增加兩個框架Frame1和Frame2。選定Frame1,在其中增加一個列表框List1;選定Frame2,在其中增加一個文本框數(shù)組Text1(0)~Text1(5)和六個標簽Label1~Label6。再增加四個命令按鈕Command1~Command4。
設置框架、文本框、標簽、列表框和命令按鈕的屬性,如圖10.10所示。圖10.10建立用戶界面及設置對象屬性
(2)編寫事件代碼。
首先在窗體的通用過程段創(chuàng)建用戶定義類型,并聲明變量:
PrivateTypecj
xmAsString*6
xhAsString*6
xbAsString*2
sxAsInteger
ywAsInteger
wyAsInteger
EndType
PrivatedaAscj編寫窗體的Load事件代碼,使之具有顯示數(shù)據(jù)的功能:
PrivateSubForm_Load()
DimlastrecAsInteger,sxAsSingle
DimywAsSingle
Open“xsda2.dat”ForRandomAs#1Len=Len(da) ‘打開隨機文件
lastrec=LOF(1)/Len(da)
List1.Clear
Forn=1Tolastrec
Get#1,n,da
Withda
xh=Format(.xh,“@@@@”)
xm=Format(RTrim(.xm),“@@@@”)
xb=Format(RTrim(.xb),“@@”)
sx=Format(.sx,“##”)
yw=Format(.yw,"##")
wy=Format(.wy,“##”)
msg=xh&xm&xb&“”&Str(yw)&“”&Str(wy)&“”&Str(sx)
EndWith
List1.AddItemmsg
Next
Close#1‘關閉隨機文件
EndSub編寫“輸入”命令按鈕Command1的Click事件代碼:
PrivateSubCommand1_Click()
Fori=0To5
Text1(i).Text=“”
Next
Text1(0).SetFocus
EndSub編寫“添加”命令按鈕Command2的Click事件代碼:
PrivateSubCommand2_Click()
DimlastrecAsInteger
Withda
.xh=Text1(0).Text
.xm=Text1(1).Text
.xb=Text1(2).Text
.sx=Val(Text1(3).Text)
.yw=Val(Text1(4).Text)
.wy=Val(Text1(5).Text)
EndWith
Open“xsda2.dat”ForRandomAs#1Len=Len(da) ‘打開隨機數(shù)據(jù)文件
lastrec=LOF(1)/Len(da)
Put#1,lastrec+1,da
Close#1
CallForm_Load
Text1(0).SetFocus
EndSub編寫“刪除”命令按鈕Command3的Click事件代碼:
PrivateSubCommand3_Click()
DimlastrecAsInteger
recnum=List1.ListIndex+1
Open“rec.tem”ForRandomAs#1Len=Len(da) ‘打開臨時隨機文件
Open“xsda2.dat”ForRandomAs#2Len=Len(da)
’打開隨機數(shù)據(jù)文件
lastrec=LOF(2)/Len(da)
Forn=1Tolastrec
Ifn<>recnumThen
Get#2,n,da
Put#1,,da
Else
Get#2,n,da
Withda
Text1(0).Text=.xh
Text1(1).Text=.xm
Text1(2).Text=.xb
Text1(3).Text=.sx
Text1(4).Text=.yw
Text1(5).Text=.wy
EndWith
EndIf
Next
Close#1
Close#2
Kill“xsda2.dat”
Name“rec.tem”As“xsda2.dat”
CallForm_Load
Text1(0).SetFocus
EndSub編寫“結束”命令按鈕Command4的Click事件代碼:
PrivateSubCommand4_Click()
UnloadMe
EndSub編寫列表框List1的Click事件代碼:
PrivateSubList1_Click()
IfList1.ListIndex>–1Then
Command3.Enabled=True
Else
Command3.Enabled=False
EndIf
EndSub(3)運行程序,結果如圖10.11所示。圖10.11學生成績管理程序運行結果
5.訪問二進制文件
利用二進制存取可以獲取任一文件的原始字節(jié),即不僅能獲取ASCII文件,而且能獲取非ASCII文件的原始字節(jié)。這樣,用戶就可以讀取或修改以非ASCII格式存盤的文件了,如可執(zhí)行文件(.exe)。
1)創(chuàng)建和打開二進制文件
創(chuàng)建和打開一個二進制文件都是用同一個Open語句來實現(xiàn)的,其
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年物業(yè)清潔與維護服務合同3篇
- 2024年檢測領域咨詢服務協(xié)議精簡版版
- 2024年協(xié)議離婚合作的藝術與法律框架3篇
- 2024事業(yè)單位青年英才招聘合同3篇
- 2025營業(yè)執(zhí)照抵押合同范本格式
- 2024年新型城鎮(zhèn)化建設項目投標書范本合同3篇
- 2025年開封貨運上崗資格證模擬考試
- 洛陽師范學院《包裝材料學》2023-2024學年第一學期期末試卷
- 房地產(chǎn)銷售顧問聘用合同樣本
- 環(huán)保產(chǎn)業(yè)授權經(jīng)營的管理辦法
- 技術需求信息表
- 樂山大佛介紹課件
- 血透室運用PDCA循環(huán)降低血透病人長期深靜脈留置導管的感染率品管圈成果匯報
- 云南省昆明一中2024年高二上數(shù)學期末質(zhì)量檢測試題含解析
- 網(wǎng)絡安全攻防演練防守方方案
- 初中語文人教七年級上冊群文閱讀 -
- 教育政策與法規(guī)全套完整教學課件
- 關注心靈快樂成長心理健康教育主題班會
- 數(shù)胎動那些事兒胎動與胎兒安全孕婦學校課件PPT
- 沖刺高考主題班會
- 小型谷物烘干機設計
評論
0/150
提交評論