Lecture fichier

Résolu
cs_putch Messages postés 624 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 14 décembre 2009 - 30 août 2006 à 12:03
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 - 30 août 2006 à 12:25
bonjour a tous !

voila je vous explique mon souci :
je lit un fichier txt dont la structure est la suivante :

blabla
blabla

blabla

[Adresse IP]
192.168.0.1

blabla
blabl

je souhaiterai juste afficher dans un label l'adresse IP 192.168.0.1

mon code pour l'instant :

    numFic = FreeFile
    nomFichier = "C:\test.txt"

    Open nomFichier For Input Shared As #numFic
   
    trouve = False
   
    Do While Not EOF(numFic)
        Input #numFic, Valeur
        If trouve = True Then
            Label2.Caption = Valeur
            trouve = False
        End If
        If (InStr(Valeur, "[Adresse IP]")) Then
            trouve = True
        End If
    Loop

A l'affichage j'obtient dans label2 : 0

merci de votre aide !

5 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
30 août 2006 à 12:15
A la place de Input ..., essaye plutot Line Input #numFic, Valeur

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
3
cs_putch Messages postés 624 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 14 décembre 2009 1
30 août 2006 à 12:19
yes thanks !

pour info : quelle est la différence ?
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
30 août 2006 à 12:24
La différence c'est que Input lit dans ton fichier jusqu'à remplir la ou les variables que tu a indiqué. Si tu passe une chaine de caractères de taille 60000, Input lira 60000 caractères dans le fichier sans distinction quant à la signification des caractères.

Alors que Line Input lit une ligne, càd lit jusqu'à rencontrer le caractère RetourChariot ou le couple de caractère Sautdeligne/Retourchariot, ces caractères étant exclus de la chaine retournée.
Avec Line Input, tu lis un fichier ligne par ligne. Ce qui me semble plus correspondre à ton traitement

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
30 août 2006 à 12:25
salut,

Option Explicit 

Private Sub Form_Load() 
    Dim numFic As Integer 
    Dim nomFichier As String 
    Dim sBuffer As String 
    Dim aLines() As String 
    Dim i As Long 

    numFic =  FreeFile 
    nomFichier = "C:\test.txt" 

    Open nomFichier For Input As #numFic 
        sBuffer =  Input (LOF(numFic), #numFic) 
    Close #numFic 

    aLines  = Split(sBuffer, vbCrLf) 

    For i =  0 To  UBound (aLines) 
        If aLines(i)  = "[Adresse IP]" Then 
            Label2.Caption =  aLines(i + 1) 
            Exit For 
        End If 
    Next i 

    Erase aLines 
    sBuffer = vbNullString 
End Sub

<small> Coloration
syntaxique automatique [AFCK] </small>
       

++
PCPT   [AFCK]
<hr size ="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
30 août 2006 à 12:25
 Bonjour,

Je viens de testé cette possibilité:

Option Explicit
Dim Fso, Path, Fichier, Fic_Entree
Dim i, strtmpConst ForReading 1, ForWriting 2, ForAppending = 8


Path   = "d:"
Fichier  = "test1.txt"


Set Fso = CreateObject("Scripting.FileSystemObject")
Set Fic_Entree = Fso.OpenTextFile(Path & Fichier, 1, False)


Do While Not Fic_Entree.AtEndOfStream


   strtmp = Split(Fic_Entree.ReadAll, vbCrLf)   'création tableau du fichier


   For i = 0 to Ubound(strtmp)
'      MsgBox strtmp(i)
       If strtmp(i) = "[Adresse IP]" Then MsgBox strtmp(i+1)
   Next
Loop


Call Fic_Entree.Close
 
Set Fic_Entree = Nothing
Set Fso = Nothing
MsgBox "Script terminé"

jean-marc
0
Rejoignez-nous