Calcul d'occurrences en VB6
Résolu
Salouli
Messages postés
18
Statut
Membre
-
ThauTheme Messages postés 1564 Statut Membre -
ThauTheme Messages postés 1564 Statut Membre -
Bonjour ,
J'ai un petit programme en vb6 qui contient un bouton "Open" et une textbox .
lorsque je clique sur le bouton le contenu d'un fichier texte s'affiche dans la textbox.Alors par la suite j'ai voulu calculer le nombre de fois que la lettre "a" ou "A" apparaît dans mon texte et ça a fonctionné.Maintenant j'ai voulu faire la même chose avec tous les caractères possibles , c'est à dire que j'aurai un msgbox qui me donne combien de fois chaque caractère s'est répété dans le texte .Puisque je suis encore débutante en vb6 j'ai pas su comment le faire tt ce que je sais c'est qu'il y a 255 caractères en général .Merci à vous ! Voilà mon code :
EDIT: Ajout de la coloration syntaxique.
J'ai un petit programme en vb6 qui contient un bouton "Open" et une textbox .
lorsque je clique sur le bouton le contenu d'un fichier texte s'affiche dans la textbox.Alors par la suite j'ai voulu calculer le nombre de fois que la lettre "a" ou "A" apparaît dans mon texte et ça a fonctionné.Maintenant j'ai voulu faire la même chose avec tous les caractères possibles , c'est à dire que j'aurai un msgbox qui me donne combien de fois chaque caractère s'est répété dans le texte .Puisque je suis encore débutante en vb6 j'ai pas su comment le faire tt ce que je sais c'est qu'il y a 255 caractères en général .Merci à vous ! Voilà mon code :
Option Explicit
Dim chaine As String 'ma chaine de caractères
Dim i As Integer
Dim nombredea As Integer
Private Sub command1_Click()
On Error GoTo erreur
Dim MyFile As String
MyFile = App.Path & "\hello.txt" 'le fichier texte
Open MyFile For Input As #1
Line Input #1, chaine
Close #1
Text1.Text = chaine
For i = 1 To Len(chaine)
If Mid(chaine, i, 1) = "a" Or Mid(chaine, i, 1) = "A" Then
nombredea = nombredea + 1
End If
Next i
MsgBox "le fichier contient la lettre A " & nombredea & " fois ", vbInformation, vbOKOnly
Exit Sub
erreur:
MsgBox "Fichier introuvable", vbExclamation
End Sub
EDIT: Ajout de la coloration syntaxique.
A voir également:
- Calcul d'occurrences en VB6
- Vb6 - Télécharger - Divers Utilitaires
- Calcul moyenne excel - Guide
- Calcul km marche à pied gratuit - Télécharger - Sport
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
3 réponses
Bonjour,
adaptez le debut pour avoir la chaine de votre fichier
ajoutez dans projet, references: microsoft scripting runtime
si vraiment beaucoup de caracteres (+500) dans chaine, il y a moyen de ne faire que deux boucles de comptage au lieu de trois
adaptez le debut pour avoir la chaine de votre fichier
ajoutez dans projet, references: microsoft scripting runtime
Private Sub Command1_Click()
Dim Chaine, Nblettre As Long, lettre As String
Dim obn As Object, cle As String, cles, k As Long, n As Long
Chaine = "aAbBcC"
Chaine = UCase(Chaine)
Set obn = CreateObject("scripting.dictionary")
For x = 1 To Len(Chaine)
cle = Mid(Chaine, x, 1)
If Not obn.Exists(cle) Then obn.Add cle, 1
Next x
cles = obn.keys
n = obn.Count
For k = 0 To n - 1
lettre = cles(k)
Nblettre = 0
For x = 1 To Len(Chaine)
If Mid(Chaine, x, 1) = lettre Then
Nblettre = Nblettre + 1
End If
Next x
MsgBox "le fichier contient la lettre " & lettre & " " & Nblettre & " fois ", vbInformation, vbOKOnly
Next k
End Sub
si vraiment beaucoup de caracteres (+500) dans chaine, il y a moyen de ne faire que deux boucles de comptage au lieu de trois
Private Sub Command2_Click()
Set mondico = CreateObject("Scripting.Dictionary")
Chaine = "aAbBcC"
Chaine = UCase(Chaine)
For x = 1 To Len(Chaine)
cle = Mid(Chaine, x, 1)
mondico(cle) = mondico(cle) + 1
Next x
TLettre = mondico.Keys
TNblettre = mondico.Items
For x = 0 To mondico.Count - 1
MsgBox "le fichier contient la lettre " & TLettre(x) & " " & TNblettre(x) & " fois ", vbInformation, vbOKOnly
Next x
End Sub
Bonsoir Salouli, fnuméros, bonsoir le forum,
Peut-être comme ça :
Peut-être comme ça :
Option Explicit
Private Sub command1_Click()
Dim chaine As String 'ma chaine de caractères
Dim I As Integer
Dim J As Integer
Dim TC(0 To 255) 'tableau des caractères
On Error GoTo erreur
Dim MyFile As String
MyFile = App.Path & "\hello.txt" 'le fichier texte
Open MyFile For Input As #1
Line Input #1, chaine
Close #1
Text1.Text = chaine
For i = 1 To Len(chaine)
For J = 0 To 255
If Mid(chaine, i, 1) = Chr(J) Then
TC(J) = TC(J) + 1
Exit For
End If
Next J
Next i
For J = 0 To 255
Cells(J + 1, 8).Value = Chr(J) 'renvoie dans la colonne H le caractère (à adapter)
Cells(J + 1, 9).Value = TC(J) 'renvoie dans la colonne G le nombre de caractères (à adapter)
Next J
'
'
' If Mid(chaine, i, 1) = "a" Or Mid(chaine, i, 1) = "A" Then
' nombredea = nombredea + 1
' End If
' Next i
'MsgBox "le fichier contient la lettre A " & nombredea & " fois ", vbInformation, vbOKOnly
Exit Sub
erreur:
MsgBox "Fichier introuvable", vbExclamation
End Sub
Re,
VB6.0 "ancetre" de VB.Net
Assez semblable au niveau des instructions sauf ce type purement excel:Cells(J + 1, 8).Value, pour les controls pas mal differences en proprietes avec des + et des - par rapport a excel , creation d'executable.
exemple des differences:
excel:
VB.Net
VB6.0 "ancetre" de VB.Net
Assez semblable au niveau des instructions sauf ce type purement excel:Cells(J + 1, 8).Value, pour les controls pas mal differences en proprietes avec des + et des - par rapport a excel , creation d'executable.
exemple des differences:
Private Sub command1_Click()significatif du VB6.0
excel:
Sub Bouton1_Cliquer()
Private Sub CommandButton1_Click()
VB.Net
Private Sub Button1_Click_2