Supprimmer un fichier [Résolu]

cs_zatox 79 Messages postés lundi 5 novembre 2007Date d'inscription 24 octobre 2017 Dernière intervention - 15 août 2008 à 19:58 - Dernière réponse : cs_zatox 79 Messages postés lundi 5 novembre 2007Date d'inscription 24 octobre 2017 Dernière intervention
- 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
Afficher la suite 

Votre réponse

17 réponses

Meilleure réponse
florenth 1105 Messages postés dimanche 1 août 2004Date d'inscription 17 août 2008 Dernière intervention - 15 août 2008 à 22:45
3
Merci
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

Merci florenth 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 118 internautes ce mois-ci

Commenter la réponse de florenth
Meilleure réponse
florenth 1105 Messages postés dimanche 1 août 2004Date d'inscription 17 août 2008 Dernière intervention - 17 août 2008 à 13:00
3
Merci
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

Merci florenth 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 118 internautes ce mois-ci

Commenter la réponse de florenth
Meilleure réponse
florenth 1105 Messages postés dimanche 1 août 2004Date d'inscription 17 août 2008 Dernière intervention - 17 août 2008 à 20:45
3
Merci
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

Merci florenth 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 118 internautes ce mois-ci

Commenter la réponse de florenth
Utilisateur anonyme - 15 août 2008 à 20:25
0
Merci
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
Commenter la réponse de Utilisateur anonyme
cs_zatox 79 Messages postés lundi 5 novembre 2007Date d'inscription 24 octobre 2017 Dernière intervention - 15 août 2008 à 20:28
0
Merci
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
Commenter la réponse de cs_zatox
Utilisateur anonyme - 15 août 2008 à 20:32
0
Merci
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 )
Commenter la réponse de Utilisateur anonyme
florenth 1105 Messages postés dimanche 1 août 2004Date d'inscription 17 août 2008 Dernière intervention - 15 août 2008 à 20:32
0
Merci
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
Commenter la réponse de florenth
florenth 1105 Messages postés dimanche 1 août 2004Date d'inscription 17 août 2008 Dernière intervention - 15 août 2008 à 20:34
0
Merci
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
Commenter la réponse de florenth
cs_zatox 79 Messages postés lundi 5 novembre 2007Date d'inscription 24 octobre 2017 Dernière intervention - 15 août 2008 à 20:39
0
Merci
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 +
Commenter la réponse de cs_zatox
cs_zatox 79 Messages postés lundi 5 novembre 2007Date d'inscription 24 octobre 2017 Dernière intervention - 16 août 2008 à 10:31
0
Merci
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
Commenter la réponse de cs_zatox
florenth 1105 Messages postés dimanche 1 août 2004Date d'inscription 17 août 2008 Dernière intervention - 16 août 2008 à 11:35
0
Merci
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
Commenter la réponse de florenth
cs_zatox 79 Messages postés lundi 5 novembre 2007Date d'inscription 24 octobre 2017 Dernière intervention - 16 août 2008 à 13:06
0
Merci
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
Commenter la réponse de cs_zatox
cs_zatox 79 Messages postés lundi 5 novembre 2007Date d'inscription 24 octobre 2017 Dernière intervention - 16 août 2008 à 13:07
0
Merci
oups j'ai oublié un ";" a la fin de ma ligne , mais je ne sais pas éditer mon message
Commenter la réponse de cs_zatox
cs_zatox 79 Messages postés lundi 5 novembre 2007Date d'inscription 24 octobre 2017 Dernière intervention - 17 août 2008 à 16:30
0
Merci
ah d'accord, je vais devoir réécrire cette partie du code alors

merci pour tout a +
Commenter la réponse de cs_zatox
florenth 1105 Messages postés dimanche 1 août 2004Date d'inscription 17 août 2008 Dernière intervention - 17 août 2008 à 17:21
0
Merci
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
Commenter la réponse de florenth
cs_zatox 79 Messages postés lundi 5 novembre 2007Date d'inscription 24 octobre 2017 Dernière intervention - 17 août 2008 à 18:32
0
Merci
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
Commenter la réponse de cs_zatox
cs_zatox 79 Messages postés lundi 5 novembre 2007Date d'inscription 24 octobre 2017 Dernière intervention - 18 août 2008 à 10:04
0
Merci
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+
Commenter la réponse de cs_zatox

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.