Okay, here you go. This should be much tidier than shelling out to a command prompt, since it's using a Windows OS Shell function.
This works on 95, NT, and above, according to the Microsoft SDK help. uses ShellApi, FileCtrl; function DeleteFolder(FolderName: String; LeaveFolder: Boolean) : Boolean; var R: TShFileOpStruct; begin Result := False; If not DirectoryExists(FolderName) then Exit; FolderName := IncludeTrailingBackslash(FolderName); If LeaveFolder then begin FolderName := FolderName + '*.*'; end else begin if FolderName[Length(FolderName)] = '\' then begin Delete(FolderName,Length(FolderName),1); end; end; FillChar(R, SizeOf(r), 0); r.wFunc := FO_DELETE; r.pFrom := PChar(FolderName); r.fFlags := FOF_ALLOWUNDO OR FOF_NOCONFIRMATION; Result := ((ShFileOperation(r) = 0) and (not r.fAnyOperationsAborted)); end; Using the ShFileOperation function and specifying the FOF_ALLOWUNDO flag will also make use of your Recycle Bin. ;-) If you want to tweak it, you should be able to find out more info from the SDK help that comes with Delphi. Enjoy... Cheers, Conor -----Original Message----- From: Alistair George [mailto:bigal@;xtra.co.nz] Sent: Tuesday, 12 November 2002 8:48 a.m. To: Multiple recipients of list delphi Subject: Re[2]: [DUG]: Deletefile('D:\*.*'); Hello Pedrocelli, A good, simple approach. Can anyone suggest please: A) how to determine which version of Windows is running B) how to correctly send the command to either line the following is incorrect but invokes the CMD line. WinExec('cmd del c:\temp\*.*',SW_SHOW); And what would be the correct command for Win98? thanks! Alistair+ Monday, November 11, 2002, 9:54:05 PM, you wrote: P> What about executing the system (DOS) command P> del /f /q /s D:\*.* P> ? P> If there are likely to be files with special attributes you may also need the P> switch /a:rsh (be careful how you read that!) to allow deletion of Read-only, P> System and Hidden files also. P> I know it's not internal to Delphi, but it would be a one-two statement answer P> with DOS or cmd.exe (for Win 9x/ME or NT/2k/XP respectively) doing all the work. P> Probably faster to execute than coding it all in Delphi, even if a little P> boring. P> Sorry I don't have the code to make the DOS call on the tip of my fingers, but P> it should be simple enough. P> Cheers P> Peter Ware P> --------------------------------------------------------------------------- P> New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED] P> Website: http://www.delphi.org.nz P> To UnSub, send email to: [EMAIL PROTECTED] P> with body of "unsubscribe delphi" P> Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ -- Regards, Alistair+ --------------------------------------------------------------------------- New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED] Website: http://www.delphi.org.nz To UnSub, send email to: [EMAIL PROTECTED] with body of "unsubscribe delphi" Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ --------------------------------------------------------------------------- New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED] Website: http://www.delphi.org.nz To UnSub, send email to: [EMAIL PROTECTED] with body of "unsubscribe delphi" Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/