Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1603 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [DELPHI] efffacer un répertoire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[DELPHI] efffacer un répertoire

n°526022
davidmarli
Posté le 29-09-2003 à 19:04:55  profilanswer
 

Salut,
 
voilà, pour les besoins de mon prog, je voudrais pouvoir effacer le contenu d'un répertoire connaissant son nom (par exemple affacer e:\test\dvpt\', et eventuellement les ss-répertoire.
 
 
je sais que la fonction deletefile existe, mais elle marche à condition de connaitre le nom de tous les fichiers qu'il y a dans ce répertoire.
 
Merci


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
mood
Publicité
Posté le 29-09-2003 à 19:04:55  profilanswer
 

n°526027
KrzAramis
Help Me
Posté le 29-09-2003 à 19:12:02  profilanswer
 

Une petite recherche ?
 
http://forum.hardware.fr/forum2.ph [...] subcat=391
 
 [:ddr555]  
 
@++


---------------
The Only Way for Evils to Triumph is for Good Men to do Nothing @->-- Cours Réseaux@->-- Mon Site
n°526079
davidmarli
Posté le 29-09-2003 à 20:14:06  profilanswer
 

ben je vois pas en quoi ça va me servir !!! Je ne veux pa déplacer des ficheirs ! je veux effacer le contenu d'un répertoire !
 


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°526096
antp
Super Administrateur
Champion des excuses bidons
Posté le 29-09-2003 à 20:35:17  profilanswer
 

soit via la fonction SHFileOperation de l'API Win32, soit en vidant manuellement le dossier avec un truc du genre :
 


function Deltree(sDir: string): Boolean;
var
  iIndex: Integer;
  SearchRec: TSearchRec;
  sFileName: string;
begin
  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
       Deltree(sFileName);
    end else
    begin
      if SearchRec.Attr <> 0 then
        FileSetAttr(sFileName, 0);
      DeleteFile(sFileName);
    end;
    iIndex := FindNext(SearchRec);
  end;
  FindClose(SearchRec);
  RemoveDir(ExtractFileDir(sDir));
  Result := True;
end;
 


(je sais pas combien de fois j'ai posté cette fonction sur ce forum :D)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°526374
davidmarli
Posté le 29-09-2003 à 22:36:57  profilanswer
 

bon en fait j'ai résolu mon pb : j'ai crée sur ma form un filelistbox (qui est invisible). Je fais  
filelistbox.directory:=Monrepertoire que je veux effacer !
puis un filelistbox.count;
et un repeat until où je fais un deletefile(filelistbox.items[k]) ....
Voilà, bon si cela intéresse qq'un je poste ma routine demain.


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°526385
antp
Super Administrateur
Champion des excuses bidons
Posté le 29-09-2003 à 22:41:47  profilanswer
 

Je pense que ta solution est une des pires que l'on puisse trouver :D
La solution que j'ai postée il y a 2h est à peu près la même chose au niveau programmation, mais 1000x plus légère au final :p


Message édité par antp le 29-09-2003 à 22:42:33

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°526570
davidmarli
Posté le 30-09-2003 à 07:57:56  profilanswer
 

pourquoi dis-tu qu'elle est 1000x plus légère ?
Tout ce que je mets c'est un filelistbox !
Je ne vois pas en quoi cela alourdit le prg !


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°526596
taureau
Posté le 30-09-2003 à 09:04:22  profilanswer
 

ben disons pas 1000x mais quand même pas loin, c'est comme écraser une mouche avec un semi-remorque au final tu as le même résultat mais c'est juste un poil plus lourd et moins élégant :d

n°526646
antp
Super Administrateur
Champion des excuses bidons
Posté le 30-09-2003 à 10:06:26  profilanswer
 

davidmarli a écrit :


Tout ce que je mets c'est un filelistbox !


 
y a toute la gestion de la liste, les handle utilisés, les ressources GDI (n'oublie pas que sous Win9x elles sont assez limitées), etc.

n°527004
davidmarli
Posté le 30-09-2003 à 17:36:40  profilanswer
 

ok d'accord. Merci
 
PS : c'est certain, dans mes prog, je ne cherche pas toujours le meilleur moyen d'arriver à mes fins ! C'est un tort bien sûr.
 
Je vais prendre ta fonction donc. Aller hop : copier-coller !
Encore merci.


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
mood
Publicité
Posté le 30-09-2003 à 17:36:40  profilanswer
 

n°527537
Poipoi
Vive Grumly
Posté le 01-10-2003 à 09:10:13  profilanswer
 

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [DELPHI] efffacer un répertoire

 

Sujets relatifs
[DELPHI 7] Installation d'un package ???[delphi] Pb avec le prog ?!?
se logger sur un forum phpbb depuis delphi ?[DELPHI] lecture ficheir AVIavec mediaplayer
[DELPHI]Boutton et track bar... (débutant)[delphi] utilisation du findComponent dans une fonction if?
Créer automatiquement (sous dos) repertoire avec date [RESOLU][delphi]Déplacer des fichiers?
[DELPHI] Comment avoir le look XP ?[DELPHI] récupérer le nom d'un fichier ...
Plus de sujets relatifs à : [DELPHI] efffacer un répertoire


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR