我尝试使用winrar
命令行压缩文件,
但是当我在命令行中添加变量时,出现这些错误
类型'PWideChar'和'string'不兼容!
我将sdate变量转换为WideChar,但是它不起作用!
我该如何解决!
procedure TForm1.Button1Click(Sender: TObject);
var
mydate : TDateTime;
sdate : string;
begin
mydate:= Now-7;
sdate := FormatDateTime('YYYY/mm/dd',mydate);
ShellExecute(0, 'open', PChar('C:\Program Files\WinRAR\WinRar.exe'),
'a -r -ta'+ PChar(sdate) +' D:\xlsFiles.rar D:\*.xls*', nil, SW_SHOW);
end;
最佳答案
ShellExecute
的文本参数的类型为PChar
。但是,您为参数编号4提供了一个字符串。
错误消息非常清楚。通过检查ShellExecute
的声明,您知道有问题的参数的类型为PChar
(PWideChar
的别名)。错误消息告诉您正在传递string
。
代替
'a -r -ta'+ PChar(sdate) +' D:\xlsFiles.rar D:\*.xls*'
通过
PChar('a -r -ta'+ sdate +' D:\xlsFiles.rar D:\*.xls*')