Rechercher une chaine de caractere dans un fichier texte

cs_simonfr Messages postés 9 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 8 avril 2006 - 10 juin 2005 à 13:57
Diurnambule95 Messages postés 3 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 29 octobre 2005 - 29 oct. 2005 à 11:34
bonjour,
je suis un debutant en vb et je voudrai un peu d'aide :)

Comment je peut faire pour verifier si une chaine de caractere est presente dans un fichier texte?

Si la chaine est presente au moins une fois le script doit renvoyer 1 si elle n'est pas presente le script doit renvoyer 0

merci d'avance++++

7 réponses

Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
10 juin 2005 à 14:10
Dim txt As String
Open "E:\wow\commandgmuse.txt" For Input As #1
Do While Not EOF(1) 'boucle jusque la fin du fichier
Line Input #1, txt
commandes = commandes & txt 'ajoute la ligne ds le string a la suite'
'traitement de la ligne'
nbchartxt = Len(txt) 'nombre de caractere de la ligne'
For i = 1 To nbchartxt
car = Mid(txt, i, 1) 'on recupere a partir du i ème caractere 1 caractere'
If car = "-" Then 'si on trouve le séparateur'
Item = Left(txt, i - 1) 'on enleve le separateur'
Combo1.AddItem Item 'on ajoute '
Exit For
End If
Next i
Loop 'retour de boucle
Close #1

voilà je pense un bon exemple ...le separateur au lieu d etre - sera cke tu cherche en string et il faut changer certain parametre tel le fichier, les limites

Lignes a changer
car = Mid(txt, i, 1)
If car = "-" Then 'si on trouve le séparateur'
Item = Left(txt, i - 1) 'on enleve le separateur'

Merci d accepter la reponse si elle te convient


-------------------------------------------------------------------------------------------------------
Il vaut mieux poser une question et passer pour bête que le rester toute sa vie
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
10 juin 2005 à 14:14
Ca doit faire un truc comme çà (pas testé):

(on appelle la fonction comme ceci :

valeurRetour=isPresent("C:\toto.txt","titi")



=================================================

Public Function isPresent(sFilename As String,sChaine As String) As Long



Dim numFile As Long

Dim s As String

Dim lFound As Long



lFound=0

numFile=FreeFile

Open sFilename For Input As #numFile

While not EOF(numFile) And lFound=0

Line Input #numFile,s

If Instr(1,s,sChaine,vbTextCompare)>0 then

lFound=1

End If

Wend

close #numFile

isPresent=lFound

End Function




Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0
cs_franckydeluka Messages postés 228 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 4 janvier 2008 1
10 juin 2005 à 14:33
Salut !!
Essaie cet algorythme :

Dim Text As String 'dans cette variable le programme copie entièrement le fichier text
Dim CaracToSearch As String 'caractère à rechercher
Dim validation As Integer 'si validation = 0 la chaine de caractère n'est pas présente

Open "C:\NouveauTexte.txt" For Binary Access Read As 1 'chemin d'accès à ton fichier .txt
lFileSize = LOF(1)
Text = String(lFileSize, " ")
Get #1, , Text
Close 1

validation = 0
For i = 1 To Len(Text)
CaracToSearch = Mid(Text, i, 8) '8 est le nombre de caractère composant la string à rechercher
If CaracToSearch = "alleluia" Then
validation = 1
MsgBox ("chaine de caractère présente")
Exit For
End If
Next i

If validation = 0 Then MsgBox ("chaine de caractère pas présente")



Bon courage
Deluka.
0
cs_franckydeluka Messages postés 228 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 4 janvier 2008 1
10 juin 2005 à 14:36
oh j'avais pas vu qu'il y avait autant de réponse ! >>lol
j'espère que tu trouveras ton bonheur là dedans



Deluka.
0

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

Posez votre question
cs_simonfr Messages postés 9 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 8 avril 2006
10 juin 2005 à 14:59
merci a tous pour vos reponses

je ne peut pas encore vous dire si ca marche mais je vousle ferai savoir des que possible

encore merci+++
0
cs_simonfr Messages postés 9 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 8 avril 2006
14 juin 2005 à 11:17
re,

dsl de repondre si tard mais j'avais laisser de cote ce porjet pendant quelques jours

j'ai tester tous les script que vous m'avez fournit mais j'ai toujours la meme erreur

des qu'il i a un As dans le script ca plante et ca me dit une erreur souvent : fin d'instruction attendue mais defois ca change.



je suis perdu :(
0
Diurnambule95 Messages postés 3 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 29 octobre 2005
29 oct. 2005 à 11:34
Open strAutoexec For Output As #1
pourquoi sa merde il me dit kil y a une erreur mais bon je début donc ...
0
Rejoignez-nous