begin process at 2010 02 10 10:24:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

Fichier / Disque

 > 

Manip de fichiers


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Manip de fichiers

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ée 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

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales