Page 1 sur 1

[R] Vérification fonctionnement lecteur réseaux

Posté : mer. 26 nov. 2014 09:58
par jcaspar
B :D onjour à tous !

J'ai un petit script qui teste le fonctionnement des lecteurs réseaux et les réinitialise en cas de besoin
je souhaiterais qu'au lieu d'avoir trois msgbox distinctes avoir une boite
regroupant toutes les informations... puis regrouper les infos dans une msgbox
ou devrais je passer par une gui pour y parvenir ? Peut être avez vous des idées pour améliorer le script ?

En vous remerciant pour vos conseils

Jean-Marc




► Afficher le texte

Re: [..] Vérification fonctionnement lecteur réseaux

Posté : mer. 26 nov. 2014 10:08
par Y01
Salut,

Essaie ça :

Code : Tout sélectionner

MsgBox(64,"Statut des lecteurs" , "Statut du lecteur P"&@CRLF&DriveStatus("p:\") &@CRLF& "Statut du lecteur B" &@CRLF& DriveStatus("B:\")&@CRLF& "Statut du lecteur H" &@CRLF& DriveStatus("H:\"))

Re: [..] Vérification fonctionnement lecteur réseaux

Posté : mer. 26 nov. 2014 10:09
par DimVar
Bonjour,

Dans votre fonction erreur, j'aurais plutôt rempli une variable en concaténant les messages d'erreur, plutôt que des msgbox.
Et dans votre script, une msgbox qui affiche la variable.

Cdlt.

Re: [..] Vérification fonctionnement lecteur réseaux

Posté : mer. 26 nov. 2014 10:18
par jguinch
Sinon, la balise Spoiler se place AVANT la balise Code.
Merci de modifier.

Re: [..] Vérification fonctionnement lecteur réseaux

Posté : mer. 26 nov. 2014 10:58
par jcaspar
M :D erci à tous pour vos conseils !

J'ai bien modifier le spoiler comme demandé par le modérateur. :wink:

Effectivement la concaténation serait intéressante pour disposer d'un message global et
non d'un message par lecteur ....mais dans l'état chaque lecteur crée potentiellement une erreur distincte
par un appel distinct de la fonction erreur....il faudrait donc que chaque appel de la fonction
enrichisse une variable $erreur mais là je ne vois pas trop comment m'y prendre...


Pour ma compréhension ... j'aurais besoin d'un éclaircissement

La fonction DriveMapAdd retourne 1 si elle c'est bien déroulée et 0 si elle ne c'est pas bien déroulée
je présume que les erreurs sont des informations supplémentaires distinctes .... ( cela ne signifie pas que
Drivemapp add retourne 0,1,2,3,4,5,6 mais ajoute une information de retour si la valeur de retour initiale est 0
ma compréhension est elle exacte ?

En vous remerciant pour vos explications

Jean-Marc

Re: [..] Vérification fonctionnement lecteur réseaux

Posté : mer. 26 nov. 2014 12:05
par DimVar
Vous pouvez récupérer le status de @error si le return code est différent de 1.
Et donc incrémenter une variable $erreur avec le code retour de @error et renseigner le message approprié.

Cdlt, Dimvar.

Re: [..] Vérification fonctionnement lecteur réseaux

Posté : mer. 26 nov. 2014 13:22
par DimVar
Une solution envisageable (que je n'ai pas testé):

Code : Tout sélectionner

Local $aLecteur[4], $Error = ""
Local $aShare[4], $Return

$aLecteur[0] = 3
$aLecteur[1] = "P:"
$aLecteur[2] = "B:"
$aLecteur[3] = "H:"

$aShare[0] = 3
$aShare[0] = "\\xxxx\commun$"
$aShare[0] = "\\xxxx\poles$"
$aShare[0] = "\\xxxx\utilisateurs$"


For $i = 1 To $aLecteur[0]
    $Return = DriveMapAdd($aLecteur[$i], $aShare[$i])
    If $Return <> 1 Then
        If @error =1 Then $Error=$Error&"Erreur sur lecteur "&$aLecteur[$i]&@CRLF&"Non défini"&@CRLF&@CRLF
        If @error =2 Then $Error=$Error&"Erreur sur lecteur "&$aLecteur[$i]&@CRLF&"Accès au partage refusé"&@CRLF&@CRLF
        If @error =3 Then $Error=$Error&"Erreur sur lecteur "&$aLecteur[$i]&@CRLF&"Partage existant"&@CRLF&@CRLF
        If @error =4 Then $Error=$Error&"Erreur sur lecteur "&$aLecteur[$i]&@CRLF&"Nom de partage incorrect"&@CRLF&@CRLF
        If @error =5 Then $Error=$Error&"Erreur sur lecteur "&$aLecteur[$i]&@CRLF&"Partage non valide"&@CRLF&@CRLF
        If @error =6 Then $Error=$Error&"Erreur sur lecteur "&$aLecteur[$i]&@CRLF&"Mot de passe incorrect"&@CRLF&@CRLF
    EndIf
Next

Exit 
 

Re: [..] Vérification fonctionnement lecteur réseaux

Posté : mer. 26 nov. 2014 16:10
par jcaspar
M :D erci beaucoup pour les explications et ce code conceptuellement très beau !

Jean-Marc

Re: [R] Vérification fonctionnement lecteur réseaux

Posté : mer. 26 nov. 2014 16:55
par DimVar
Je vous en prie.
Le retour de la commande DriveMapAdd retourne 1 si succes et 0 en cas d'echec.
C'est la macro @error qui retourne les différents type d'erreur. (comme précisé dans la doc)

Cdlt.
Dimvar.