CopyFile関数を使用して、あるフォルダから別のフォルダにファイルをコピーしたい。ソースファイルのパスは、「itemsDB」と呼ばれるClientDataSetに保存されます。コードは:
Var Source, Dest : String;
Begin
itemsDB.First;
While Not itemsDB.EOF do
Begin
Source := itemsDB.FieldValues['FileN'];
Dest := 'C:\NewDir\'+ExtractFileName(Source);
if Not CopyFile(PChar(Source), PChar(Dest), False) then
Showmessage(SysErrorMessage(getlasterror()));
itemsDB.Next;
end;
end
コードを実行すると、「ファイル名ディレクトリ名またはボリュームラベルの構文が正しくありません」というエラーメッセージが表示されます。データセット内のすべてのファイルパスを確認しましたが、正しいです。私の例では、clientdatasetに2つのJPG画像「c:\ test1.jpg」と「c:\ test2.jpg」が含まれています。source:='c:\ test1.jpg'を試したところ、完全に機能しますが、 clientdatasetからの場合、失敗します。
前もって感謝します