Messages d'erreur...

Résolu
hfr11 Messages postés 20 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 8 octobre 2019 - 26 sept. 2006 à 14:54
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 - 27 sept. 2006 à 19:17
Bonjour,

Comment faire sur une suppression de fichiers :

- Pour que tous les fichiers soient supprimés quels que soient les attributs

- Pour qu'aucun message d'erreur n'apparaisse si un fichier ne peut être supprimé ?

- Sous NT, comment prendre possession du fichier ?


        If Dflg=False Then Begin

          Application.OnException := Form1.AppException;

          FileOpStruct.Wnd := 0;

          FileOpStruct.wFunc := FO_DELETE;

          FileOpStruct.pFrom := PChar(Dossier);

          FileOpStruct.pTo := Nil;

          FileOpStruct.fFlags := FOF_NOCONFIRMATION or FOF_SIMPLEPROGRESS;

          FileOpStruct.lpszProgressTitle := PChar(Dossier);

          Try

            {$I-}

            ShFileOperation(FileOpStruct);

            {$I+}

            If IOResult=0 Then Result:=True Else Result:=False;

          Except

            Result:=False;

          End;


Merci à tous, Patrice

Ing. Syst. sous env. NT et 2000
Interressé par tout ce qui touche à la programmation d'outils systèmes de gestion réseau, d'utilisateurs, de machines distantes.
Merci, cordialement, bon courage à tous, P. C.

3 réponses

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
27 sept. 2006 à 19:17
le probleme des FileOp, meme si c'est carrement pratique, c'est justement les problemes qu'ils peuvent engendrer...
le mieux encore, pour controler toute la chaine de recherche/suppression, serait de travailler avec une fonction recurssive de recharche et utiliser DeleteFile dont on pourrat gerrer le retour et donc empecher la suppression du repertoire si un fichier n'as pus etre supprimé.

<hr size="2" width="100%" />Croc (click me)
3
Utilisateur anonyme
26 sept. 2006 à 15:56
Salut,

Ta function permet de supprimer un répertoire : pas un simple fichier.

Pour éviter les erreurs tu peux utiliser Try Except.
Cependant si un fichier ne peux pas etre supprimé il en sera de meme du dossier vide.

Ta fonction permet de supprimer les fichiers d'un dossier quel que soit leurs attribues.

Qu'entends tu par prendre possession ?
0
hfr11 Messages postés 20 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 8 octobre 2019
26 sept. 2006 à 16:07
Salut, merci de ta réponse.

La solution "Try except" n'empêche pas les messages d'erreur d'entrée sortie... J'ai essayé !

Prendre possession : Sous NT l'untilisateur qui a créé le fichier en
est propriétaire, pour éviter certaines contraintes il peut être
intéressant de prendre possession du dit fichier, c'est à dire en
devenir le propriétaire et avoir donc tous les droits possibles sur ce
fichier.

Je sais que je supprime un dossier et que non vide je plante, j'ai
juste posté le code pour montrer sur quoi je travaillais. (copié
d'ailleurs d'un code posté ici).


Merci encore, Patrice

Ing. Syst. sous env. NT et 2000
Interressé par tout ce qui touche à la programmation d'outils systèmes de gestion réseau, d'utilisateurs, de machines distantes.
Merci, cordialement, bon courage à tous, P. C.
0
Rejoignez-nous