DriveName

DriveName,在Visual Basic中開發應用程式時,可能會需要在磁碟上創建一個臨時目錄或檔案,本文介紹如何在Visual Basic 4.0中創建臨時檔案。

使用GetTempFileName函式

Windows API函式中的GetTempFileName函式可以用來在指定的磁碟驅動器上創建一個新的檔案。儘管所創建的檔案是一個臨時檔案, 但不再需要它的時候,程式設計師還是需要將它從磁碟上物理地刪除掉。

要在VB中使用GetTempFileName函式,必須將如下聲明語句包含在程式中(請注意該聲明語句需要書寫在一行內):

Private Declare Function GetTempFileName Lib"kernel32" A lias"GetTempFile NameA" (ByVal lpszPath As String, ByVal lpP refixString As String, ByVal wUni que As Long, ByVal lpTempF ileName As String) As Long

GetTempFileName函式需要4個參數

第一個參數是希望創建新檔案的驅動器和/或路徑的名稱,在下面 的樣例程式中,新檔案創建在驅動器C的根目錄下。

第二個參數是指派給檔案名稱稱的前綴。如果將該前綴指定為"TES T",則函式將把創建的新檔案名稱稱的前四個字元設定為"TEST",即"TES T*.TMP"。

第三個參數應該被設定為0,告訴該函式為檔案名稱稱自動產生隨機 號碼。該隨機號碼會被添加到前綴字元的後面,以產生一個獨特而且 完整的檔案名稱稱。

第四個參數是一個字元串快取,它至少要有256個字元的長度,以 存放臨時檔案的名稱。

在調用該函式之後,新檔案創建在指定的磁碟上。這裡重申一下, 當退出應用程式時,必須物理地將該檔案從磁碟上刪除。

樣例程式

該程式顯示了如何在VB應用程式中創建一個臨時檔案。

1.在Visual Basic中開始一個新的工程,採用預設的方法建立For m1。

2.將如下聲明語句添加到Form1的通用聲明部分中(請注意該聲明 語句需要被書寫在一行內):

Private Declare Function GetTempFileName Lib"kernel32" A lias"GetTempFile NameA"(ByVal lpszPath As String, ByVal lpPr efixString As String, ByVal wUniq ue As Long, ByVal lpTempFi leName As String) As Long

3.將如下代碼添加到Form1的Form_Load事件中:

Private Sub Form_Load()

Text1.TEXT = ""

End Sub

4.在Form1上添加一個文本框控制項,採用預設的方法建立Text1。

5.在For 鹹砑右桓雒?畎磁タ丶?採用預設的方法建立Comman d1。

6.將如下代碼添加到Command1的單擊事件中:

Private Sub Command1_Click()

Dim FilePrefix As String

Dim NewFile As String * 256

FilePrefix = "TEST"

NewFile = GetTempName(FilePrefix)

Text1.TEXT = NewFile

End Sub

7.創建一個新的名為GetTempName的函式,將如下代碼添加到該函 數中:

Private Function GetTempName(TmpFilePrefix As String) As String

Dim TempFileName As String * 256

Dim X As Long

Dim DriveName As String

DriveName = "c:"

X = GetTempFileName(DriveName, TmpFilePrefix, 0, TempFi leName)

GetTempName = Left$(TempFileName, InStr(TempFileName, Ch r(0)) - 1)

End Function

按下F5鍵,執行本樣例程式.單擊命令按鈕,在驅動器C的根目錄下創建一個新的臨時檔案.該新創建的檔案的名稱被顯示在文本框控制項中.

相關詞條

相關搜尋

熱門詞條

聯絡我們