IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Question de Karirovax


Sujet :

VB.NET

  1. #1
    Membre régulier Avatar de horemheb
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Novembre 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2010
    Messages : 122
    Points : 77
    Points
    77
    Par défaut Question de Karirovax
    Bonjour, je vous transmets une question qui m'a été posée par Karirovax sur ma messagerie privée
    Citation Envoyé par karirovax
    Bonjour,

    je suis pas un programmateur mais j'aimerai bien de créer un petit programme en vb.net qui va faire le suivant:

    1-Lire une phrase
    2- chaque lettre je doit donner un chiffre comme:

    a=5
    b=6
    c=3
    ...
    z=11

    3- après lecture de la phrase le programme fais une somme de tous les lettre par Ex. si je tape:

    salut

    le programme fait la somme:
    s=2
    a=5
    l=12
    u=9
    t=8
    et calcule: s+a+l+u+t = 2+5+12+9+8 = résultat

    est ce que quelqu'un peut m'aider à trouver une solution ou un petit code similaire sur le net avec presque une même procédure, ca sera sympa,

    merci à vous

    Cordialement
    Configuration: Windows XP / Firefox 21.0
    A vous de jouer
    Mille jours d’entraînement pour forger, dix milles jours d’entraînement pour polir.
    Shimen Musashi - Gorin-no-sho Rouleau de l’eau

  2. #2
    Membre expérimenté
    Avatar de charouel
    Homme Profil pro
    Freelance
    Inscrit en
    Mars 2009
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 618
    Points : 1 454
    Points
    1 454
    Billets dans le blog
    9
    Par défaut
    ça peux vous aidez

  3. #3
    Membre régulier

    Homme Profil pro
    Bricoleur ( débutant )
    Inscrit en
    Juillet 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Bricoleur ( débutant )
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 51
    Points : 90
    Points
    90
    Par défaut Re: VB.NET
    Citation Envoyé par horemheb Voir le message
    Bonjour, je vous transmets une question qui m'a été posée par Karirovax sur ma messagerie privée

    A vous de jouer
    merci beaucoup de poster mon problème ici c'est vraiment gentille de ta part

    A+
    Si vous aimez ma réponse, pensez à cliquer sur

    Si le problème est résolu, pensez à cliquer sur ( bouton en bas )

    cordialement

  4. #4
    Membre régulier

    Homme Profil pro
    Bricoleur ( débutant )
    Inscrit en
    Juillet 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Bricoleur ( débutant )
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 51
    Points : 90
    Points
    90
    Par défaut Re: VB.NET
    Citation Envoyé par charouel Voir le message
    ça peux vous aidez
    merci à vous aussi de me répondre mais je trouve que cela est pour le cryptage

    je suis nul en VB.NET

    j'ai un code qui je trouve sur le forum CodeSource pour résoudre une équation du second ordre qui je bricole à l'intérieur pour que je remplace le code original avec mon petit problème ( pour moi c'est presque impossible mais pour vous c'est presque très possible )
    Si vous aimez ma réponse, pensez à cliquer sur

    Si le problème est résolu, pensez à cliquer sur ( bouton en bas )

    cordialement

  5. #5
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Je comprend -relativement- ce que tu veux faire excepté
    et calcule: s+a+l+u+t = 2+5+12+9+8 = résultat
    Que veux-tu faire avec la somme des chiffres au juste ?
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  6. #6
    Membre régulier

    Homme Profil pro
    Bricoleur ( débutant )
    Inscrit en
    Juillet 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Bricoleur ( débutant )
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 51
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par _Ez3kiel Voir le message
    Je comprend -relativement- ce que tu veux faire excepté

    Que veux-tu faire avec la somme des chiffres au juste ?
    merci pour ta part

    je déclare des lettre comme chiffre puis en tapant une phrase et le programme calcule la somme des lettres dans cette phrase

    Par Ex. je tape: salut tous le monde

    le programme calcule: s+a+l+u+t+t+o+u+s+l+e+m+o+n+d+e et donne la somme des lettres qui sont déjà déclarées comme chiffres

    je pense que c'est claire maintenant.

    merci encore

    Cordialement
    Si vous aimez ma réponse, pensez à cliquer sur

    Si le problème est résolu, pensez à cliquer sur ( bouton en bas )

    cordialement

  7. #7
    Membre régulier

    Homme Profil pro
    Bricoleur ( débutant )
    Inscrit en
    Juillet 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Bricoleur ( débutant )
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 51
    Points : 90
    Points
    90
    Par défaut VB.NET
    Pas d'autre solution

    merci a vous tous, j’attends quand même
    Si vous aimez ma réponse, pensez à cliquer sur

    Si le problème est résolu, pensez à cliquer sur ( bouton en bas )

    cordialement

  8. #8
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Citation Envoyé par karirovax Voir le message
    merci pour ta part

    je déclare des lettre comme chiffre puis en tapant une phrase et le programme calcule la somme des lettres dans cette phrase

    Par Ex. je tape: salut tous le monde

    le programme calcule: s+a+l+u+t+t+o+u+s+l+e+m+o+n+d+e et donne la somme des lettres qui sont déjà déclarées comme chiffres

    je pense que c'est claire maintenant.

    merci encore

    Cordialement
    Oui je vois le principe, mais ma question était "que veux-tu FAIRE avec la somme ?"

    Tu as ta chaîne, tu remplaces chaque caractère par un nombre/Chiffre et tu fais la somme, mais à quoi va te servir cette somme ? J'espère que tu n'envisages pas un effet retro pour retrouver ta chaîne à partir de la somme ...
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  9. #9
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,

    Il y a plein de solutions pour ce type de problème.
    Une consisterait à utiliser un Dictionnay(of Char,Integer). Tu remplis le Dico avec les couples Caractère-Valeur.
    Ensuite, pour chaque caractère de la chaine, tu vas rechercher dans le Dico la valeur de ce caractère et tu additionnes.

    eb.

    ps : Effectivement, c'est quoi l'intérêt ? C'est un simple exercice ou ça a un but précis ?

  10. #10
    Membre régulier

    Homme Profil pro
    Bricoleur ( débutant )
    Inscrit en
    Juillet 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Bricoleur ( débutant )
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 51
    Points : 90
    Points
    90
    Par défaut VB.net
    Citation Envoyé par _Ez3kiel Voir le message
    Oui je vois le principe, mais ma question était "que veux-tu FAIRE avec la somme ?"

    Tu as ta chaîne, tu remplaces chaque caractère par un nombre/Chiffre et tu fais la somme, mais à quoi va te servir cette somme ? J'espère que tu n'envisages pas un effet retro pour retrouver ta chaîne à partir de la somme ...
    Après la somme, je doit faire un carré magique ( mais pas maintenant )

    mon problème que je ne trouve pas la méthode qui détecte la 1ère lettre et la stoker on la convertie et même chose pour la 2ème et ainsi de suite

    je trouve sur le net qu'il y a la fonction MID() mais je connais rien comment l’intégrer ... je sais qu'il faut un compteur pour chaque lettre ainsi que peut être une fonction Trim() pour supprimer les tabulations mais comme je vous dit en haut ( je suis nul en VB.NET )

    merci
    Si vous aimez ma réponse, pensez à cliquer sur

    Si le problème est résolu, pensez à cliquer sur ( bouton en bas )

    cordialement

  11. #11
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Je comprend un peu mieux.

    Les valeurs numériques associées aux caractères sont a=1 b=2 c=3 ... z=27 ?
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  12. #12
    Membre régulier

    Homme Profil pro
    Bricoleur ( débutant )
    Inscrit en
    Juillet 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Bricoleur ( débutant )
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 51
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par _Ez3kiel Voir le message
    Je comprend un peu mieux.

    Les valeurs numériques associées aux caractères sont a=1 b=2 c=3 ... z=27 ?
    Oui, exactement et ensuite la somme

    merci
    Si vous aimez ma réponse, pensez à cliquer sur

    Si le problème est résolu, pensez à cliquer sur ( bouton en bas )

    cordialement

  13. #13
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Alors tu peux faire qqch comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
            Dim tab As New Hashtable 'Une HashTable pour stocker des clé/values (ici a/1, b/2, ...)
     
            Dim leMessage As String = "Coucou c'est moi"
            Dim somme As Integer = 0
            Dim i As Integer = 0
     
     
            For Each caractere As Char In "ABCDEFGHIJKLMNOPQRSTUVWXYZ" 'On parcourt chaque lettre de l'alphabet
                tab.Add(caractere, i) 'On ajoute à la Hastable la lettre parcouru associé à notre compteur i
                i += 1
            Next
     
            leMessage = leMessage.ToUpper 'On met tout en majuscule car sinon le caractère ne sera pas reconnu (a =/= A)
     
            For Each car As Char In leMessage 'on parcourt le message
                If tab.ContainsKey(car) Then 'on teste que le caractère parcouru fasse parti de notre Hashtable (ainsi on ne plantera pas sur des espaces ou caractères spéciaux)
                    somme = somme + tab(car) 'On recupére la valeur numérique associé à notre caractère et on l'ajoute à notre somme
                End If
            Next
     
            MsgBox(somme)

    Ce n'est pas la solution la plus optimisé je pense, alors n'hésitez pas à me corriger.

    Ps: Dans notre cas, les caractères spéciaux tel que "é" "à" etc ne sont pas pris en compte.
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  14. #14
    Membre régulier

    Homme Profil pro
    Bricoleur ( débutant )
    Inscrit en
    Juillet 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Bricoleur ( débutant )
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 51
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par _Ez3kiel Voir le message
    Alors tu peux faire qqch comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
            Dim tab As New Hashtable 'Une HashTable pour stocker des clé/values (ici a/1, b/2, ...)
     
            Dim leMessage As String = "Coucou c'est moi"
            Dim somme As Integer = 0
            Dim i As Integer = 0
     
     
            For Each caractere As Char In "ABCDEFGHIJKLMNOPQRSTUVWXYZ" 'On parcourt chaque lettre de l'alphabet
                tab.Add(caractere, i) 'On ajoute à la Hastable la lettre parcouru associé à notre compteur i
                i += 1
            Next
     
            leMessage = leMessage.ToUpper 'On met tout en majuscule car sinon le caractère ne sera pas reconnu (a =/= A)
     
            For Each car As Char In leMessage 'on parcourt le message
                If tab.ContainsKey(car) Then 'on teste que le caractère parcouru fasse parti de notre Hashtable (ainsi on ne plantera pas sur des espaces ou caractères spéciaux)
                    somme = somme + tab(car) 'On recupére la valeur numérique associé à notre caractère et on l'ajoute à notre somme
                End If
            Next
     
            MsgBox(somme)

    Ce n'est pas la solution la plus optimisé je pense, alors n'hésitez pas à me corriger.

    Ps: Dans notre cas, les caractères spéciaux tel que "é" "à" etc ne sont pas pris en compte.
    merci beaucoup

    Juste une petite question SVP

    Si je met un tableau avec d'autre caractère comme par exemple

    ah=1
    ab=2
    c1=3
    ...etc

    est ce que cela fonctionne avec le code ou si je fais compter jusqu'au 10 lettre et ensuite 20, 30 ... 100 puis 200, 300, ...1000

    c'est à dire

    ah = "أ" ' = 1
    ab = 1
    ba = 2
    J = 3
    dd = 4
    hh = 5
    W = 6
    Z = 7
    h = 8
    tt = 9
    Y = 10
    K = 20
    L = 30
    M = 40
    N = 50
    Ss = 60
    aa = 70
    F = 80
    dh = 90
    kk = 100
    r = 200
    sn = 300
    t = 400
    tth = 500
    kh = 600
    th = 700
    dhh = 800
    rh = 900
    ch = 1000

    c'est ça le vrai tableau que je suis entrain de réaliser ... est ce que ça va marcher avec la même procédure

    merci encore pour le partage de vos connaissance
    Si vous aimez ma réponse, pensez à cliquer sur

    Si le problème est résolu, pensez à cliquer sur ( bouton en bas )

    cordialement

  15. #15
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut
    bonjour karirovax

    C'est dans le sens de ce qu'as dit _Ez3kiel mais en plus pratique oriente pour un affichage sur un form....

    - class helper qui stores la liste des caracteres alpha maj (à partir des 128 carcteres ascii ) et constitue la liste ou l'on fait la recherche des caracteres saisis....
    - un listbox1 affiche la liste des cars avec leurs numeros....
    -un textbox1 pour saisir le mot (maj ou min peu importe)
    -un listbox2 affiche les cars du mot saisi dans textbox1 avec leur valeur respectives
    -un label1 :affiche le total de la valeur des cars saisis....
    code vb du form:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
     
     
    'Controles à dropper sur le form
    '
    ' => TextBox1 :pour saisir le text 
    '
    ' => ListBox1: affiche la liste des caracteres alphabetique de A-Z
    '
    '   numerote de 1 à 26
    ' => ListBox2: affiche les caracteres saisies par toi avec leur numero
    '
    ' => label1    affiche la somme des caracteres saisis
    Imports System.ComponentModel
    Public Class Form2
        Private maListe As CollectionCars = New CollectionCars
        Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            TextBox1.Clear()
            ListBox1.Items.Clear()
     
            'remplit la liste à partir des 128 carateres ascii
            ' en ecartant tous les non apha
            Dim tonNumero As Integer = 1
            For i As Integer = 0 To 128
                Dim c As Char = ChrW(i)
                If Not Char.IsLetter(c) Then Continue For
                maListe.AddCar(Char.ToUpper(c), tonNumero)
                tonNumero += 1
            Next
     
            'affiche dans listbox1
            ListBox1.DataSource = maListe.List
        End Sub
     
        Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
     
            If maListe.List.Count <> 0 Then
                CalcSomme(TextBox1.Text)
            End If
        End Sub
        Private Sub CalcSomme(ByVal msg As String)
            'clear du ListBox2
            ListBox2.Items.Clear()
            Dim sum As Integer = 0
            For Each c As Char In msg.ToCharArray()
     
                If maListe.FindNumero(Char.ToUpper(c)) = -1 Then Continue For
                sum += maListe.FindNumero(Char.ToUpper(c))
                ' ajoute les cars saisies avec leur numero
                ListBox2.Items.Add(c & " " & maListe.FindNumero(Char.ToUpper(c)).ToString)
            Next
     
            'affiche la somme
            Label1.Text = sum.ToString
        End Sub
     
    End Class
    ' Class Helper
    ' store la liste des caracteres alphabetique de A-Z
    ' numerote de 1 à 26
    Public Class CollectionCars
        Private tab As New Hashtable
        Private mStrings As List(Of String) = New List(Of String)
        Public Sub AddCar(ByVal c As Char, ByVal n As Integer)
     
            If Not tab.ContainsKey(c) Then
                tab.Add(c, n)
                mStrings.Add(c & " -> " & n.ToString)
            End If
        End Sub
     
        Public Function FindNumero(ByVal c As Char) As Integer
            If tab.ContainsKey(c) Then
                Return tab.Item(c)
                MessageBox.Show(tab.Item(c).ToString)
            End If
            Return -1
        End Function
        Public Sub Clear()
            tab.Clear()
        End Sub
     
        Public ReadOnly Property List() As List(Of String)
            Get
                Return mStrings
            End Get
        End Property
     
     
    End Class
    bon code...

  16. #16
    Membre régulier

    Homme Profil pro
    Bricoleur ( débutant )
    Inscrit en
    Juillet 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Bricoleur ( débutant )
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 51
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par MABROUKI Voir le message
    bonjour karirovax

    C'est dans le sens de ce qu'as dit _Ez3kiel mais en plus pratique oriente pour un affichage sur un form....

    - class helper qui stores la liste des caracteres alpha maj (à partir des 128 carcteres ascii ) et constitue la liste ou l'on fait la recherche des caracteres saisis....
    - un listbox1 affiche la liste des cars avec leurs numeros....
    -un textbox1 pour saisir le mot (maj ou min peu importe)
    -un listbox2 affiche les cars du mot saisi dans textbox1 avec leur valeur respectives
    -un label1 :affiche le total de la valeur des cars saisis....
    code vb du form:


    bon code...
    merci beaucoup mais j'arrive pas à le compiler ??

    je vous donne mon code qui jusqu'à maintenant n'est pas près ( merci à _Ez3kiel aussi ):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
     
     
     
    Public Class Equation
        'Dim a As String
        'Dim b As Double
        'Dim c As Double
    	'Dim d As Double
        'Dim S As Double
    	Dim أ = 1
    	Dim ا = 1
    	Dim ب = 2
    	Dim ج = 3
    	Dim د = 4
    	Dim ه = 5
    	Dim و = 6
    	Dim ز = 7
    	Dim ح = 8
    	Dim ط = 9
    	Dim ي = 10
    	Dim ك = 20
    	Dim ل = 30
    	Dim م = 40
    	Dim ن = 50
    	Dim ص = 60
    	Dim ع = 70
    	Dim ف = 80
    	Dim ض = 90
    	Dim ق = 100
    	Dim ر = 200
    	Dim س = 300
    	Dim ت = 400
    	Dim ث = 500
    	Dim خ = 600
    	Dim ذ = 700
    	Dim ظ = 800
    	Dim غ = 900
    	Dim ش = 1000
    	Dim Tab1 As String() = {"ا" , "ب", "ج", "د", "ه", "و", "ز", "ح", "ط", "ي", "ك", "ل", "م", "ن", "ص", "ع", "ف", "ض", "ق", "ر", "س", "ت", "ث", "خ", "ذ", "ظ", "غ", "ش"}
    	Dim Tab2 As Integer() = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000}
    	'Dim leMessage As String = Nbre_a.Text '"Coucou c'est moi"
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    	    Dim tab As New Hashtable 'Une HashTable pour stocker des clé/values (ici a/1, b/2, ...)
            Dim leMessage As String = Nbre_a.Text '"Coucou c'est moi"
            Dim somme As Integer = 0
            Dim i As Integer = 0
            'For Each caractere As Char In "ABCDEFGHIJKLMNOPQRSTUVWXYZ" 'On parcourt chaque lettre de l'alphabet
    		'For Each caractere As Char In "أبجدهوزحط"
    		'    tab.Add(caractere, i) 'On ajoute à la Hastable la lettre parcouru associé à notre compteur i
            '    i += 1
    		'Next
    		'For Each caractere As Char In "يكلمنصعف"
    		'	tab.Add(caractere, i) 'On ajoute à la Hastable la lettre parcouru associé à notre compteur i
            '    i += 10
    		'Next
    		'For Each caractere As Char In "ضقرستثخذظغش" 'On parcourt chaque lettre de l'alphabet
            '    tab.Add(caractere, i) 'On ajoute à la Hastable la lettre parcouru associé à notre compteur i
            '    i += 100
            'Next
    		''msgbox(Tab1(2))
    		''tab.Add(Tab1(0), 0)
    		''Dim table As new HashTable()
    		''For i=0 To 28		  
    		''  For Each carh As Char In "أبجدهوزحطيكلمنصعفضقرستثخذظغش"
    		''     table.Add(carh, i)
    		''	 i +=1
    		''  Next
    		''Next
    		'Dim myHash As Hashtable = CreateHashtable()
     
    		For Each caractere As Char In "أبجدهوزحطيكلمنصعفضقرستثخذظغش"
    		    tab.Add(caractere, Tab2(i)) 'On ajoute à la Hastable la lettre parcouru associé à notre compteur i
                i += 1
    		Next
     
    		'Search an Item
            'If tab.ContainsValue(Tab2(1)) Then
            '    MsgBox("الحرف ب موجود")
            'Else
            '    MsgBox("الحرف ب غير موجود")
            'End If
     
            'leMessage = leMessage.ToUpper 'On met tout en majuscule car sinon le caractère ne sera pas reconnu (a =/= A)
     
            leMessage = Replace(leMessage, " ", "")
    		For Each car As Char In leMessage 'on parcourt le message
    		'For Each k As Integer In Tab1 'on parcourt le message
                If tab.ContainsKey(car) Then 'on teste que le caractère parcouru fasse parti de notre Hashtable (ainsi on ne plantera pas sur des espaces ou caractères spéciaux)
    			'If Tab1(k) <> "" Then 'on teste que le caractère parcouru fasse parti de notre Hashtable (ainsi on ne plantera pas sur des espaces ou caractères spéciaux)
    			   'if inStr(leMessage,"ا") Then 'et ca retourne un variant.
                   'somme = somme + tab(car)
                    '  somme = somme + Val(Tab1(0)) '+ tab(car) On recupére la valeur numérique associé à notre caractère et on l'ajoute à notre somme
    				'  Else
    				  somme = somme + tab(car)
    			   'End If
                End If
    			'somme = somme + Tab2(car)
    			'MsgBox(somme)
            Next
    		'Dim kad As String = MsgBox(Mid(leMessage,1,Len(leMessage)))
    		'MsgBox(Tab2(0))
    		MsgBox(somme)
    	    Nbre_c.Text = somme
        End Sub
     
        Private Sub Effacer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Effacer.Click
            Nbre_a.Text = ""
            Nbre_b.Text = ""
            Nbre_c.Text = ""
    '        Nbre_x.Text = ""
    '        Nbre_x3.Text = ""
        End Sub
     
        Private Sub Quitter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Quitter.Click
            End
        End Sub
     
        Private Sub Equation_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Me.Visible = False
            Me.Hide()
            'Accueil.ShowDialog()
        End Sub
     
        Private Sub BtnResoudre_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnResoudre.Click
            'pour le test ... pas encore
        End Sub
        Sub equation(ByVal a As Integer, ByVal b As Integer, ByVal c As Integer, ByRef x1 As Single, ByVal x2 As Single)
            'pour le test ... pas encore
    		'For Each caractere As Char In "يكلمنصعف"
    		'	tab.Add(caractere, i) 'On ajoute à la Hastable la lettre parcouru associé à notre compteur i
            '    i += 10
    		'Next
    		''Dim somme As Integer = 0
    		''Dim test As Integer
    		''for Each test In Tab
            ''    somme = somme + Val(test)
    		''next
    		'MsgBox(Tab(5))
    	    Nbre_b.Text = MsgBox(Tab2(5))
        End Sub
    End Class
    merci pour vous tous

    RM:

    pour le Form, j'ai un form qui j'ai manipulé moi même grâce à un code sur le forum CodeSource.fr intitulé Équation et le code final grâce à _Ez3kiel

    Code final modifier
    Si vous aimez ma réponse, pensez à cliquer sur

    Si le problème est résolu, pensez à cliquer sur ( bouton en bas )

    cordialement

  17. #17
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Citation Envoyé par karirovax Voir le message
    citation du texte MABROUKI
    merci beaucoup mais j'arrive pas à le compiler ??
    A compiler (quel est le message d'erreur) ou à exécuter ?

    Perso j'ai testé il compile bien, il suffit de rajouter l'évènement TextBox1_TextChanged dans le textbox1 pour l'exécuter :
    Dans ta form en mode Design,
    il faut sélectionner le TextBox1,
    dans les propriétés : cliquer sur le bouton évènement (barre de bouton en haut),
    pour l'évènement TextChanged : cliquer sur la petite flèche à droite,
    et choisir dans la liste déroulante : TextBox1_TextChanged
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  18. #18
    Membre régulier

    Homme Profil pro
    Bricoleur ( débutant )
    Inscrit en
    Juillet 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Bricoleur ( débutant )
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 51
    Points : 90
    Points
    90
    Par défaut Re: VB.NET
    Citation Envoyé par rv26t Voir le message
    A compiler (quel est le message d'erreur) ou à exécuter ?

    Perso j'ai testé il compile bien, il suffit de rajouter l'évènement TextBox1_TextChanged dans le textbox1 pour l'exécuter :
    Dans ta form en mode Design,
    il faut sélectionner le TextBox1,
    dans les propriétés : cliquer sur le bouton évènement (barre de bouton en haut),
    pour l'évènement TextChanged : cliquer sur la petite flèche à droite,
    et choisir dans la liste déroulante : TextBox1_TextChanged
    Merci beaucoup

    Désolé, car j'ai mal exprimé mon problème et mes explications ...

    Pour la compilation j'utilise un fichier batch qui va directement appeler le compilateur VBC du .net framework ( j'ai pas de visual basic ) :
    voici le code batch
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    @echo off
    set path=C:\WINDOWS\Microsoft.NET\Framework\v3.5;%path%
    cls
    echo Compiling Projects..
     
    vbc "%1" /r:"System.dll" /r:"System.Windows.Forms.dll" 
    MSBuild.exe "%1"
     
    echo Si la compilation ‚chou‚ , C'est par ce que le variable d'envirennement
    echo n'est pas donn‚ pour VBC.exe ( path for vbc.exe ).
    echo If so, kindly add the .NET Framework SDK path to your path variable. 
    Pause
    donc c'est pour cela que je doit télécharger un projet déjà fait et je bricole à la suite.

    Cette méthode fonctionne très très bien dans tous les application que je l'ai bricoler ( pas beaucoup de chose mais juste pour comprendre ce qui doit arriver si on touche ou on modifier quelques paramètres )

    Pour le code du VB qui j'ai posté en haut, il me reste d'une boucle qui lire la phrase à partir du tableau et convertie la sortie en nombre puis donne la somme des lettre par ces numéros )
    RM:
    Les caractères que j'utilise se sont en Unicode ( autre langue qui écrit de droite à gauche "arabe")
    Pour finir le code de _Ez3kiel fonctionne très bien sauf que le code si j'ai bien compris augmente le compteur en une seul pas c-à-d qu'il commence A=1, B=2, et incrémente par UN mais la mienne doit respecter le pas après le nombre 10 qu'il deviendra 20, 30 ..., jusqu'à 100 puis quand il est à 100 il commence mais par 100 c-à-d 100, 200, ..., jusqu'à 1000 et il s'arrête et me donne le résultat des caractère trouver dans la phrase qui a été dans un textbox .

    merci
    Cordialement
    Si vous aimez ma réponse, pensez à cliquer sur

    Si le problème est résolu, pensez à cliquer sur ( bouton en bas )

    cordialement

  19. #19
    Membre régulier

    Homme Profil pro
    Bricoleur ( débutant )
    Inscrit en
    Juillet 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Bricoleur ( débutant )
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 51
    Points : 90
    Points
    90
    Par défaut
    Désolé pour vous tous c'est très gentille de me répondre, je sais que vous perdez beaucoup de temps pour m'éclairer

    mais pas de problème je vous laisse tranquillement, vous déjà me faites comprendre beaucoup des choses sur les codes ( commentaires, Partage des codes, remarques, ...etc )

    peut êtres que ma code besoin de mes efforts, besoin beaucoup de temps, et besoin des concentrations.

    En tout cas je laisse le code, je doit travailler durement pour que je puisse y arriver

    désolé aussi pour ma langue ( faute d'écriture, mal compréhension, " je suis pas français" )

    Merci à vous tous sans oublié personne
    Cordialement
    Si vous aimez ma réponse, pensez à cliquer sur

    Si le problème est résolu, pensez à cliquer sur ( bouton en bas )

    cordialement

  20. #20
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    Citation Envoyé par karirovax Voir le message
    Pour la compilation j'utilise un fichier batch qui va directement appeler le compilateur VBC du .net framework ( j'ai pas de visual basic)
    ca serait dommage de s'en passer, visual basic express étant gratuit ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/08/2002, 21h27
  2. Divers questions
    Par Freakazoid dans le forum DirectX
    Réponses: 2
    Dernier message: 06/08/2002, 21h57
  3. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11
  4. Question de faisabilité
    Par lisarasu dans le forum CORBA
    Réponses: 3
    Dernier message: 14/05/2002, 11h26
  5. [HyperFile] 2 questions de débutant
    Par khan dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 29/04/2002, 23h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo