1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
// *** partie connecter lecteur réseau ***
Function TForm2.ConnecteLecteurReseauTest (Lecteur,Chemin,User,MotPasse:String):Boolean;
Var LocalNameAZT :Array[0..79]Of Char;
RemoteNameAZT :Array[0..80]Of Char;
Longueur :Cardinal;
Retour :Integer;
Begin
// Recherche du chemin existant si existant
Longueur:=80;
Retour:=WNetGetConnection(StrPCopy(LocalNameAZT,Lecteur),RemoteNameAZT,Longueur);
If Retour=NO_ERROR
Then Begin // Lecteur déjà défini
If UpperCase(StrPas(RemoteNameAZT))=UpperCase(Chemin)
Then Begin // Lecteur déjà existant
Result:=True;
End
Else Begin // Lecteur exitant mais chemin incorrect
Retour:=WNetCancelConnection2(StrPCopy(LocalNameAZT,Lecteur),CONNECT_UPDATE_PROFILE,False);
If Retour=NO_ERROR
Then Begin // Deconnection du précédent lecteur OK => Connection du nouveau
Result:=ConnecteLecteurReseau(Lecteur,Chemin,User,MotPasse);
End
Else Begin
AffErreurLecteur(Retour);
Result:=False;
End;
End;
End
Else Begin
If Retour=ERROR_NOT_CONNECTED
Then Begin // Lecteur non connecté => Connection du nouveau
Result:=ConnecteLecteurReseau(Lecteur,Chemin,User,MotPasse);
End
Else Begin
AffErreurLecteur(Retour);
Result:=False;
End;
End;
End; |
Partager