偶然从 SysUtils 里发现了几个路径相关的函数, 以前没见过, 可能是 2010 新增的:
GetLocaleDirectory();
GetLocaleFile();
LocaleDirectoryExists();
LocaleFileExists();
--------------------------------------------------------------------------------
应用测试:
--------------------------------------------------------------------------------
uses IOUtils;
procedure TForm1.FormCreate(Sender: TObject);
var
p,f: string;
b: Boolean;
begin
{设置与获取当前路径}
SetCurrentDir('C:Temp');
ShowMessage(GetCurrentDir);
{ C:Temp }
{获取当前目录下子目录的全路径}
p :=
GetLocaleDirectory('ABC');
ShowMessage(p);
{ C:TempABC }
{获取当前目录下文件的全路径}
f :=
GetLocaleFile('X.txt');
ShowMessage(f);
{ C:TempX.txt }
f :=
GetLocaleFile('ABCX.txt');
ShowMessage(f);
{ C:TempABCX.txt }
{IOUtils 下的 TPath
也有类似功能}
f :=
TPath.GetFullPath('X.txt');
ShowMessage(f);
{ C:TempX.txt }
f :=
TPath.GetFullPath('ABCX.txt');
ShowMessage(f);
{ C:TempABCX.txt }
{判断当前文件夹下的文件或子文件夹是否存在}
b :=
LocaleDirectoryExists('ABC'); //这相当于: DirectoryExists(GetCurrentDir
+ 'ABC');
b :=
LocaleFileExists('X.txt');
//这相当于: FileExists(GetCurrentDir +
'X.txt');
end;