GetCurrentDirectory与Delphi对话框控件
GetCurrentDirectory可以取出当前文件的路径。当程序开始执行时,该路径就是EXE所在的文件路径名。所如果要访问该路径下的文件或者文件夹时,我们可以使用相对路径来访问。例如,要访问exe目录下的database的a.mdb文件。我们可以使用../database/a.mdb来访问。
但是需要注意的是,假如我们在程序中使用了对话框控件,如TSaveDialog,并成功选择文件名后。则文件的当前路径就变成了TSaveDialog所选文件路进了。而此时若再使用../database/a.mdb来访问不不可以了,除非你选择文件和原来的exe文件在同一目录下。
所以为了解决这个问题,可以使用Delphi的ExtractFilePath(Application.EXEName)来取得文件的路径。
2009.1.10补充:
最近看了书才知道:Windows对话框会在注册表的以下位置记录下最近打开了什么文件夹:
HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/ComDlg32
所以等下次,即使重启Windows你也会惊奇地发现:当你需要打开或保存某类型文件时,对话框打开的位置就是你上次使用的位置。