Rechercher : dans
Par :

Comment parcourir un fichier texte en VB6

Dernière réponse le 5 jan 2005 à 14:33:12 hya, le 4 jan 2005 à 18:42:36 
 Signaler ce message aux modérateurs

Bonsoir

j'ecri un program en VB

J'ai cree un fichier texte fichier_ping.txt
je veux parcourir de fichier pour faire des traitements
mais mon program boucle infiniment dans la boucle do while EOF
voici le code.


Open "C:\fichier_ping.txt" For Input As #1

Do While Not EOF(1)
Line Input #1, ligne
If Len(ligne) <> 0 Then
rep = Mid(ligne,1, 7)
If (rep = "Reponse")

'----- les traitements

End If
End If
Loop ' fin tant que

Pouver vous m'aider

merci

Meilleures réponses pour « Comment parcourir un fichier texte en VB6 » dans :
[MS-Dos] Ecrire dans un fichier texte en batch Voir Pour écrire dans un fichier texte, il suffit d'utiliser une redirection ">" : echo texte_à_ecrire > fichier_de_sortie.txt Pour écrire à la fin d'un texte existant (concaténation) : echo "écriture a la fin du fichier ">>...
MySQL - Chargement d'un fichier texte dans une table VoirPour charger une fichier texte défini comme suit : $ tail /home/user1/test.txt 'nom1',1,9 'nom2',2,3 'nom3',3,54 'nom4',4,2 'nom5',5,9 Dans une table définie comme suit : CREATE TABLE chargertest ( ...
Fichier TXT VoirFormat TXT Un fichier TXT est un fichier texte, c'est-à-dire un simple fichier contenant du texte au format ASCII. Pour ouvrir ou modifier un tel fichier, il suffit d'utiliser le bloc-notes ou un éditeur de texte traditionnel.

1

Armojax, le 4 jan 2005 à 19:03:08

Hello Hya,

A première vue, ça me paraît pourtant bon tout ça.

Vu que le squelette de la boucle est bien, ça doit se passer dans "les traitements", non ?

Bonne chance...
Armojax.

Répondre à Armojax

2

hay, le 5 jan 2005 à 09:41:35

Merci ,
j'ai lu ton indication,

Voici mon code de traitement de fichier texte.
Ce programme continu à boucler indefiniment dans la bouble dans le coucle tant que non fin de fichier Do while Not EOF(1)

Public Sub traitement()

Dim rep As String
Dim montab() As String
Dim tailleoctet As String
Dim tempsrep As String
Dim ttlive As String
Dim t As String
Dim som , nbre_echo As Integer
dim bd as double
dim connxion as boolean

Open "C:\fichier_ping.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, ligne
If Len(ligne) <> 0 Then
rep = Mid(ligne, 1,7)
If (rep = "Reponse") Then
montab = Split(ligne, " ")
tailleoctet = montab(4)
tempsrep = montab(5)
ttlive = montab(7)
temps = Split("tempsrep", "=")
t = temps(1)
som = som + Val(t)
End If
End If
Loop

If nbre_echo <> 0 Then
connexion = True
bp = som / nbre_echo
octets = tailleoctet
ttll = ttlive
Else
connexion = False
End If

Close #1

End Sub

Je n'ai pas pu deceler la faille

Merci

Répondre à hay

3

 Armojax, le 5 jan 2005 à 14:33:12

Hello Hay,

Eh bien ça se corse.
Je me suis fait un petit fichier texte et ai déroulé ton code : pas de boucle en vue, je sors sans PB.
Evidemment, je n'ai pas tes données à toi, alors... Mais pour moi le boucle est bonne.

Du côté des définitions de tes variables, fais gaffe : Quand tu mets, par exemple :

Dim som , nbre_echo As Integer

seul nbre_echo est défini comme Integer.
Si tu veux mettre plusieurs variables dans un seul Dim, tu dois préciser pour chaque variable :

Dim som As Integer , nbre_echo As Integer

Tu as des variables qui ne servent à rien... à cause d'erreurs de frappe (par exemple, dans tes Dim, il manque le "e" de connExion.

Tu as intérêt à utiliser , en tête de module, "Option Explicit". Comme ça, tu es obligé de définir tout correctement.

En conclusion, je n'ai pas la réponse à ton PB.
Désolé. Regarde du côté de tes données...

Armojax.

Répondre à Armojax