Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

brisanje svih fajlova u direktorijumu

[es] :: Pascal / Delphi / Kylix :: brisanje svih fajlova u direktorijumu

[ Pregleda: 2349 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

someone_ns
NS

Član broj: 28100
Poruke: 3
*.teleportgroup.net



Profil

icon brisanje svih fajlova u direktorijumu14.06.2004. u 22:04 - pre 240 meseci
kao sto naslov vec kaze, treba mi hitno za neki programcic koji ima neke svoje kes fajlove u inst direktorijumu da ih pobrisem klikom na dugme. Nasao sam komandu u helpu koja jako lepo radi, ali samo ako ima tacan fajl name. Znaci:

Brise C:\dir\fajl.txt
ali ne i C:\dir\*.txt

Pretpostavljam da ili ima neka funkcija koja to radi (gledao sam deletedir ali ona trazi da bude prazan) i nesto u win32sdk, ali tamo sam se pogubio skroz....

Mozda ima neki kratak kod koji bi izlistao putanje do svih fajlova u direktorijumu u memo, a onda da ja sa ovom funkcijom deletefile idem liniju po liniju preuzimam kao FileName i brisem ih redom....

Samo sto nikad nisam znao da izlistavam fajlove unutar direktorijuma... nisam bas najposveceniji svemu tome....

Ako neko moze na brzinu da pomogne, bio bih veoma zahvalan, verujem da vama iskusnijima ovo uopste nije problem....

Unapred hvala!
 
Odgovor na temu

ivanho
slobodni umetnik
Beograd

Član broj: 28465
Poruke: 73
195.252.85.*



Profil

icon Re: brisanje svih fajlova u direktorijumu15.06.2004. u 10:58 - pre 240 meseci
Funkciju koja sledi pozovi na sledeci nacin...
File_DirOperations_Datail('DELETE', False, True, True, False, 'C:\dir\', '');
funkcija vraca Boolean
Trebalo bi da radi...

Function File_DirOperations_Datail(
Action : String; {COPY, DELETE, MOVE, RENAME}
RenameOnCollision : Boolean; {Renames if directory exists}
NoConfirmation : Boolean; {Responds "Yes to All" to any dialogs}
Silent : Boolean; {No progress dialog is shown}
ShowProgress : Boolean; {displays progress dialog but no file names}
FromDir : String; {From directory}
ToDir : String {To directory}
): Boolean;
var
SHFileOpStruct : TSHFileOpStruct;
FromBuf, ToBuf: Array [0..255] of Char;
begin
Try
If Not DirectoryExists(FromDir) Then
Begin
Result := False;
Exit;
End;
Fillchar(SHFileOpStruct, Sizeof(SHFileOpStruct), 0 );
FillChar(FromBuf, Sizeof(FromBuf), 0 );
FillChar(ToBuf, Sizeof(ToBuf), 0 );
StrPCopy(FromBuf, FromDir);
StrPCopy(ToBuf, ToDir);
With SHFileOpStruct Do
Begin
Wnd := 0;
If UpperCase(Action) = 'COPY' Then wFunc := FO_COPY;
If UpperCase(Action) = 'DELETE' Then wFunc := FO_DELETE;
If UpperCase(Action) = 'MOVE' Then wFunc := FO_MOVE;
If UpperCase(Action) = 'RENAME' Then wFunc := FO_RENAME;
pFrom := @FromBuf;
pTo := @ToBuf;
fFlags := FOF_ALLOWUNDO;
If RenameOnCollision Then fFlags := fFlags or FOF_RENAMEONCOLLISION;
If NoConfirmation Then fFlags := fFlags or FOF_NOCONFIRMATION;
If Silent Then fFlags := fFlags or FOF_SILENT;
If ShowProgress Then fFlags := fFlags or FOF_SIMPLEPROGRESS;
End;
Result := (SHFileOperation(SHFileOpStruct) = 0);
Except
Result := False;
End;
end;
 
Odgovor na temu

dejov
Dejan Jovic
Zrenjanin

Član broj: 17537
Poruke: 88
*.dialup.neobee.net.



Profil

icon Re: brisanje svih fajlova u direktorijumu17.06.2004. u 02:41 - pre 240 meseci
Mozda je ovo jednostavnije. Evo ti link:

http://greatis.com/delphi/filesdirectories-delfiles.html
 
Odgovor na temu

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
*.teleportgroup.net

Sajt: www.diy-fever.com


+1 Profil

icon Re: brisanje svih fajlova u direktorijumu17.06.2004. u 22:03 - pre 240 meseci
probaj ovako, mislim da je lako:

Code:

var
  FindResult: integer;
  SearchRec : TSearchRec;
...
  FindResult := FindFirst(Path + '*.*', faAnyFile - faDirectory, SearchRec);
  while FindResult = 0 do
  begin
    DeleteFile(SearchRec.Name);
    FindResult := FindNext(SearchRec);
  end;
  FindClose(SearchRec);    
...

posle samo izbrisi direktorijum koji je prazan
Ride the rainbow, crack the sky

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: brisanje svih fajlova u direktorijumu

[ Pregleda: 2349 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.