首页  编辑  

更改文件扩展名函数的BUG

Tags: /超级猛料/Stream.File.流、文件和目录/   Date Created:

更改文件扩展名函数的BUG

Delphi ChangeFileExt 函数和 Windows API 函数 PathRenameExtension 存在 BUG ,对长文件名的支持有问题:如果传入一个文件名带有引号,则返回的文件名只有一半引号,导致程序出错。

function ChangeFileExtEx(const FileName: string; const Ext: string): string;

{

 更改文件名后缀,支持Windows长文件名,Delphi本身的有BUG,如果文件名包含双引号

 则使用Delphi自带的会导致新文件名只有一半引号!

}

begin

 Result := StringReplace(ChangeFileExt(FileName, Ext), '"', '', [rfReplaceAll]);

end;