Suppression d'un repertoire incomplete
Bonjour,
j'ai un problème car dans mon programme je dois supprimer un répertoire qui a des sous dossiers, le problème est que quant j'utilise TDirectory:: Delete ou la fonction ci dessous trouvée sur se site mais dans les deux cas il me reste le répertoire principal et un ou deux sous dossier vides...
Deux jours que je galère et ne pige pas d’où vient le problème?
je programme en XE7 ou en C++ builder 6
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
void __fastcall DeleteRecursif(AnsiString pmRep)
{
TSearchRec SearchRec;
int Attributes = 0;
AnsiString bcRep = "",
bcRepTemp = "",
bcFile = "";
Attributes |= faAnyFile;
bcRep = pmRep;
if(bcRep[bcRep.Length()] != '\\')
{
bcRep+= "\\";
}
bcRepTemp = bcRep;
bcRep+= "*.*";
if(FindFirst(bcRep, Attributes, SearchRec) == 0)
{
do
{
bcFile = SearchRec.Name;
if(bcFile != "." && bcFile != "..")
{
bcFile = bcRepTemp + SearchRec.Name;
if(SearchRec.Attr != faDirectory)
{
DeleteFile(bcFile);
}
else
{
DeleteRecursif(bcFile);
}
}
}
while (FindNext(SearchRec) == 0);
FindClose(SearchRec);
}
RemoveDir(pmRep);
} |