Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Manip de fichiers [ Archives / Fichier / Disque ] (Zan)

jeudi 2 décembre 2004 à 12:16:12 | Manip de fichiers

Zan

bonjour,

existe-t-il une bibliotheque de manipulation de fichier et de repertoire simple !

pour par exemple supprimer un repertoire du disque sans devoir supprimer son contenu avant ?

Zan

jeudi 2 décembre 2004 à 12:30:50 | Re : Manip de fichiers

JulioDelphi

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
pour effacer un dossier sans devoir supprimer son contenu :
http://diabloporc.free.fr/astuces.php#effacerdossier

sinon pour effacer un fichier deleteFile(), renommer renameFile(), verifier l'existance FileExists(), je crois ke c sysutils.pas qui contient ça, a confirmer !

ps : fait F1 sur une de ces fonctions, tu auras de l'aide sur les autres :)

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !

-------------------------------------------
[ Lien ] : mon site refait ! Delphi power !

jeudi 2 décembre 2004 à 12:31:56 | Re : Manip de fichiers

ni69

Membre Club
Réponse acceptée !
Renommer un fichier :
RenameFile('c:\MonFichier1.txt','c:\MonFichier2.txt');


Créer un répertoire dans un autre existant :
CreateDirectory('c:\MonRepertoire',nil);


Créer une arborescence de répertoires :
ForceDirectories('C:\MonRepertoire\SousDossier1\Sousdossier2');


Déplacer un repertoire et tous ses sous-répertoires :
MoveFileEx('c:\MonRepertoire\','a:\MonRepertoire',MoveFile_Copy_Allowed);


Déplacer un fichier :
MoveFile('c:\MonRepertoire.txt','a:\MonRepertoire.txt');


Supprimer un fichier :
DeleteFile('c:\MonFichier.txt');


Tester l'existance d'un fichier :
if FileExists('c:\MonFichier.txt') then
ShowMessage('Ce fichier existe')
else
ShowMessage('Ce fichier n''existe pas');


Tester l'existance d'un répertoire:
if DirectoryExists('c:\MonFichier.txt') then
ShowMessage('Ce dossier existe')
else
ShowMessage('Ce dossier n''existe pas');


Copier un fichier :
CopyFile('c:\MonFichier1.txt','c:\MonFichier2.txt',true);


Cacher dossier :
setfileattributes('C:\MonRepertoire',FILE_ATTRIBUTE_HIDDEN);


Réafficher dossier :
setfileattributes('C:\MonRepertoire',FILE_ATTRIBUTE_NORMAL);


Supprimer un répertoire plein (supprime tous les fichiers les uns après les autres et ensuite supprime le répertoire vide) :
var
Dir: TSearchRec;
a : Integer;
begin
a := FindFirst('C:\MonRepertoire\*.*', FaAnyfile, Dir);
while a = 0 do
begin
if ((Dir.Attr and FaDirectory <> FaDirectory) and (Dir.Attr and FaVolumeId <> FaVolumeID)) then
if DeleteFile(pChar('C:\repertoire' + Dir.Name))= false then
ShowMessage('Destruction impossible');
a := FindNext(Dir);
end;
SysUtils.FindClose(Dir);
if RemoveDirectory('C:\repertoire') = false then ShowMessage('Destruction impossible');
end;


Voilà...

@+
Bonne Prog'
Nico

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !

jeudi 2 décembre 2004 à 12:34:18 | Re : Manip de fichiers

ni69

Membre Club
Dsl j'ai fait une erreur... Pour tester l'existance d'un répertoire:
if DirectoryExists('c:\MonRepertoire') then
ShowMessage('Ce dossier existe')
else
ShowMessage('Ce dossier n''existe pas');


Voilà c'est corrigé !

@+
Bonne Prog'
Nico

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !

jeudi 2 décembre 2004 à 12:39:29 | Re : Manip de fichiers

JulioDelphi

Membre Club Administrateur CodeS-SourceS
ni69 : regarde mon code pour supprimer un dossier non vide :p

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !

-------------------------------------------
[ Lien ] : mon site refait ! Delphi power !

jeudi 2 décembre 2004 à 12:43:05 | Re : Manip de fichiers

ni69

Membre Club
Effectivement, c'est beaucoup plus pratique !
Merci !

@+
Bonne Prog'
Nico

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !

jeudi 2 décembre 2004 à 13:27:06 | Re : Manip de fichiers

DRJEROME

si tu veux effacer un dossier plein sans faire une boucle, on peut le faire en une ligne de code :

admettons que ton dossier s'appelle "TRUC" situé dans C:\TRUC


if DirectoryExists('C:\TRUC') then ShellExecute(Handle,'open','cmd.exe','/C RMDIR/Q/S C:\TRUC',0,SW_HIDE);


n'oublie pas de mettre Shellapi dans tes uses

ça effacera tous les sous-dossiers sans faire une boucle FindFirst /FindNext

Ce code marche bien du moment qu'aucun fichier de celui -ci n'est en cours d'utilisation (idem pour le code de nino69)

DrJerome

jeudi 2 décembre 2004 à 13:58:37 | Re : Manip de fichiers

Zan

quel rapidité de reponse !
merci merci ^^

Zan

jeudi 2 décembre 2004 à 15:45:59 | Re : Manip de fichiers

JulioDelphi

Membre Club Administrateur CodeS-SourceS
DRJEROME et si l'utilisateur est sous win 98, il n'auras pas cmd.exe mais command.com, et si il n'a pas les droits pour executer une commande DOS, il l'a dans l'OS (pas operating system hein, un os lol)
donc, sans faire de boucle, look at my code :p

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !

-------------------------------------------
[ Lien ] : mon site refait ! Delphi power !

jeudi 2 décembre 2004 à 16:16:55 | Re : Manip de fichiers

DRJEROME

JulioDelphi, tu as oublié de citer l'auteur : Thomas Davenport (entre-autre, qui lui même l'a pompé dans un autre langage), il vaut mieux citer les références...

Maintenant, tu fais un dossier avec des sous-dossiers (que tu appelle comme tu veux). Tu mets dans un des sous-dossiers un fichier word (càd .doc), par exemple. tu l'ouvre pour qu'il soit en mode utilisation, essaie la fameuse fonction que tu as plagiée et... surprise... tu ne peux pas effacer les dossiers en amont il faut fermer le dossier word et recommencer l'opération.

Si tu veux faire quelque chose de personnel , essaie de réglér ce problème et tu auras tous les honneurs (si tu y arrives sans boucle, chapeau)


1 2

Cette discussion est classé dans : fichiers, supprimer, repertoire, manip


Répondre à ce message

Sujets en rapport avec ce message

beaucoups de question [ par snakefinger ] salut ,voici mes question:1)comment supprimer un repertoire de windows qui contient des fichiers(*.tmp etc..) car j'arrive a supprimer q'un repertoire beaucoups de question [ par snakefinger ] salut ,voici mes question:1)comment supprimer un repertoire de windows qui contient des fichiers(*.tmp etc..) car j'arrive a supprimer q'un repertoire Selection de fichiers aleatoire [ par manu00 ] Bonjour,j'ai un petit soucis pour me mettre les idées au clair...Je ne vois pas trop comment faire pour lister tout les fichiers d'un certain type (ic Compter les fichiers d un repertoire [ par MoveX ] procedure TForm1.ShellTreeView1Change(Sender: TObject; Node: TTreeNode);var Info: TSearchRec; Nombre: Integer;begin nombre:= 0; if FindFirst(Shell systeme de fichiers [ par Zan ] bonjour,existe-t-il une bibliotheques de fonction concernant la gestion des fichiers et repertoires ?qui permettrait, par exemple, de supprimer un rep suppressionde repertoire et fichier [ par drakaon ] salutje cherche à réaliser une fenêtre qui sur un click bouton supprime le repertoire selectionner par un TDirectoryListBox et les fichiers présent da Liste des fichiers d'un repertoire [ par fallen angels ] Bonjour à tous,J'ai installé Delphi 6 il y 2 jours pour enfin (essayer) de développer des petits softs et ca commence mal ;o)J'ai quand même compris c Comment delete des fichiers d'un dossier systeme [ par BenXbox ] Salut à tous,Voila j'ai essayer de supprimer manuellement le dossier Cookies de ma session Xp, et il m'affiche un message comme quoi je ne peut pas su Faire une copy d'un repertoire à un autre... [ par jennybless ] Salut? J'ai écrit ces codes afin de faire une copie des fichiers se trouvant dans un repertoire. Sur mon form, j'ai un Barchar et un Tbutton. Je les supprimer des *.tmp [ par snakefinger ] salut:1)je voudrais savoir comment effacer des fichiers telque *.tmp,*.old2)kel sont les autres fichiers inutile qu'il faut supprimer a part les *.old


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 7,706 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.