我有这个功能。
procedure DeleteToBin(filename:string);
var
fileOpStruct : TSHFileOpStruct;
filename_a :ansistring;
begin
filename_a := filename + #0#0;
//showmessage(filename_a);
fileOpStruct.Wnd := Application.MainFormHandle;
fileOpStruct.wFunc := FO_DELETE;
fileOpStruct.pFrom := PAnsiChar(filename_a);
fileOpStruct.fFlags := FOF_ALLOWUNDO + FOF_NOCONFIRMATION;
SHFileOperation( fileOpStruct );
end;
它适用于普通路径和文件,例如:C:\mypath\myfile.ext
。但是,一旦我处理包括德语Umlaute在内的文件,它就会失败,例如:C:\mypööö\myfileüüü.ext
我尝试了我能想到的每一次转换(如UTFtoANSI),但没有达到预期的效果。 顺便说一句:showmessage显示正确可读的德语文件名。
使其运作需要什么样的转换?
答案 0 :(得分:-2)
感谢Remy和David以及utf8Decode我以这种方式运行: (编辑2018-04-17)
Virtual Private Server