Supprimmer un fichier

Résolu
cs_zatox Messages postés 79 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 24 octobre 2017 - 15 août 2008 à 19:58
cs_zatox Messages postés 79 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 24 octobre 2017 - 18 août 2008 à 10:04
bonjour a tous, je suis débutant en delphi,

et je voudrais pouvoir supprimmer plusieurs fichiers en connaissant leur nom et leur extension, mais en ne connaissant pas leur emplacement sur le disque dur. et si possible, j'aimerais générer un rapport qui indique que ces fichiers ont bien été supprimmés.

par exemple, je veux supprimmer les fichiers bonjour.exe et aurevoir.jpg sans connaitre leur emplacement sur le disque.

et une fois ces programme supprimmés, avoir un rapport indiquant

C:\bonjour.exe ==> supprimmé !
C:\WINDOWS\aurevoir.jpg ==> supprimmé!

ou dans le cas contraire

C:\bonjour.exe ==> erreur de suppression !
C:\WINDOWS\aurevoir.jpg ==> erreur de suppression !

pouvez vous m'aider a réaliser ceci merci d'avance et bonne soirée

17 réponses

florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
15 août 2008 à 22:45
Ehhh !!! Te décourage pas !
Delphi est un langage formidable, surement plus puissant que ton langage dit "moins complexe" (ti-basic ?)

Il faut juste prendre le temps d'apprentissage du début, disons quelques semaines (jours si t'as une expérience ailleurs) pour comprendre et maitriser les fonctions et composants de base, et après approfondir.

Pour ton cas, je te suggère de regarder:
<li>Du côté du TMemo et de sa propriété Lines pour rentrer le liste des fichiers à supprimer (voir aussi TStringList)</li><li>Du côté de FindFirst(), FindNext() et FindClose() pour la recherche</li><li>Un petit cours sur les fonctions récursives risque de t'être utile pour explorer les sous-dossiers</li><li>Quelques exemples de listing de fichiers présents sur le site (mais là tu as la fonction "recherche" pour trouver ton bonheur)</li>Tu peux indiquer ton avancement et les difficultés que tu rencontres. Et c'est à ce niveau que nous interviendrons. D'ailleurs, tu le noteras toi-même, on progresse mieux de cette façon et c'est le but d'un forum d'entraide

A+
Flo (et n'abandonne pas delphi, ce serait très dommage)

Ressources Delphi, sources, tutoriaux, actu, ...: www.mx-dev.nethttp://te%3C/body
3
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
17 août 2008 à 13:00
OK mais moi c'est le code de suppression qui m'intéressait !
Avec ça je ne peux pas t'aider plus.

Mais enfin, si tu fais DeleteFile(Dir + Rec.Name) (si tu utilises FindFirst... ton code doit ressembler à ça) alors il te suffit d'ajouter Dir + Rec.Name à la liste des fichiers supprimés.

Ressources Delphi, sources, tutoriaux, actu, ...: www.mx-dev.nethttp://te%3C/body
3
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
17 août 2008 à 20:45
C'est tout simple: on ne peut pas.
Il faut donc bien se relire, par politesse pour les lecteurs (mais je t'avoue que je fais souvent des fautes)

Ressources Delphi, sources, tutoriaux, actu, ...: www.mx-dev.nethttp://te%3C/body
3
Utilisateur anonyme
15 août 2008 à 20:25
Je peux répondre Cirec ?




 Comment faire ce que tu souhaites :
1)Lister les fichiers sur l'ensemble des disques
 2)Récupérer le nom complet dans une TStringList et le nom court dans un TCheckListBox.
3)Parcourir tout les fichiers de la TStringList et les supprimer 1 par 1
4)Vérifier que chaque fichiers est supprimé et si c'est le cas checker la CheckListBox
5)Libérer la TStringList.

Reste plus qu'a chercher sur le site et sur google comment faire cela
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_zatox Messages postés 79 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 24 octobre 2017
15 août 2008 à 20:28
merci de taréponse, le problème c'est que je suis débutant, et bien incapable de créer un code tout seul, pourrais tu me donner un code tout fait, en me précisant a quel endroit je dois inscrire le nom des fichiers. merci
0
Utilisateur anonyme
15 août 2008 à 20:32
Débutant, Avancé, Expert on est tous logé à la meme enseigne  : on fait nos recherches nous meme, c'est pas aux autres de faire notre travail .... Apres tout chacun sa merde

