I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
var DirInfo: TSearchRec; r : Integer; begin r := FindFirst(\'C:\\Download\\Test\\*.*\', FaAnyfile, DirInfo); while r = 0 do begin if ((DirInfo.Attr and FaDirectory <> FaDirectory) and (DirInfo.Attr and FaVolumeId <> FaVolumeID)) then if DeleteFile(pChar(\'C:\\Download\\test\\\' + DirInfo.Name)) = false then ShowMessage(\'Unable to delete : C:\\Download\\test\\\' + DirInfo.Name); r := FindNext(DirInfo); end; SysUtils.FindClose(DirInfo); if RemoveDirectory(\'C:\\Download\\Test\') = false then ShowMessage(\'Unable to delete direcotry : C:\\Download\\test\'); end;
Procedure DelDir(dir:string); var SearchRec: TSearchRec; begin If Copy(dir,Length(dir),1)<>\'\\\' then dir:=dir+\'\\\'; IF not DirectoryExists(dir) then begin showmessage(\'biblioeket \"\'+dir+\'\" findes ikke!\'); exit; end; If FindFirst(dir+\'*.*\', faAnyFile, SearchRec)=0 Then Repeat If SearchRec.Attr=faDirectory Then begin If (SearchRec.Name=\'.\')or(SearchRec.Name=\'..\') then Continue; //loop igennem underbibliotekerne (recursive) DelDir(dir+SearchRec.Name); end else begin //Gør et eller andet med filerne fundet i biblioteket DeleteFile(dir+SearchRec.Name); end; until FindNext(SearchRec) <> 0; //Slet Bibliotek removedir(dir+SearchRec.Name); FindClose(SearchRec); end;
ups blev ikke helt færdig med ovenstående kode forsøger igen!
UDDRAG FRA DELPHISEEK.COM
procedure TForm .Button Click(Sender: TObject); var DirInfo: TSearchRec; r : Integer;
Begin r := FindFirst(\'C:\\Download\\Test\\*.*\', FaAnyfile, DirInfo); while r = 0 do begin if ((DirInfo.Attr and FaDirectory <> FaDirectory) and (DirInfo.Attr and FaVolumeId <> FaVolumeID)) then if DeleteFile(pChar(\'C:\\Download\\test\\\' + DirInfo.Name)) = false then ShowMessage(\'Unable to delete : C:\\Download\\test\\\' + DirInfo.Name); r := FindNext(DirInfo); end; SysUtils.FindClose(DirInfo); if RemoveDirectory(\'C:\\Download\\Test\') = false then ShowMessage(\'Unable to delete direcotry : C:\\Download\\test\'); end;
du kan selvfølgelig også kalde deltree winexec(......\\deltree \"bibliotek der skal slettes\",1) dog er det ikke særlig pænt at bruge DOS kald så jeg foretrækker den anden
lidt i tråd med de allerede givne svar vil jeg anbefale det følgende :
unit FileHandling;
interface
uses ShellAPI, Windows, SysUtils; Function DeleteFiles( Files : String) : Boolean; Function CopyFiles( From, Dest : String) : Boolean; Function MoveFiles( From, Dest : String) : Boolean; Function RenameFiles( From, Dest : String) : Boolean; Function GetFileSize(FileName : TFileName) : Integer;
implementation
Function ExecuteOp(From : String; Dest : String; IdOp : Integer) : Boolean; var SHFileOpStruct : TSHFileOpStruct; zFrom, zDest : array [0..MAX_PATH+2] of Char; begin From := ExpandFileName(From); Dest := ExpandFileName(Dest); ZeroMemory(@zFrom, SizeOf(zFrom)); ZeroMemory(@zDest, SizeOf(zDest));
if IdOp <> FO_DELETE then SHFileOpStruct.fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR else SHFileOpStruct.fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION;
Result := Boolean(SHFileOperation(SHFileOpStruct)); Result := Result and (SHFileOpStruct.fAnyOperationsAborted); end;
Function CopyFiles( From, Dest : String) : Boolean; begin result := ExecuteOp(From,Dest, FO_COPY); end;
Function DeleteFiles( Files : String) : Boolean; begin Result := ExecuteOp(Files,\'\', FO_DELETE); end;
Function MoveFiles( From, Dest : String) : Boolean; begin Result := ExecuteOp(From,Dest, FO_MOVE); end;
Function RenameFiles( From, Dest : String) : Boolean; begin if (ExtractFilePath(From) <> \'\') and (ExtractFilePath(Dest) = \'\') then Dest := ExtractFilePath(From) + Dest; Result := ExecuteOp(From,Dest, FO_RENAME); end;
Function GetFileSize(FileName : TFileName) : Integer; var SearchRec : TSearchRec; begin if FindFirst(ExpandFileName(FileName), faAnyFile, SearchRec) = 0 then Result := SearchRec.Size else Result := -1; FindClose (SearchRec); end;
end.
du kalder så funktionen DeleteFiles(\'C:\\\');
Jens B
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.