Quoi, tu ne connais pas PB ? Va falloir parcourir tout le forum alors !

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 11-12-2006 13:38:09

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

[RESOLU] Suppression répertoire

Bonjour tout le monde,
j'ai donc une liste de dossier que je parcours, je supprime leur contenu, et je veux ensuite supprimer le dossier lui même lorsqui'il est vide, mais il n'est a priori pas possible de le faire lorque c'est le répertoire en cours.. j'ai testé un changeDirectory mais sans résultat..
Quelqu'un aurait trouvé une alternative?
Merci

Hors ligne

 

#2 11-12-2006 14:02:35

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: [RESOLU] Suppression répertoire

Function boolean RemoveDirectoryA (ref string directoryname) library "KERNEL32.DLL"
Function boolean SetCurrentDirectoryA (ref string directoryname ) library "KERNEL32.DLL"

   


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#3 11-12-2006 14:10:19

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: [RESOLU] Suppression répertoire

oui oui j'ai deja tout ca ^^

Hors ligne

 

#4 11-12-2006 14:14:25

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: [RESOLU] Suppression répertoire

bah ca marche alors !

il suffit de faire
SetCurrentDirectoryA ("c:\")
puis RemoveDirectoryA ("ton repertoire")


A++


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#5 11-12-2006 14:15:20

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: [RESOLU] Suppression répertoire

SetCurrentDirectoryA  je peux pas le remplacer par un changeDirectory ?

Hors ligne

 

#6 11-12-2006 14:23:56

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: [RESOLU] Suppression répertoire

non.
il faut utiliser le SetCurrentDirectoryA.

A++


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#7 11-12-2006 14:25:29

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: [RESOLU] Suppression répertoire

oki merci tu peux mettre en résolu alors ^^

Hors ligne

 

#8 11-12-2006 14:33:24

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: [RESOLU] Suppression répertoire

oky doky !
no soucy man

t'es sur que je peux ? 


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#9 11-12-2006 14:37:09

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: [RESOLU] Suppression répertoire

ouiiiii fais toi plaisir allezzzzzzz vas yyyyyy

Hors ligne

 

#10 13-12-2006 12:55:05

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: [RESOLU] Suppression répertoire

petite modification :
ca ne fonctionne pas , voici mon code tout simple :

Code:

  
        ls_new_directory = "c:\"
  lb_test_retour= SetCurrentDirectoryA(ls_new_directory)
  ls_test= GetCurrentDirectory ( )
  lb_test_retour=RemoveDirectoryA(a_repertoire)

Hors ligne

 

#11 13-12-2006 13:57:05

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: [RESOLU] Suppression répertoire

chez moi ca fonctionne !

j'ai crée le repertoire c:\tutu
je me positionne sous ce repertoire
puis je vais à la racine  c:\
et je supprime le repertoire créé.
et comme par un tour de magie, il disparait. (comme si j'avais englouti un hamburger...)

Code:

Function boolean RemoveDirectoryA (ref string directoryname) library "KERNEL32.DLL"
Function boolean SetCurrentDirectoryA (ref string directoryname ) library "KERNEL32.DLL"
FUNCTION long GetCurrentDirectoryA( long length , ref string path) LIBRARY "Kernel32"

Code:

string ls_new_directory, ls_directory
string ls_path
long  ll_ret

ls_path = Space(250)


ll_ret = GetCurrentDirectoryA(250, ls_path)
IF ll_ret > 0 THEN
   ls_path = Left(ls_path,ll_ret)
   MessageBox("", ls_path)
ELSE
   Messagebox("Error","Err GetCurrentDirectory " + String(ll_ret))
END IF

ls_new_directory   = "c:\tutu"
ls_directory    = "c:\tutu"
SetCurrentDirectoryA(ls_new_directory)


ll_ret = GetCurrentDirectoryA(250, ls_path)
IF ll_ret > 0 THEN
   ls_path = Left(ls_path,ll_ret)
   MessageBox("", ls_path)
ELSE
   Messagebox("Error","Err GetCurrentDirectory " + String(ll_ret))
END IF

ls_new_directory = "c:\"
SetCurrentDirectoryA(ls_new_directory)

RemoveDirectoryA(ls_directory)

Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#12 13-12-2006 14:08:52

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: [RESOLU] Suppression répertoire

oui mais mon mien il est ouvert par un FindFirstFileA ca y jou non ?

Hors ligne

 

#13 13-12-2006 14:15:05

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: [RESOLU] Suppression répertoire

???

essayes de  suivre les consignes.
je ne comprends rien à ton firstmachinchouette.

on parle de repertoire, pas de fichier.
et pour pouvoir supprimer le repertoire, il faut qu'il ne contienne pas de fichiers...
j'ai fait le test sur un repertoire vide, et ca fonctionne parfaitement !


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#14 13-12-2006 14:16:37

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: [RESOLU] Suppression répertoire

oui oui j'ai essayé, mais en fait je fait un parcour récurssif des dossiers dans des dossier donc je cré une liste avec FindFirstFileA voila:)

Hors ligne

 

#15 13-12-2006 14:25:22

Steve  
Membre Geek
Lieu: Aux environs de Strasbourg
Date d'inscription: 29-05-2006
Messages: 40
Pépites: 213
Banque: 0
Site web

Re: [RESOLU] Suppression répertoire

As-tu bien fait un FindClose (je ne me souviens plus du nom exact) après tes FindFirst / FindNext ? Sinon le répertoire reste verrouillé, je me suis déjà fait avoir comme ça.

Hors ligne

 

#16 13-12-2006 14:26:57

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: [RESOLU] Suppression répertoire

oui c'est bien un findclose j'ai testé mais il me semble que ca ne marche pas je reteste, merci !

en fait je le faisais deja :

Code:

lu_retour_close = FindClose(lu_retour_find)
  
  ls_new_directory = "c:\"
  
  lb_test_retour= SetCurrentDirectoryA(ls_new_repertoire)
  lb_test_retour=RemoveDirectoryA(a_repertoire)

Dernière modification par thezerg (13-12-2006 14:31:50)

Hors ligne

 

#17 13-12-2006 14:31:38

Steve  
Membre Geek
Lieu: Aux environs de Strasbourg
Date d'inscription: 29-05-2006
Messages: 40
Pépites: 213
Banque: 0
Site web

Re: [RESOLU] Suppression répertoire

Et tous les fichiers sont bien supprimés ? Il ne reste pas de fichiers cachés/systèmes (genre desktop.ini, thumbs.db ou autres) qui ne sont pas pris en compte dans les critères que tu utilise avec FindFirst/Next ? Tu arrives à supprimer le répertoire à la main ?

Hors ligne

 

#18 13-12-2006 14:32:40

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: [RESOLU] Suppression répertoire

oui je pense qu'il ne reste rien puisque si je tente un remove_directory tout simple en dehors de ca ca marche :s

Hors ligne

 

#19 13-12-2006 14:36:56

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: [RESOLU] Suppression répertoire

j'ai redémarré PB et miracle.. ca marche.. désole
mais merci quand meme à tous!

Hors ligne

 

#20 13-12-2006 15:01:09

Steve  
Membre Geek
Lieu: Aux environs de Strasbourg
Date d'inscription: 29-05-2006
Messages: 40
Pépites: 213
Banque: 0
Site web

Re: [RESOLU] Suppression répertoire

thezerg a écrit:

j'ai redémarré PB et miracle.. ca marche.. désole
mais merci quand meme à tous!

Probablement qu'il a raté un FindClose à un moment donné, à cause d'un debug interrompu par exemple. Où alors parce que tu n'avais pas toute de suite ces FindClose dans le code et donc que le système a gardé un verrou sur le répertoire.

Hors ligne

 

#21 13-12-2006 15:04:29

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: [RESOLU] Suppression répertoire

oui c'est possible

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22