br>
在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.在form1上添加一个命令按钮控件,采 笔〉姆椒ńomman 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的根目录 下创建一个新的临时文件。该新创建的文件的名称被显示在文本框控 件中
|