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.
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...
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.
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 !
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.
ç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.