软件注册站
热情软件屋

 
如何获得TEMP目录
编号: QA004085    
建立日期: 2001年4月9日 最后修改日期: 2004年2月5日
所属类别: Visual Basic - 磁盘、文件和目录
   
    操作系统: win98
    编程工具: vb6
    问题: 各位高手,在下有一段代码请教详解
     Dim RetCode As Long
     Dim TempDir As String
     Dim TempFileName As String
    
     TempDir = Space(256) '?
     RetCode = GetTempPath(Len(TempDir), TempDir) '?
     TempFileName = Left(Trim$(TempDir), Len(Trim$(TempDir)) - 1) + "\ABC.ZIP" '?
    

    水平: 刚入门(刘凯)
   
    这段代码就是获得TEMP目录。GetTempPath函数是API函数,该函数返回时将结果放在缓冲区TempDir。调用Windows函数,你必须保证缓冲区的长度足够,否则会出现错误。VB的字符串是动态调整长度的,所以先使用Space函数给缓冲区分配256个字符。不过Windows使用的是C语言的字符串(以NULl为结尾),而不是VB的字符串,所以需要使用Left的办法去掉返回的字符串中多余的部分。但是这段代码有一个错误,就是GetTempPath函数返回的路径包括“\”,所以ABC.ZIP前不应该有“\”。
    
    cansum的意见:
    可以使用下面的方法:
    Environ("WINDIR") & "\temp"
    
    yehwa、FriedFish的意见:
    Environ("TEMP") 就行了。
    摘自MSDN的介绍
    Environ 函数
    返回 String,它关连于一个操作系统环境变量。 在 Macintosh 中不可用。
    语法
    Environ({envstring | number})
    Environ 函数的语法含有以下这些命名参数:
    部分 描述
    envstring 可选参数。包含一个环境变量名的字符串表达式。
    number 可选参数。数值表达式,用来表示环境字符串在环境字符串表格中的数值顺序。number 参数可以是任意的数值表达式,不过在计算前,它会先转换为一个整数。
    说明
    如果在环境字符串表格中找不到 envstring,则会返回一个零长度字符串 ("")。如果找到,则 Environ 会返回一段文本,文本是赋值给指定的 envstring 的,也就是说,在环境字符串表格中对应那个环境变量的等号 (=) 后面的那段文本。
    如果指定了 number,则在环境字符串表格中相应位置上的字符串会返回。在这种情况下,Environ 会返回整个文本,包括 envstring。如果在指定位置上没有环境字符串,那么 Environ 会返回一个零长度字符串。

    

此问题由李海回答。

附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, 磁盘、文件和目录, disk, file, fat, directory, folder

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio