Rappel ChangerRepertoireCourant(NomRepertoire : Caractere);
Le paramètre NomRepertoire est le nom du répertoire demandé qui peut être absolu ou relatif.
La valeur de retour doit suivre la convention de fonctionnement de l'énuméré RappelReponse.
Cette méthode de rappel correspond à la réception de la commande CWD du protocole File Transfer Protocol (FTP).
/****************************************************************/
Rappel ClientFtp.ChangerRepertoireCourant(NomRepertoire : Caractere)
/* Objet : Change de répertoire courant. */
/****************************************************************/
Variable
/******/
   MonClient : MonClientFtp;
   Position : Entier;
   Position2 : Entier;
   NomRepertoire2 : Caractere;
   NomRepertoire3 : Caractere;
Debut
MonClient=MonClientFtp(LireExtension("AppFts"));
Si ActiverJournal Alors
   EcrireJournal(MonClient, "ChangerRepertoireCourant("+NomRepertoire+")");
Fin Si
NomRepertoire2=NomRepertoire;
Si NomRepertoire2.Gauche(1)=="/" Alors
   MonClient.RepertoireCourant="/";
   NomRepertoire2=NomRepertoire2.Droite(NomRepertoire2.Longueur()-1);
Fin Si
TantQue Position!=-1 Faire
   Position=NomRepertoire2.Rechercher("/");
   Si Position==-1 Alors
   
      NomRepertoire3=NomRepertoire2;
   
Sinon
      NomRepertoire3=NomRepertoire2.Gauche(Position);
      NomRepertoire2=NomRepertoire2.Droite(NomRepertoire2.Longueur()-(Position+1));
   
Fin Si
   Si NomRepertoire3!="." Alors
   
      Si NomRepertoire3==".." Alors
      
         Si MonClient.RepertoireCourant=="/" Alors
         
            Retourner RappelEchecFonctionnel;
         
Fin Si
         Pour Position2=MonClient.RepertoireCourant.Longueur()-1 JusquA 0 Faire
         
            Si MonClient.RepertoireCourant.Milieu(Position2,1)=="/" Alors
            
               Arreter;
            
Fin Si
Fin Pour
         MonClient.RepertoireCourant=MonClient.RepertoireCourant.Gauche(Position2+1);
      
Sinon
         NomRepertoire3=MonClient.RepertoireCourant+NomRepertoire3;
         Si UpsSys.IlExisteRepertoire(MaPartition+NomRepertoire3) Alors
         
            MonClient.RepertoireCourant=NomRepertoire3+"/";
         
Sinon
            Retourner RappelEchecFonctionnel;
         
Fin Si
Fin Si
Fin Si
Fin TantQue
Retourner RappelSucces;
Fin Rappel
| - | - | - | - | - | - | - | - | - |