cs_zatox
Messages postés79Date d'inscriptionlundi 5 novembre 2007StatutMembreDernière intervention24 octobre 2017
-
15 août 2008 à 19:58
cs_zatox
Messages postés79Date d'inscriptionlundi 5 novembre 2007StatutMembreDernière intervention24 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
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20083 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)
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20083 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.
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_zatox
Messages postés79Date d'inscriptionlundi 5 novembre 2007StatutMembreDernière intervention24 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
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 )
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20083 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)
cs_zatox
Messages postés79Date d'inscriptionlundi 5 novembre 2007StatutMembreDernière intervention24 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 +
cs_zatox
Messages postés79Date d'inscriptionlundi 5 novembre 2007StatutMembreDernière intervention24 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.
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20083 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 !)
cs_zatox
Messages postés79Date d'inscriptionlundi 5 novembre 2007StatutMembreDernière intervention24 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
cs_zatox
Messages postés79Date d'inscriptionlundi 5 novembre 2007StatutMembreDernière intervention24 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