Et me dit pas que tu as cherché. Puis il y a Koh Lanta (L'année prochaine on y va avec Cari et Cirec alors laisse nous voir comment ils font )
0
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
15 août 2008 à 20:32
Salut,

Lister l'ensemble des fichiers risque de prendre beaucoup de mémoire !
Ce qu'il faudrait juste, c'est les parcourir en entier via un Find(first|next|close) et ne noter dans la stringlist que ceux qui doivent être supprimés. On peut ensuite reparcourir la stringlist (de taille très modeste) et supprimer ces fichiers.

Par contre, petite erreur à éviter: ne jamais supprimer un fichier dans une opération de Findxxx sinon ça plante royalement!

++ (et inutile pour google, delphifr contient ce qu'il faut)

Ressources Delphi, sources, tutoriaux, actu, ...: www.mx-dev.nethttp://te%3C/body
0
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
15 août 2008 à 20:34
Zut francky on s'est croisé ! va donc regarder ta fiction télé !!!

Zatox si tu ne cherches pas par toi même, tu n'auras rien de plus sur ce forum.

Ressources Delphi, sources, tutoriaux, actu, ...: www.mx-dev.nethttp://te%3C/body
0
cs_zatox Messages postés 79 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 24 octobre 2017
15 août 2008 à 20:39
merci les gars, en fait je ne sais pas du tout développer en delphi, je comprends a peu pres le code lorsque je l'ai sous les yeux, mais de là a tout coder moi même il y a un monde, je rograme dans d'autres langages certes moins complexes, et j'ai apris a coder en modifiant des codes déja tout faits, ce qui m'a permi de voir a quoi sert telle ou telle comande.

je vais essayer de me débrouiller autrement merci quad meme a +
0
cs_zatox Messages postés 79 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 24 octobre 2017
16 août 2008 à 10:31
merci beaucoup pour ta réponse, je m'y suis mis j'ai réussi a bricoler un code fonctionnel tout fontionne a merveille, cependant j'ai encore un soucis. Merci aux tutoriaux trouvés sur le net notament sur ce site.

je suis amené a supprimmer a présent des fichiers dont je connnais l'extension mais je ne connais pas leur place sur le disque ni leur nom . dans mon code j'ai donc appellé ces fichiers *.blabla sauf que dans le rapport, il est indiqué
C:\WINDOWS\Temp\*.blabla  ==> supprimmé!
comment faire en sorte que ce soit le véritable nom du fichier qui apparaisse et non pas une étoile que j'ai utilisé comme joker ?

j'ai aussi essayé avec un point d'intérrogation, mais celui ci ne fait pas office de Joker, comme dans d'autres langages.

Merci d'avance bonne journéee a tous
0
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
16 août 2008 à 11:35
Faudrait voir le code que tu as crée pour faire la suppression, mais si c'est un DeleteFile(F) alors il te suffit dans le rapport de rajouter la ligne F + ' ==> supprimé !' (gare aux fautes d'orthographe !)

Ressources Delphi, sources, tutoriaux, actu, ...: www.mx-dev.nethttp://te%3C/body
0
cs_zatox Messages postés 79 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 24 octobre 2017
16 août 2008 à 13:06
en fait  j'ai créé une liste de fichiers a supprimmer comme ceci

Files: array[0..2] of string = ('bonjour.exe','aurevoir.exe','*.blabla')

le fait de mettre *.blabla

ne me permet pas d'avoir le nom du fichier dans le rapport j'ai juste l'étoile qui apparait pourtant avec cette méthodes, les différents fichiers portant l'estension .blabla sont détecté par le tool, mais je n'arrive pas a les différencier dans le rapport, il y a juste leur emplacement qui change, mais ce n'est pas très pratique

merci pour ton aide
0
cs_zatox Messages postés 79 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 24 octobre 2017
16 août 2008 à 13:07
oups j'ai oublié un ";" a la fin de ma ligne , mais je ne sais pas éditer mon message
0
cs_zatox Messages postés 79 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 24 octobre 2017
17 août 2008 à 16:30
ah d'accord, je vais devoir réécrire cette partie du code alors

merci pour tout a +
0
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
17 août 2008 à 17:21
De rien.
Pense juste à valider les réponses qui t'ont aidé, c'est un geste de reconnaissance ! (et puis c'est précisé dans le règlement)

A+ et bonne continuation,

Ressources Delphi, sources, tutoriaux, actu, ...: www.mx-dev.nethttp://te%3C/body
0
cs_zatox Messages postés 79 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 24 octobre 2017
17 août 2008 à 18:32
ok merci désolé pour les réponses a valider, je ne savais  pas a quoi ça servait . au fait pourraait tu me dira aussi comment on édite un message déja posté, car sur tous les forums du réseau codes sources je n'ai jamais trouvé. merci
0
cs_zatox Messages postés 79 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 24 octobre 2017
18 août 2008 à 10:04
merci , je me disai aissi ...  moi aussi je fait des fautes de frappe et je m'en rend compte qu'après avoir posté .

merci pour tout.

je suis en trian de terminer mon code, il est long, mais au monis il fonctionnera a merveille. merci pour tout AAAA+
0
Rejoignez-nous