maxxyme
Messages postés16Date d'inscriptionlundi 15 décembre 2003StatutMembreDernière intervention 1 mai 2014
-
15 sept. 2006 à 15:10
maxxyme
Messages postés16Date d'inscriptionlundi 15 décembre 2003StatutMembreDernière intervention 1 mai 2014
-
15 sept. 2006 à 17:40
Bonjour,
Petite question concernant l'utilisation de la méthode Close() pour l'objet TextStream du FSO : comment connaître l'état du TextStream...? Je m'explique, voici le genre de code (simplifié) que je veux utiliser :
Dim oLogFile As TextStream, fso as New FileSystemObject
Set oLogFile = fso.OpenTextFile("C:\test.txt", ForReading)
' ... diverses opérations de lecture sur le fichier
Call oLogFile.Close
' ici oLogFile n'est plus utilisable...
' comment tester alors qu'il vient d'être fermé ?
' => un test avec Nothing ne donne rien, ni avec False, ni avec Null, ni avec Empty...!!!
Je suis perdu...
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 15 sept. 2006 à 16:58
Salut,
En théorie, tu es plutôt bien placer pour savoir si ton fichier est fermé ou pas...
Sinon, tu peux éventuellement mettre un booléen à True quand tu ouvre ton fichier et à False quand tu le ferme. De cette manière, tu n'aurais qu'à tester le booléen pour savoir si ton fichier est fermé.
Tu peux aussi traiter ça avec une gestion d'erreur, mais c'est un peu lourd :
On Error Goto Fermé
'Le code suivant génère une erreur si le fichier est fermé.
Call oLogFile.AtEndOfLine
MsgBox 'Fichier ouvert'
Exit Sub 'Ou Function, ça dépend d'ou c'est
Fermé :
MsgBox "Fichier fermé"
@+
<hr size="2" width="100%" />Je suis en deuxième année en école d'ingénieur et passionné de développement logiciel. Je cherche un stage en entreprise sur paris ou Clermont de début avril à fin juillet 2007. Mes langages de prédilection sont
maxxyme
Messages postés16Date d'inscriptionlundi 15 décembre 2003StatutMembreDernière intervention 1 mai 2014 15 sept. 2006 à 17:40
En théorie uniquement... car quand la variable pointant vers le TextStream est passée comme paramètre d'une méthode ou fonction... l'utilisation d'un booléen pour suivre l'état (ouvert ou fermé) du fichier est pour le moins plus complexe et malhabile.
Par contre effectivement, la gestion d'erreur pourrait permettre de gérer ça "correctement" (enfin presque... ;-)
C'est juste qu'il est dommage de ne pas retrouver sur ce genre d'objet un membre du type de "State" comme sur les Recordset de bases de données).