教你如何创建VB.NET临时文件七步总结
创始人
2024-06-10 09:41:30
0

经过长时间的运用VB.NET编程,在工作中也积累了一些经验,在这里主要和大家介绍如何创建VB.NET临时文件。

使用GetTempFileName函数

#T#WindowsAPI函数中的GetTempFileName函数可以用来在指定的磁盘驱动器上创建一个新的文件。尽管所创建的文件是一个临时文件,但不再需要它的时候,程序员还是需要将它从磁盘上物理地删除掉。

要在VB中使用GetTempFileName函数,必须将如下声明语句包含在程序中(请注意该声明语句需要书写在一行内):

  1. PrivateDeclareFunctionGetTempFileNameLib"kernel32"Alias"GetTempFileNameA"(ByVallpszPathAsString,ByVallpPrefixStringAsString,  
  2. ByValwUniqueAsLong,ByVallpTempFileNameAsString)AsLong 

该GetTempFileName函数需要4个参数:
***个参数是希望创建新文件的驱动器和/或路径的名称,在下面的样例程序中,新文件创建在驱动器C的根目录下。
第二个参数是指派给文件名称的前缀。如果将该前缀指定为"TEST",则函数将把创建的新文件名称的前四个字符设置为"TEST",即"TEST*.TMP"。
第三个参数应该被设置为0,告诉该函数为文件名称自动产生随机号码。该随机号码会被添加到前缀字符的后面,以产生一个独特而且完整的文件名称。
第四个参数是一个字符串缓存,它至少要有256个字符的长度,以存放临时文件的名称。

在调用该函数之后,新文件创建在指定的磁盘上。这里重申一下,当退出应用程序时,必须物理地将该文件从磁盘上删除,样例程序。

该程序显示了如何创建VB.NET临时文件

1.在VisualBasic中开始一个新的工程,采用缺省的方法建立Form1。

2.将如下声明语句添加到Form1的通用声明部分中(请注意该声明语句需要被书写在一行内):

  1. PrivateDeclareFunctionGetTempFileNameLib"kernel32"Alias"GetTempFileNameA"  
  2. (ByVallpszPathAsString,ByVallpPrefixStringAsString,ByValwUniqueAsLong,ByVallpTempFileNameAsString)AsLong 

3.将如下代码添加到Form1的Form_Load事件中:

  1. PrivateSubForm_Load()  
  2. Text1.TEXT="" 
  3. EndSub  

4.在Form1上添加一个文本框控件,采用缺省的方法建立Text1。

5.在Form1上添加一个命令按钮控件,采笔〉姆椒ńommand1。

6.将如下代码添加到Command1的单击事件中:

  1. PrivateSubCommand1_Click()  
  2. DimFilePrefixAsString  
  3. DimNewFileAsString*256  
  4. FilePrefix="TEST" 
  5. NewFile=GetTempName(FilePrefix)  
  6. Text1.TEXT=NewFile 
  7. EndSub 

7.创建一个新的名为GetTempName的函数,将如下代码添加到该函数中:

  1. PrivateFunctionGetTempName(TmpFilePrefixAsString)AsString  
  2. DimTempFileNameAsString*256  
  3. DimXAsLong  
  4. DimDriveNameAsString  
  5. DriveName="c:" 
  6. X=GetTempFileName(DriveName,TmpFilePrefix,0,TempFileName)  
  7. GetTempName=Left$(TempFileName,InStr(TempFileName,Chr(0))-1)  
  8. EndFunction 

按下F5键,执行本样例程序。单击命令按钮,在驱动器C的根目录下创建一个新的临时文件。该新创建的文件的名称被显示在文本框控件中,以上就是如何创建VB.NET临时文件的过程,大家学会了吗?

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...