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
- | - | - | - | - | - | - | - | - |