[ godscrusher1990 @ 17.04.2006. 07:34 ] @
Please help.Sve sam pokusao cak i sa tim da iskljucim I\o greske ali ne uspeva.Ako neko zna zivot ce mi spasti
[ Nemanja Avramović @ 17.04.2006. 07:44 ] @
Obicnom rekurzijom... evo:

Code:
Function MyRemoveDir(sDir : String) : Boolean; 
var 
         iIndex    : Integer; 
         SearchRec : TSearchRec; 
         sFileName : String; 
begin 
         Result := False; 
         sDir   := sDir + '\*.*'; 
         iIndex := FindFirst(sDir, faAnyFile, SearchRec); 

         while iIndex = 0 do begin 
               sFileName := ExtractFileDir(sDir)+'\'+SearchRec.Name; 
               if SearchRec.Attr = faDirectory then begin 
                  if (SearchRec.Name <> '' )  and 
                     (SearchRec.Name <> '.')  and 
                     (SearchRec.Name <> '..') then 
                      MyRemoveDir(sFileName); 
               end else begin 
                  if SearchRec.Attr <> faArchive then 
                     FileSetAttr(sFileName, faArchive); 
                  if NOT DeleteFile(sFileName) then 
                     ShowMessage('Ne mogu da obrisem ' + sFileName); 
               end; 
               iIndex := FindNext(SearchRec); 
         end; 

         FindClose(SearchRec); 

         RemoveDir(ExtractFileDir(sDir)); 
         Result := True; 
end; 


A koristis ovako:

Code:
if NOT MyRemoveDir('D:\myDir') then 
   ShowMessage('Ne mogu da obrisem folder!');  


Srecno
[ godscrusher1990 @ 23.04.2006. 23:03 ] @
Ljudi pravim sa jos jednim drugom file manager-a i zapeli smo kod kopiranja foldera, kopiranja fajlova(celog fajla, a ne samo sadrzaja). Ako neko moze da mi pomogne neka postavi kod ako mu nije tesko! Unapred hvala!!!
PS. Hvala za delete folder...
[ Nemanja Avramović @ 24.04.2006. 08:34 ] @
Za kopiranje foldera mozes koristiti istu rekurziju, samo promeni ime funkcije i svuda gde imas funkciju za brisanje fajla/foldera, stavi kopiranje fajla odnosno kreiranje foldera. A ovo za kopiranje *celog* fajla a ne samo sadrzaja ne razumem.
[ godscrusher1990 @ 27.04.2006. 00:02 ] @
I kako bi ona izgledala(funkcija za kopiranje foldera sa fajlovima)?Kopiranje fajlova je veoma prosto koristio sam komandu CopyFile(sorce, destination, true).Unapred hvala!!!
[ Nemanja Avramović @ 27.04.2006. 18:09 ] @
Pa rekao sam ti vec:

Citat:
JaHvram: Za kopiranje foldera mozes koristiti istu rekurziju, samo promeni ime funkcije i svuda gde imas funkciju za brisanje fajla/foldera, stavi kopiranje fajla odnosno kreiranje foldera. A ovo za kopiranje *celog* fajla a ne samo sadrzaja ne razumem.


Izgledala bi slicno:

Code:
function CopyDir(source,dest:string):boolean;
var 
        ...
begin 
           ... 
                  if NOT CopyFileFile( ... ) then 
                     ShowMessage('Ne mogu da kopiram ' + sFileName); 
           ...
         ForceDirectories(ExtractFileDir(sDir));  // valjda tako beshe func...
         Result := True; 
end; 



Ovo ti je pseudo-code testiraj, probaj, ... mene mrzi da pisem funkciju koja ce da radi, nemam vremena, ali ako u'vatim vremena pokusacu da napisem