2013-08-31 62 views
3

我需要在德爾福做兩折操作。文件操作 - 複製和移動 - 德爾福

首先是讀取目錄並將所有文件複製到備份文件夾中。如果任何文件當前正在被寫入和/或打開,則繞過該文件。

其次是將文件移動到另一個目錄。同樣,如果任何文件當前正在被寫入和/或打開,則繞過該文件。

我以前使用過文件複製和移動,但我不確定如何檢測文件是否正在寫入和/或打開。

謝謝。

回答

5

如果使用Windows.pas'CopyFile(PChar(sFrom),PChar(sTo),false)它將在複製失敗時返回false,並且GetLastError將返回錯誤代碼來解釋原因。

+0

謝謝。我有同樣的想法,但想聽到別人驗證我的邏輯。 –

+0

它爲我工作,如果我刪除最後一個參數('false'),否則我會''太多的參數'。 – fnkr

+0

這可能是因爲您使用的是由SysUtils.pas定義的'CopyFile',而不是Windows.pas。 –