Vb6 ouvrir un fichier

felina1 Messages postés 15 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 24 septembre 2006 - 17 juil. 2006 à 15:42
felina1 Messages postés 15 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 24 septembre 2006 - 1 août 2006 à 12:48
Bonjour,

Je suis novice et en pleine formation. Je voudrais via une application
contenant plusieurs boutons, au travers d'un de ces boutons ouvrir un
fichier texte dont je spécifie le chemin dans une zone texte dans une
List.

Voilà ce que j'ai fait mais cela m'ouvre uniquement ce que contient le
dossier et non le contenu du fichier dont je dois par la suite compter
le nombre de lettres que contient ce fichier:


dim st as string

st=dir("c:", vbdirectory)

while st <> ""

st=dir

wend

end sub


Pouvez vous m'aider s'il vous plait, j'ai cherché sur le forum et sur le net mais en vain. Je suis un peu larguée.

Merci d'avance.

7 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
17 juil. 2006 à 15:47
La fonction dir te permet juste de lister les fichiers d'un répertoire, pas de lire leur contenu.

Pour cela utilise la fonction Open :

Open "NomDeTonFichier" For Input As #1

Line Input #1, sText

Close #1

Tu trouvera beaucoup de sources et de question sur le forum à propos de cette fonction open !
0
felina1 Messages postés 15 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 24 septembre 2006
17 juil. 2006 à 15:51
J'ai mal lu l'intitulé, je ne dois pas ouvrir mais compter le nombre d'occurences de chaque lettre contenu dans le fichier.
Je dois impérativement utiliser les fonctions dir et asc.

Merci de m'avoir répondu.
0
TomIlliev Messages postés 86 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 13 octobre 2016 2
17 juil. 2006 à 16:03
Salut,
J'ai pas bien compris la question!
Tu dois ouvrir les fichiers texte d'un dossier et compter le nombre de lettres que contiennent ces fichiers ou ne compter que certaine lettres ou mots?

a pas compris précise ta pensée!
a+
Tomilliev
0
felina1 Messages postés 15 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 24 septembre 2006
17 juil. 2006 à 16:31
Je dois spécifier le chemin d'accès dans une zone texte et en cliquant sur un bouton, il doit apparaitre dans la list le nombre d'occurences de chaque lettre contenu dans le fichier texte spécifié.
0

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

Posez votre question
TomIlliev Messages postés 86 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 13 octobre 2016 2
17 juil. 2006 à 16:44
Re
Voici une fuction qui permet de chercher un mot ou une lettre dans un fichier

Si tu veux le nombre de A dans un fichier tu fais
msgbox findtexte(NomFichier,"A")
La function te renvoie le nombre de A contenu dans le fichier

Maintenant pour chercher tout l'alphabet en majuscule
dim i as integer
For i=asc("A") to asc("Z")
Taliste.additem "nombre de " & chr$(i) & " " & findtexte(NomFichier,chr$(i))
next i

pour les minuscules tu remplaces A par a et Z par z
pour les espaces tu fais findtexte(Monfichier,chr$(32))





Function FindTexte(ByVal Fichier As String, ByVal Text As String) As Integer
Dim m As String
Dim Cpt As Integer
Dim n As Integer
Dim x As Integer

'controler si le fichier existe
If Dir(Fichier) = "" Then
MsgBox "fichier non trouvé"
Exit Function
End If

n = FreeFile 'numéro de canal libre

Open Fichier For Input As n 'Ouverture du fichier en lecture
Do While Not EOF(n) 'Boucle jusqu'à la fin du fichier
Line Input #n, m 'extrait une ligne du fichier

'IL FAUT CHERCHER SI LE TEXTE EXISTE PLUSIEURS FOIS DANS LA LIGNE
'LA BOUCLE SUIVANTE PERMET DE REALISER LA RECHERCHE
x = InStr(m, Text)
'---
Do While Not x = 0 'Boucle sur la ligne si le texte est trouvé
Cpt = Cpt + 1 'incrémente le compteur d'occurence
m = Mid$(m, x + Len(Text) + 1)'raccourcir la phrase aprés le mot
x = InStr(m, Text) 'Chercher à nouveau dans le reste de la ligne
Loop
'----
Loop
Close n 'Ferme le fichier
FindTexte = Cpt 'renvoie le nombre de fois que le texte a été trouvé
End Function

Voila voila si problême y a solution
a+
Tomilliev
0
felina1 Messages postés 15 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 24 septembre 2006
17 juil. 2006 à 16:52
Je vais essayer ça et je te tiens au courant.
Merci pour ton aide.
0
felina1 Messages postés 15 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 24 septembre 2006
1 août 2006 à 12:48
Voilà ce que j'ai fais mais cela m'affiche uniquement le nombre de lignes contenu dans le fichier et non le nombre de lettre (ex: a=4, b=1,...). Où est le problème?

Function Compter(ByVal Fichier As String, ByVal Text As String) As Integer
Dim n As Integer
Dim Cpt As Integer
Dim i As Integer


n = FreeFile
Open Fichier For Input As n
Cpt = 0
Do Until EOF(n)
Input #n, i
Cpt = Cpt + 1
Loop
Close n
Compter = Cpt
End Function


Private Sub Traiter1_Click()
Dim Source As Integer
Dim i As Integer
Dim Ch As String


Source = FreeFile
Ch = Text1.Text
Open Ch For Input As #Source
For i = Asc("a") To Asc("z")


List1.AddItem "nombre de " & Chr$(i) & "" & Compter(Text1.Text, Chr$(i))
Next i
Close #Source
End Sub
0
Rejoignez-nous