初学VB编程,很快就能编出些实用的程序了。我便将它们制成安装盘送给朋友,但很快就发现一个问题,程序总是按编程时固定好的路径读写文件,但文件路径改变,程序就找不到路径了,因此不能正常写文件。例如编程时设定:picture1.picture=LoadPicture("c:\HVB\HAN.BMP")但若安装使用时,工作目录变为E:\HVB\HAN.BMP或其它路径,程序就会出错,并提示:找不到文件路径。这个问题看起来很复杂,但实际上很好解决,这只需用VB的App对象。
App对象有两种重要属性:(1)App.Path,它在VB编程状态下返回你的.MAK文件所在目录;在以.EXE文件运行时,则返回你的.EXE文件所在目录。(2)App.EXEName它返回你的程序名。下面举一个简单的例子,假如你有一个程序为DDC,其目录为C:\HVB\DDC4(包括DDC.EXE)在VB编程环境下,在Debug窗口运行:PrintApp.Path,显示结果:C:HVB\DDC4,再运行PrintApp.EXEName显示结果:DDC。知道了以上两种属性,前面所述问题就很好解决了,可以将其修改为:DimApath,DimFilePath
Apath=App.Path
FilePath=Apath+"\HAN.BMP"
Picture1.Picture=LoadPicture(FilePath)
这样,这程序的工作目录无论改为什么,都能正常工作了。
(注:文件目录为根目录时,以上情况略有不同,App对象在VB2.0以上版本中均存在。)
(四川韩潮涌)
编辑点评:和上期关于延时处理的小程序一样,本期边学边练栏目推荐给大家的也是软件实用化的一个小小改进。本文所讨论的问题可能对于有数据库操作的软件尤具实际意义,看了本文你是否可以不必再为你的软件指定固定的目录了呢?->