Aller à la dernière ligne d'un fichier texte et recherche une chaine de caractér [Résolu]

Messages postés
16
Date d'inscription
jeudi 27 janvier 2005
Statut
Membre
Dernière intervention
8 décembre 2005
- - Dernière réponse : ARENIUS
Messages postés
16
Date d'inscription
jeudi 27 janvier 2005
Statut
Membre
Dernière intervention
8 décembre 2005
- 25 oct. 2005 à 15:09
Bonjour à tous,

Voila je suis un gros débutant en VB alors excusez mes questions qui peuvent sembler triviales à certains
Voila j'ai ouvert un fichier texte en lecture et je cherche à aller à la dernière ligne de celui ci et y rechercher ensuite la chaîne de caractère "défaut". Si la chaîne défaut est trouvée il faudra alors lancer une fonction.
Quelle est la manière la plus simple de faire ça ?

Quelqu'un m'a suggéré d'utiliser le fileobjectsystem et l'object textstream mais ceux ci ne sont pas présents sur VB 6.0 à moins que je me trompe...

Merci

A+
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
106
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
28 octobre 2005
3
Merci
Essaye ce code :

Open fichier For Input As 1 'fichier : nom du fichier
Do While EOF(1) = False
Line Input #1, DernierLigne
Loop
Close 1

For i = 1 To Len(DernierLigne)
If Mid$(DernierLigne, 1, 6) = "défaut" Then
Call Fonction
Exit Sub 'si tu ne veux rien ajouter après
End If
Next i


N.B: Dans ce code "défaut" ne doit pas être orthographié "Défaut" ou "dÉfAut" par exmple

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 153 internautes nous ont dit merci ce mois-ci

Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
20
0
Merci
salut,
[VB6]
tu lis tout le fichier dans une variable.
tu cherches le dernier retour chariot (donc début de la dernière ligne)
tu cherches la position de ton mot.
si la position est > 0, alors il existe.


Option Explicit
'
'
Private Sub Command1_Click()
Dim FF As Integer, sMonFichier As String, sDerniereLigne
FF = FreeFile

' reçoit fichier complet
Open "C:\truc.txt" For Input As #FF
sMonFichier = Input (LOF(FF), 1)
Close #FF

' retourne la dernière ligne
' ATTENTION, on cherche pas au 1er carac, car souvent fichier terminé par VbCrLf
' donc... ligne vide
sDerniereLigne = Right$(sMonFichier, Len(sMonFichier) - InStrRev(sMonFichier, vbCrLf, 2) - 1)

' cherche "défaut"
If InStr(1, sDerniereLigne, "défaut") > 0 Then
MsgBox "ouaip, trouvé", 32
Else
MsgBox "nan, y'a pas...", 32
End If
End Sub



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


++
PCPT [AFCK]
Messages postés
16
Date d'inscription
jeudi 27 janvier 2005
Statut
Membre
Dernière intervention
8 décembre 2005
0
Merci
Merci pour vos réponses aussi rapides :D

Je teste vos solutions tout de suite

A+