Extraire du texte d'un fichier texte et recherche

giantt Messages postés 3 Date d'inscription jeudi 12 septembre 2002 Statut Membre Dernière intervention 16 septembre 2002 - 16 sept. 2002 à 02:53
grouikfr Messages postés 11 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 30 août 2005 - 11 août 2005 à 09:21
Bonjour tout le monde,
Je me suis fait un programme d'inventaire de mes logiciels et dans une partie de mon programme je genere un fichier texte contenant le fabricant du logiciel, titre,le cdkey ect.... Voici la source de mon fichier texte:

"Microsoft","Windows 95","lkjasdfkljasdf",""
"Microsoft","Windows 98","hqerqergthaqq",""
"Microsoft","Windows ME","123451235134",""
"Microsoft","Windows 2000","asdf23451234",""

J'aimerais a l'aide d'un bouton ou dans un form_load extraire de mon fichier texte seulement les deux premiers champs ex: Microsoft Windows 95 le tout soit rediriger dans un textbox pour que ca me donne une liste de tout mes logiciels sans avoir toute les infos (cdkey ect...)

Jespere que vous aller comprendre desole je suis debutant.

P.S: pouvez vous me generer le code svp et mon fichier texte et dans le meme repertoire que mon programme et si le coeur vous en dit j'aimerais avoir une fonction de recherche pour rechercher n'importe quoi dans mon fichier ex: fabricant , titre, cdkey et le résultant soit envoyer dans un text box

Merci encore de votre aide a l'avance .... !!!!

Giant Debutant qui aimerais bien apprendre
Merci !!!!
Bonne Journee !!!

3 réponses

jockos Messages postés 321 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 14 mai 2005 2
16 sept. 2002 à 09:31
Pour les recherche dans une chaine, il faut déclarer 2 variables de type Long...

Soit par exemple:

Dim FirstHeader As Long
Dim NextHeader As Long

documente toi sur les fonctions "InStr Left$ Rigjt$ et Mid$" ce sont celles qui te serviront le plus...

Pour récupérer les 2 premiers champs par exemple, tu fais (en supposant que le contenu de ton fichier, une fois chargé en mémoire soit stocké dans une String s'appellant texte)

'------------------- début du code -----------------
Private Sub btnGo_Click()
Dim texte As String
Dim Numfile As Integer
Dim FirstHeader As Long
Dim NextHeader As Long

'Ouvre le fichier et le charge en mémoire vive
NumFile=FreeFile

Open "c:\mon_fichier.txt" For Input As NumFile
texte=Input(LOF(NumFile),NumFile)
Close NumFile

'Maintenant relevons les 2 premiers
'champs de chaque ligne

FirstHeader=InStr(1,texte,",")
'1er champs
txtText.Text = Left$(texte,FirstHeader-1)
FirstHeader=FirstHeader+len(",")

NextHeader=InStr(FirstHeader,texte,",")
'2eme champs
txtText.Text = _
Mid$(texte,FirstHeader,NextHeader-FirstHeader)

'Tu peux encapsuler le tout dans une boucle pour parcourir ainsi toute ta variable "texte"
Avec une boucle du genre:
Do While NextHeader <> 0
Traitements....
....
....
NextHeader=InStr(FirstHeader,texte,vbCrLf)
Loop

A+ et bon courage

Jockos
0
Alan71 Messages postés 530 Date d'inscription lundi 3 juin 2002 Statut Membre Dernière intervention 13 juin 2004
16 sept. 2002 à 19:55
Primo, supprime les guillements.
Segundo, evite la virgule, tu peux en avoir besoin (je te conseil le chr(191), le ? à l'envers, car on s'en sert pas tous les jours, ou choisi en un, dans l'aide, rubrique 'ANSI')
Applique son code, je l'ai pas lu, mais il doit marcher.

En tout cas, si problème il y a (vous apprecirer la pertinance de cette rime), mon adresse e-mail s'imposera (la, j'uis vraiment le roi de la prose...)
car j'en es un pour toi (on va p'têtre arreter la connerie maintenant) si celui de jockos ne vas pas (
ok ok, je sais, y a D limite à la betise)

>:) ::Alan USSE:: >:)
0
grouikfr Messages postés 11 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 30 août 2005
11 août 2005 à 09:21
haha les rimes c'est le contraire de la prose :)
0
Rejoignez-nous