begin process at 2010 02 09 22:02:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

Fichier / Disque

 > 

FICHIERS ET REPERTOIRES


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

FICHIERS ET REPERTOIRES

mercredi 26 avril 2006 à 23:31:59 | FICHIERS ET REPERTOIRES

ittenamor067

J' essaie de faire un programme a besoin de copier des fichiers ou des repertoires contenants d autres repertoires, pour les fichiers c'est bon mais je seche sur les repertoires, de l'aide serait bienvenue !

jeudi 27 avril 2006 à 03:05:40 | Re : FICHIERS ET REPERTOIRES

f0xi

Membre Club Administrateur CodeS-SourceS
en cherchant pas trop loin, on pourrais simplement faire un shellexecute sur les commandes systeme COPY et MOVE

bien entendus, il existe des moyens plus adequate, il te suffit de faire une petite recherche sur le forum et dans les codes sources, choses que tu n'a pas du faire.


jeudi 27 avril 2006 à 08:51:27 | Re : FICHIERS ET REPERTOIRES

Matt 261

Membre Club
Comme f0xi l'a dit, sur le forum tu aurais surement trouvé la solution à ton problème. Enfin un petit bonjour est toujour plus sympa...






La paresse est la mère du génie...
samedi 29 avril 2006 à 11:10:04 | Re : FICHIERS ET REPERTOIRES

elguevel

Si tu sais copier un fichier alors tu peux combiner çà avec les fonctions recursive FindFirst, FindNext.

Je n'ai pas Delphi sous la main donc j'ai pas pu te faire la fonction, mais j'ai repris un bout de code de ma source http://www.delphifr.com/codes/NETTOYEUR-FICHIERS_32817.aspx et j'te l'ai modifier un peu au NotePad, donc dsl si c pas parfait mais avec çà tu pourra faire ton système :


procedure ElgCopieFichiers( NomDossier : string );
var 
    hFind : TSearchRec;
begin 
 
  // IncludeTrainingBackSlach()  : cherche cette fonction dans l'aide
  // delphi car je ne sais plus comment elle s'ecrit

    NomDossier := IncludeTrainingBackSlach(NomDossier);
 
    if FindFirst( NomDossier + '*.*', FaAnyFile, hFind ) = 0 then
    begin
    
        repeat
 
            if (hFind.Name <> '.') and (hFind.Name <> '..') then
            begin
 
                if ( hFind.Attr and faDirectory ) <> faDirectory then { c'est un fichier = copie }
                begin
 
   // ici tu fait ta copie
                        // Nom du fichier source etant : NomDossier + hFind.Name
               end
               else
               begin
  
                // là tu crée ton repertoire destination
                // ici à toi de géré la varaible "RepertoireDestination " qui peut etre C:

                MakeDirectory( RepertoireDestination + hFind.Name )
   
                // Et  un peu de recursivité, ce qui nous permet
                // d'aller copier ensuite les fichier qui sont dedans
               ElgCopieFichiers( IncludeTrainingBackSlach(NomDossier) + hFind.Name );
 
              end;
           end; 
  
        until FindNext(hFind) <> 0;
 
        FindClose(hFind);
        Application.ProcessMessages
 
    end;
 
end;


Donc en gros tu donne le chemin de depart, si c'est un fichier çà le copie, si c'est un dossier çà le crée dans la destination, et ensuite çà va dans le repertoire trouver par recursivité et çà recommence.

Je te conseille plutot cete methode que celle de fOxi.
Et je suis d'ailleur surpris que fOxy te donne un conseil comme celui-là, car son niveau merite mieux que d'utiliser cette methode Sale qu'est l'appel au ShellExecute !!!

PS : N'utiliser pas ShellExecute pour appeler des commandes DOS... c'est CRADEEE !!!

Voila, si ta des soucis, demande, j'essayerai de voir ce que je peux faire, mais pas avant Mardi.

Bon Week End, ++

lundi 1 mai 2006 à 19:14:48 | Re : FICHIERS ET REPERTOIRES

f0xi

Membre Club Administrateur CodeS-SourceS
non elguevel tu as mal compris la reponse que j'ai faite.

comme apparement notre amis est un debutant, il faut d'abord lui montrer ce qu'il ne faut pas faire ...
et aussi qu'il cherche de part lui meme sur les codes car je sais que de nombreux codes possedent  de trés interressante routines de ce types.

donc comme je n'avais pas envie d'approfondir, ma reponse fut celle-ci.


mardi 2 mai 2006 à 03:48:10 | Re : FICHIERS ET REPERTOIRES

ittenamor067

Salut,

Merci beaucoup pour ta réponse, je teste tout ça demain et je tiens au courant des résultats.

Dom

mardi 2 mai 2006 à 03:50:40 | Re : FICHIERS ET REPERTOIRES

ittenamor067

Salut,

On m a justement déconseillé de faire avec des commandes DOS et sur le forum, j'ai trouvé pleins de choses utiles pour les fichiers mais pas sur les répertoires.

Merci pour ta réponse tout de même.

Dom
mardi 2 mai 2006 à 03:53:21 | Re : FICHIERS ET REPERTOIRES

ittenamor067

Salut,

Autant pour moi pour le bonjour !!!

J'ai tout de même fouillé le forum avant de faire cette demande, et comme j'ai répondu a FOxi, je n'ai trouvé desz infos que sur les répertoires !

Merci pour ta réponse tout de même !

Dom.
mardi 2 mai 2006 à 09:19:53 | Re : FICHIERS ET REPERTOIRES

elguevel

Désolé foXi pour avoir douté :-D Sinon pour la copie de fichier si tu veux quelque chose de mieux, j'avais utiliser çà dans une des mes applis. C'est de l'API windows. // çà c'est pour copier ton fichier : CopyFileEx( PChar( IncludeTrailingPathDelimiter(ExtractFilePath(Source)) + hFind.Name ), PChar(IncludeTrailingPathDelimiter(Destination) + hFind.Name), @CopyCallBack, ProgressB, @Retour, 0 ); // Et çà c'est la fonction qui va avec. { Affichage progressBar } function CopyCallBack( TotalFileSize: LARGE_INTEGER; TotalBytesTransferred: LARGE_INTEGER; StreamSize: LARGE_INTEGER; StreamBytesTransferred: LARGE_INTEGER; dwStreamNumber: DWord; dwCallbackReason: DWord; hSourceFile: THandle; hDestinationFile: THandle; ProgressBar : TProgressBar ) : DWORD; stdcall; begin if dwCallbackReason = CALLBACK_STREAM_SWITCH then TProgressBar(ProgressBar).Max := TotalFileSize.QuadPart; TProgressBar(ProgressBar).Position := TotalBytesTransferred.QuadPart; Result := PROGRESS_CONTINUE; end; Cà permet de copier des fichiers et de pouvoir afficher une progressBar via une fonction CallBack. Aller Bon Cod',++


Cette discussion est classée dans : repertoires, fichiers


Répondre à ce message

Sujets en rapport avec ce message

Deplacer repertoires/fichiers avec condition [ par michelroc ] Bonjour,En Delphi ou autre eventuellementEst-il possible d'empecher avec l'explorateur de deplacer des repertoires ou fichiersou obliger la commande d Jouer des fichiers XM? [ par abdousoft ] Salut Est que quelqu'un peut m'aider pour jouer un fichier XM en delphi?Comment travailler avec ces fichier sous delphi?remarque: j'ai trouver un co problème avec une source [ par Maniaxman ] http://www.delphifr.com/infomsg.aspx?ajout=1 bonjour, sur la source ci-dessus j'ai vu qu'il était possible de lister les fichiers ouverts par l'ordi fichiers [ par eleve123 ] Bonjour,encore je pose la même question, je cherche un exemple (code ou application) d'un fichier à accès direct, j'ai dèja regardeé l'exemple "Gestio Recherche Enssemble de Fichiers [ par H4MZA ] COMMENT JE PEUT FAIRE UNE RECHERCHE AU FICHIER QUI COMMENCE PAR EXEMPLE LA LETTRE A ET LES SUPPRIMER OU RECHERCHE UNE EXTENTION PAR EXEMPLE .PRG ^^ScR Histoire de fichier zip [ par florenth ] Salut à tous !Après les exams, un peu de coding ne fait pas de mal, non ?Bon.Alors, parlons de fichiers zip. Imaginez que vous avez une belle archive compression ZIP avec Abbrevia [ par gabs77 ] Bonjour, comme le sujet l'indique j'utilise abbrevia pour compresser un ensemble de fichiers et répertoires en fichiers .ZIP.dont voici le code :    F Transférer des fichiers... [ par korantin270 ] Salut à tous,J'ai créé un programme en delphi, qui doit - entre autre - transférer des fichiers.Le problème, c'est que (étant débutant en delphi) malg Lecteur média [ par cincap ] Bonjour à toutes et à tous,Quelqu'un saurait t'il me dire pourquoi avec tous les exemples de lecteur média sur Cs, aucun ne lit les fichiers *.avi cré Temporary internet files [ par pablor ] Bonjour,alors voilà mon problème est que je voudrais lister les fichiers présents dans le dossier "temporary internet files" qui contient donc les fic


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,328 sec (4)

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