Tfileop/textfileop, composant visuel pour copier, deplacer, effacer les fichiers/repertoires

Soyez le premier à donner votre avis sur cette source.

Vue 9 246 fois - Téléchargée 1 188 fois


Description

TFileOp est la classe de base de TExtFileOp.

TFileOp permet une manipulation facile des fichiers/repertoires, basé sur la fonction SHFileOperation de l'unité ShellApi.
Copier, Deplacer, Effacer et Renomer les fichiers ou des repertoires et leurs sous-repertoires ne serat plus un probleme et
vous perdrez moins de temps a developper ce genre de routines.

Vous pouvez installer ExtFileOp via l'installation de composant de delphi pour voir apparaitre la classe TExtFileOp dans la palette
Extend Delphi.
ou l'utiliser en standalone dans vos projets en invalidant la directive de compilation {$DEFINE RegTExtFileOp}.

vous avez egalement accés a 4 fonctions rapide qui se chargeront de créer et liberer un composant TFileOp,
ces fonctions sont :

FastFileOp, FastCopy, FastMove et FastDelete.

vous devez preciser quelques parametres a ces fonctions tel que la fiche principale, la liste des fichiers (TStrings), le repertoire de destination,
les options ...

l'utilisation du composant TFileOp / TExtFileOp est simple, deposez le composant (TExtFileOp) sur votre fiche principale ou créer le dynamiquement (TFileOp) definissez les parametres, la listes des fichiers ect et appelez tout simplement la fonction "Execute" du composant.
Des evenements sont egalement present pour suivre chaque etapes de la fonction "execute".

Source / Exemple :


{exemple d'utilisation en dynamique }

procedure TForm1.Button1Click(Sender : TObject);
begin
  with TFileOp.Create(Self) do
       try
         Files.Assign(OpenDialog1.Files);
         Destination   := Edit1.Text;
         FileOperation := fcCopy;
         Title         := 'Copie des fichiers';
         Execute;
       finally
         Free;
       end;
end;

{ ou avec les fonctions Fast*** }

procedure TForm1.Button1Click(Sender : TObject);
begin
  FastCopy(Self, OpenDialog1.Files, Edit1.Text);
end;

Conclusion :


version final release 1, commentée.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

thonyboy
Messages postés
166
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
16 février 2011
-
Oui ca semble super utile. Merci pour le Taf.
Cependant je n'arrive pas a l'utiliser... (Installation en local)

Je veux copier tous les fichiers et sous répertoires de c:\toto dans d:\titi
Pour cela j'ai deux string : StrSource et StrDest

En reprenant l'exemple cela me donne :
try
Files.Assign(StrSource); <<<< C'est la que je bloque !
Destination := StrDest;
FileOperation := fcCopy;
Title := 'Copie des fichiers';
Execute;
finally
Free;
end;

Si quelqu'un pouvait m'aider...
f0xi
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
26 -
ha ...

j'ai pas tester l'install dans la palette, tout me semblais pourtant correct.
je vais regarder pourquoi et mettre a jours...

qq minutes plus tard :

ok je viens de comprendre, quand un fichier DCR porte le meme nom que l'unitée et est placé dans le meme repertoire que cette derniere il est pris en compte automatiquement l'ors de l'ajout a un paquet d'installation ...
j'ai reparer le probleme en placant directement le fichier dcr dans le repertoire RC la ou il devrait se trouver logiquement en fait.
sylvunix
Messages postés
103
Date d'inscription
mardi 11 avril 2006
Statut
Membre
Dernière intervention
4 mars 2009
-
Bonsoir f0xi,

Je teste actuellement ton composant. Il y a un point qui me prend la tête et je ne comprend pas tout. Lorsque je compile ton composant, j'ai l'erreur suivante (sous Delphi 7):

[Erreur]WARNING. Duplicate ressource(s):
[Erreur] Type 2 (BITMAP), ID TEXTFILEOP:
[Erreur] File ...\ExtFileOp.dcr resource kept, ...\ExpFileOp.dcr resource discarded

Je suis obligé de mettre en commentaires les lignes suivantes pour que cela passe :

{$IFDEF RegTExtFileOp}
{$R ExtFileOp.dcr}
{$ENDIF}

Je dois peut-être m'y prendre comme un manche à balai !
f0xi
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
26 -
bah ça evitera pas les questions ...

mais au moins y'a un truc qui peu etre utile a ceux qui cherche :)

ps : je viens de passer une heure a retranscrire l'api Kernel32 en delphi ... le truc ... c'est que c'est deja fait dans l'unité windows .. X$ .. la honte.
cs_Loda
Messages postés
900
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
30 juillet 2009
3 -
salut,

ça m'as l'air vachement pratique tout ça. hop, de côté.

Je me demandais si t'en avait mare d'avoir les même questions sur le forum? :)

en tout cas, merci pour cette lib.

A+

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.