SHFileOperationをファイルのコピーに使っています。
次の2点について教えて下さい。
[1]:「上書きしますか?」のダイアログを表示しない方法
[2]:*.exe 以外の全ファイルを指定する場合のワイルドカードの記述法
uses
ShellAPI, FileCtrl;
procedure TForm1.Button1Click(Sender: TObject);
var
foStruct: TSHFileOpStruct;
FromPath: string;
ToPath: string;
begin
//コピー元のディレクトリを指定
if (SelectDirectory(FromPath, [sdAllowCreate], 0)) then begin
//コピー先のディレクトリを指定
if (SelectDirectory(ToPath, [sdAllowCreate], 0)) then begin
with foStruct do begin
wnd := Handle;
wFunc := FO_COPY;
pFrom := PChar(FromPath + '\*.*' + #0);
pTo := PChar(ToPath + '\' + #0);
fFlags := FOF_FILESONLY or FOF_ALLOWUNDO;
fAnyOperationsAborted := False;
hNameMappings := nil;
lpszProgressTitle := nil;
end;
SHFileOperation(foStruct);
end;
end;
end;
[1]:「上書きしますか?」のダイアログを表示しない方法
fFlags:= FOF_NOERRORUI;
中途半端な(動かない)ソースコードを貼り付けるのはいかがな
ものかと。コピペなら正直に出典元
http://www.wwlnk.com/boheme/delphi/tips/tec0600.htm
を明確にしたほうが良いでしょう。
[1]については「Delphi SHFileOperation ダイアログ」「SHFILEOPSTRUCT ダイアログ」
等で検索して下さい。