📄 46.txt
字号:
获取程序工作路径的方法
(作者:段炼)
Visual Basic(VB)
VB中通过App关键字来实现的对程序全局对象的访问,App对象的Path属性直接指出了应用程序的工作路径。
例如,下面的代码实现在程序运行中PictureBox控件动态加载位于工作目录的image子目录下的图像文件picture1.gif :
FilePosition = App.Path & "\image\picture1.gif"
Picture1.Picture = LoadPicture(FilePosition)
Visual C++ (VC)
MFC似乎并没有直接提供取得应用程序工作路径的方法,但在VC中可以简单使用C语言中的getcwd函数(在<direct.h>中说明)来取工作路径。
例如:
char buffer[_MAX_PATH];
if(_getcwd(buffer,_MAX_PATH)==NULL)
cout<< "_getcwd error"<<"\n";
else
cout<<buffer<<"\n";
输出为工作路径:
E:\PathInfo\Debug
Delphi
在Delphi中,调用函数ParamStr(0)可以取得可执行文件的完整路径信息(工作路径加可执行文件名),再调用ExtractFileDir或ExtractFilePath函数即可提取出应用程序工作目录或路径。例如:
label1.caption:=ExtractFileDir(ParamStr(0));
label2.caption:=ExtractFilePath(ParamStr(0));
其显示结果分别为:
E:\PathInfo
E:\PathInfo\
C++Builder(BCB)
C++Builder完全兼容ANSI C、C++,因而同VC一样,我们也可以调用C语言中的getcwd函数来取工作路径。此外,BCB语言还提供了如ParamStr()、ExtractFilePath等与Delphi一致的函数,我们只需将Delphi中的"."改为BCB中的"->"即可同样使用。例如,在Label1中显示工作路径:
Label1->Caption=ExtractFilePath(ParamStr(0));
需注意的只是BCB区别大小写而Delphi不区别大小写。
Java (JDK、VJ++、JBuilder等)
在跨平台语言Java中,有关Application的全局信息放置在一个Properties(Hashtable类的一个子类)对象中,键"user.dir"所对应的值即工作路径。通过System.getProperty("user.dir")即可取得Application工作路径字符串。
例如:
public class Class1
{
public static void main (String[] args)
{
System.out.println(System.getProperty("user.dir") );
}
}
控制台输出:
E:\PathInfo
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -