Bonjour,
Je cherche à tester si un fichier est utilisé dans mon code en VB.net :
Bonjour,
Je cherche à tester si un fichier est utilisé dans mon code en VB.net :
Bonjour,
Il faut chercher à l'ouvrir en mode exclusif. Si il est en cours d'utilisation, il y aura une exception??
Justement je ne veux pas d'exception
Je veux savoir si le fichier est déjà ouvert avant de l'ouvrir.
tu fais comme ça :Envoyé par f_abibi
le "resume next" ignore l'exception.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Function IsFileOpen(ByVal strFic As String) As Boolean Dim fic As Integer On Error Resume Next fic = FreeFile() Open strFic For Input Access Read Lock Read Write As fic If Err.Number = 0 Then IsFileOpen = False Close fic Else IsFileOpen = True End If End Function
Plus nombreux sont les problèmes auxquels on réfléchit , plus on risque de n'en comprendre aucun .
Pas de questions techniques en privé
Cette ligne me pose problème :
Open strFic For Input Access Read Lock Read Write As fic
C'est quoi le msg d'erreure?Envoyé par f_abibi
Plus nombreux sont les problèmes auxquels on réfléchit , plus on risque de n'en comprendre aucun .
Pas de questions techniques en privé
Elle n'est pas reconnu dans l'éditeur Visual Basic 2005
Ben justement c'est l'exception qui te permettra de savoir si le fichier est en cours d'utilisation, ceci en utilisant un bloc Try/CatchEnvoyé par f_abibi
A ma connaissance, il n'y a pas d'autres moyens de gérer celà.
Donc pour ton cas de figure, il suffit de te créer une méthode type
Bien sûr ici je n'ai pas traité toutes les autres exceptions possibles comme le fichier inexistant etc...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Imports System Imports System.IO '... Public Shared Function IsOpen(ByVal Filepath As String) As Boolean Dim result As Boolean = False Try 'tenter l'ouverture du fichier en mode exclusif 'fermer le fichier Catch ex As IOException result = True End Try Return result End Function
Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles
Le message c'est "Open n'est pas déclaré. La fonction d'E/S de fichier est disponible dans l'espace de noms 'Microsoft Visual Basic' "
heu karami, il est temps de te mettre au VB.NetEnvoyé par karami
Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles
Merci pour l'aide.
Je préfère le C#Envoyé par neguib
Plus nombreux sont les problèmes auxquels on réfléchit , plus on risque de n'en comprendre aucun .
Pas de questions techniques en privé
ok mais comme tu le vois mon exemple de code est facilement compréhensible pour traduire en C#, éviter au max d'utiliser inutilement la librairie spécifique Microsoft.VisualBasicEnvoyé par karami
Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles
Entendu
Plus nombreux sont les problèmes auxquels on réfléchit , plus on risque de n'en comprendre aucun .
Pas de questions techniques en privé
Re,
je suis un peu perdu là Tu as pris quoi comme code f_alibi alors?
Car le code de Karimi lui aussi génère une exception, sauf qu'il nécrit pas le try catch. En plus c'est beaucoup plus couteux en performance la gestion des erreurs façon VB6 (on error ...)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager