PDA

View Full Version : پاكردن تمام فايلها در فولدر



mohsen_r
چهارشنبه 02 بهمن 1387, 09:21 صبح
آيا امكان اين هست كه با دستور Deletefile() تمام فايلهاي داخل فولدر پاك شود چون با اين دستور يكي را ميشه كل را پاك كردن راهنمايي كنيد

merced
چهارشنبه 02 بهمن 1387, 09:54 صبح
uses
ShellAPI;

function DeleteDir(const Directory: string);
var
FileOp: TSHFileOpStruct;
begin
FileOp.Wnd := Application.Handle;
FileOp.wFunc := FO_DELETE;
FileOp.pFrom := PChar(Directory + #0);
FileOp.fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION;
Result := SHFileOperation(FileOp) = 0;
end;

mohsen_r
چهارشنبه 02 بهمن 1387, 10:06 صبح
uses
ShellAPI;

function DeleteDir(const Directory: string);
var
FileOp: TSHFileOpStruct;
begin
FileOp.Wnd := Application.Handle;
FileOp.wFunc := FO_DELETE;
FileOp.pFrom := PChar(Directory + #0);
FileOp.fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION;
Result := SHFileOperation(FileOp) = 0;
end;


خطاي
function needs result type
علت چيه؟

امید امرایی
چهارشنبه 02 بهمن 1387, 10:25 صبح
خطاي
function needs result type
علت چيه؟


function DeleteDir(const Directory: string): Boolean;

mohsen_r
چهارشنبه 02 بهمن 1387, 10:52 صبح
function DeleteDir(const Directory: string): Boolean;


با تشكر مشكل حل شد
من به اين صورت نوشتم



DeleteDir('image');

اما خطا ميگره
access violation at address 7c809e22 in module kernel32.dll

ali_abbasi22145
چهارشنبه 30 بهمن 1387, 14:51 عصر
سلام
جناب آقاي mohsen_r شما كه مشكلت حل شده اگر امكان دارد با مثال دلفي از پاكردن تمام فايلها در فولدر را اينجا آپلود كنيد.

Felony
چهارشنبه 30 بهمن 1387, 15:16 عصر
Procedure DeleteDir(Dir:String;Format:String);
var Search:TSearchRec;
begin
if FindFirst(Dir+'\'+Format,FaAnyFile,Search)=0 then
repeat
DeleteFile(Dir+'\'+Search.Name);
until FindNext(Search)<>0;
FindClose(Search);
RMDir(Dir);
end;

mohsen_r
یک شنبه 04 اسفند 1387, 12:13 عصر
سلام
جناب آقاي mohsen_r شما كه مشكلت حل شده اگر امكان دارد با مثال دلفي از پاكردن تمام فايلها در فولدر را اينجا آپلود كنيد.

من از تابع آقاي SilverSoft استفاده كردم تابع قبلي يك خطا مي گرفت كه نتونستم برطرف كنم
مثال اين تابع هم


deldir('newfolder','*.*')