Réseau

Résolu
cs_cmora Messages postés 34 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 10 juin 2005 - 13 mai 2005 à 11:38
cs_cmora Messages postés 34 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 10 juin 2005 - 13 mai 2005 à 16:43
Je fais une application qui va chercher des fichiers sur le réseau pour les installer.
si aucours de l'installation, le réseau tombe, jaimerais afficher un message indiquant qu'il n'y a plus de réseau.
je pensais passer par un timer qui verifirait toutes les 2 secondes si le fichier existe avecla fonction trouvée sur vbfrance :

Public Function IsExist(file As String) As Boolean
Dim FileInfo
'initialisation
IsExist = True
On Error Resume Next
'instruction sur le fichier on s'occupe pas du résultat
'ce qui nous interesse c'est la gestion d'erreur
FileInfo = FileDateTime(file)
Select Case Err
Case 53, 76, 68 'le fichier n'existe pas
IsExist = False
Err = 0
Case Else
If Err <> 0 Then MsgBox "Erreur inconnue Détectée:" + vbCrLf + " " + Err, vbOKOnly + vbExclamation, "Erreur Inconue"
End Select
End Function

Le problème est que même quand je débrance le cable réseau, il trouve le fichier ??!

Avez vous une autre technique pour vérifier que le cable réseau est débranché et qu'il ny a plus de reseau, ou pour verifier qun fichier existe ou non même quand le reseau tombe en pleine utilisation?

merci davance

3 réponses

BasicInstinct Messages postés 1470 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 12
13 mai 2005 à 15:29
'lut

essaie avec les api

Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long

renvoie Vrai si le fichier existe
Faux sinon

++

BasicInstinct
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
13 mai 2005 à 15:58
Si, une fois le réseau coupé, il te dit encore que le fichier est là, c'est qu'il questionne le buffer et ne repose pas la question au matériel.
Tu peux utiliser le FileSystemObject (FSO) qui a une fonction .IsReady sur un Drive, qui te renvoie True ou False :
Mettre le fichier System32\SCRRUN.DLL dans les préférences (menu Projet, Préférence)

Dim Sys As Object, Bureautique As Object
Set Sys = CreateObject("Scripting.FileSystemObject")
Set Bureautique = Sys.GetDrive("N:")
If Not Bureautique.IsReady Then MsgBox "Serveur inaccessible"

Bien sûr, les 3 1ere lignes auraient avantage à être placée dans un Module et définie qu'une seule fois pour tout le projet.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
3
cs_cmora Messages postés 34 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 10 juin 2005 1
13 mai 2005 à 16:43
merci beaucoup !! tout marche maintenant !
0
Rejoignez-nous