aforpien
Messages postés118Date d'inscriptionlundi 6 novembre 2000StatutMembreDernière intervention12 mai 2010
-
7 févr. 2007 à 17:14
aforpien
Messages postés118Date d'inscriptionlundi 6 novembre 2000StatutMembreDernière intervention12 mai 2010
-
11 févr. 2007 à 14:55
Bonjour à tous,
Je travail en ce moment sur la réalisation d'un prog permettant le transfert automatique, via le protocol ftp, d'une arborescence de répertoire. Je me suis inspiré d'un code que j'ai trouvé sur le net, et j'ai essayé de le modifier. Mon prog fonctionne, le seul problème est qu'il ne copie pas les sous-répertoires...Je cherche désepérément depuis deux jours et je pense ne pas être loin de la solution, ou peut-être en fait...:p
Pouvez-vous m'aidez s'il vous plait ? Je fai ce prog dans le cadre de mon bts en alternance, afin de préparer mon logiciel comme projet l'année prochaine.
Voici le code que j'utilise :
Procedure ScruteFichier(Dossier:string;filtre:string;Attributs:integer; eff:boolean);
var FichierTrouve:string;
Resultat:Integer;
SearchRec:TSearchRec;
begin
If Dossier[length(Dossier)]='\' then Dossier:=copy(Dossier,1,length(Dossier)-1);
Resultat:=FindFirst(Dossier+'\'+filtre,Attributs,SearchRec);
while Resultat=0 do
begin
Application.ProcessMessages;
if ((SearchRec.Attr and faDirectory)<=0)
then
begin
FichierTrouve:=Dossier+'\'+SearchRec.Name;
UpLoadFile ( FichierTrouve, ExtractFileName(FichierTrouve) );
Procedure ScruteDossier(Dossier:string;filtre:string;attributs:integer;recursif:boolean);
var DossierTrouve:string;
Resultat:Integer;
SearchRec:TSearchRec;
chemin:string;
begin
begin
Resultat:=FindFirst(Dossier+'\'+'*.*',FaDirectory,SearchRec);
while Resultat=0 do
begin
if (SearchRec.Name<>'.') and (SearchRec.Name<>'..')
and ((SearchRec.Attr and faDirectory)>0)then
begin
ScruteFichier(Dossier,filtre,attributs,true);
DossierTrouve:=Dossier+'\'+SearchRec.Name;
FtpCreateDirectory( PConnexionFTP, PChar( SearchRec.Name ) );
EntrerDansRepertoire(SearchRec.Name);
ScruteFichier(Dossier+'\'+SearchRec.Name,filtre,attributs,true);
Entrerdansrepertoire('..');
if recursif then
Application.ProcessMessages;
end;
Resultat:=FindNext(SearchRec);
ExtractBeforeFolder( Dossier );
end;
end;
FindClose(SearchRec);
end;
Pour appeler la procédure :
ScruteDossier('d:\save\'+username,'*.*',attributs,false);
aforpien
Messages postés118Date d'inscriptionlundi 6 novembre 2000StatutMembreDernière intervention12 mai 2010 11 févr. 2007 à 14:55
JulioDelphi, je te remerci. Cela dit j'aurais bien voulu savoir ce qui ne va pas dans mon code, car j'ai essayé de le comparer avec celui que tu m'a donné mais il est un peu complexe, et ya po de commentaires...je pense que pour tous les programmeurs ki touchent un peu ca doit être un code simple(enfin je pense) mais je galère un peu...pourrais-tu me donner un ptit coup de pouce stp ?