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 6 et antérieur Discussion :

Programme mettant un mot au pluriel


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 112
    Points : 70
    Points
    70
    Par défaut Programme mettant un mot au pluriel
    Bonjour,

    je débute en programmation sous vb6,
    j'essaye de faire un programme qui lit un mot et vérifie si le mot est égal à:
    Hibou chou genou caillou joujou pou

    si oui il ajoute un x
    et si non il met un s

    je ne sais pas si j'ai été clair.

    Je sais que ce n'est pas compliqué, mais je manque énormément de pratique.

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 165
    Points
    17 165
    Par défaut
    Bienvenue sur DVP

    Citation Envoyé par levasseur62 Voir le message
    Bonjour,
    ........
    voila je sais que ce n'est pas compliqué, mais je manque énormément de pratique.
    Pas aussi évidant que cela pour un de tes premiers pas dans la programmation.

    Un coup de main conséquent pour tes débuts:
    Un TextBox pour l'entrée du mot par l'utilisateur
    Un CommandButton pour déclencher la correction/suggestion

    Une variable tableau contenant toutes les exceptions
    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
    Dim TblException(6)
    'http://fr.wikipedia.org/wiki/Pluriel_des_mots_en_%C2%AB_ou_%C2%BB
    'ces mots prennent un X au pluriel
    '1.bijou
    '2.caillou
    '3.chou
    '4.genou
    '5.hibou
    '6.joujou
    '7.pou
    TblException(0) = "bijou"
    TblException(1) = "caillou"
    TblException(2) = "chou"
    TblException(3) = "genou"
    TblException(4) = "hibou"
    TblException(5) = "joujou"
    TblException(6) = "pou"
    Lors du CLick sur le bouton:
    l'utilisateur à t'il entré quelque chose dans le TextBox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Trim(Text1.Text) = "" Then
        MsgBox "Entrez un mot avant d'utilser le bouton", vbInformation
        Exit Sub
    End If
    éliminer les éventuels espaces à droite et à gauche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Text1.Text = Trim(Text1.Text)
    Pour faire une comparaison par la suite, on force le mot en lettres minuscules
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Text1.Text = LCase(Text1.Text)
    L'utilisateur à t il déjà mis le mot au pluriel ? si oui on élimine le dernier caractère
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Right(Text1.Text, 1) = "x" Then Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1)
    If Right(Text1.Text, 1) = "s" Then Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1)
    Le mot proposé existe t il ? ...... j'y reviendrait plus tard

    On boucle pour déterminer si le mot appartient aux exceptions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim T As Integer
    Dim IlAppartient As Boolean
    ilAppartient = False
    For T = 0 To 6
        If Text1.Text = TblException(T) Then ilAppartient = True
    Next T
    On analyse le résultat de la boucle, on agit en conséquence
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If IlAppartient = True Then
        MsgBox "le pluriel de " & Text1.Text & " est " & Text1.Text & "x"
        Else
        MsgBox "le pluriel de " & Text1.Text & " est " & Text1.Text & "s"
    End If
    Le mot proposé existe t il ? ...... j'y revient
    Regardes cette discussion Utilisation de Word pour correction orthographique d'une entrée d'un TextBox Les uns et les autres pourront t'aider à mettre ce code dans ton application.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 112
    Points : 70
    Points
    70
    Par défaut
    Merci ProgElecT pour ta réponse ,clair,lucid,rapide,organisé,détaillé,que même les mots ne sont pas assez fort pour te décrire
    jespère que l'on se revera
    tu est super reste comme sa,

  4. #4
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 512
    Points : 671
    Points
    671
    Par défaut
    Bonjour,
    Une suggestion: plutôt que de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Dim TblException(6)
     
    TblException(0) = "bijou"
    TblException(1) = "caillou"
    TblException(2) = "chou"
    TblException(3) = "genou"
    TblException(4) = "hibou"
    TblException(5) = "joujou"
    TblException(6) = "pou"
    et de mettre les noms manuellement dans un tableau

    Ouvrir le bloc-notes, ecrire les noms: bijou,caillou... etc dans le Bloc-notes.
    Sauver dans un répertoire sous le nom par exemple Vocabulaire

    puis dans la Sub Form_ Load ajouter
    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
     
     Dim TblException() As String  'tableau dynamique
     Dim Nbuf As Integer, i As Integer
     Dim MaxSize As Long
     Dim Valfic As String
     
     Nbuf = FreeFile
     Open "C:\Vocabulaire.txt" For Binary As #Nbuf   'mettre le chemin approprié
     MaxSize = LOF(Nbuf)  'nombre d"octets du fichier
     Valfic = Space(MaxSize)
     Get #Nbuf, 1, Valfic   'lire le contenu 
     TblException = Split(Valfic, vbCrLf)  'redimensionne le tableau suivant le 'contenu du fichier texte et place chaque mot dans le tableau
     For i = o To UBound(TblException)
        MsgBox TblException(i)  'ici uniquement ceci pour vérifier
     Next
     Close Nbuf
    Ceci pour permettre de compléter ou changer le vocabulaire dans le Bloc-notes sans faire des modifications dans le programme.

    A+

  5. #5
    Membre régulier
    Inscrit en
    Octobre 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 112
    Points : 70
    Points
    70
    Par défaut
    on doit pas déclarer les tableaux ???
    Comment fait-on pour rentrer le mot saisie par l'utilisateur dans le tableaux?

  6. #6
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 165
    Points
    17 165
    Par défaut
    Citation Envoyé par levasseur62
    on doit pas déclarer les tableaux ???
    Citation Envoyé par iclic
    Dim TblException() As String 'tableau dynamique
    Citation Envoyé par levasseur62
    Comment fait-on pour rentrer le mot saisie par l'utilisateur dans le tableaux?

    Le tableau ne sert qu'a mémoriser les exceptions, l'utilisateur propose un mot par le biais d'un TextBox, ce mot on le compare aux exceptions.
    Iclic te propose de mettre ces exceptions dans un fichier (chaque exceptions sur une ligne), de charger le fichier en entier puis, de remplir le tableau avec (pour autant, il n'y a que très peu de risque que de nouveaux mots d'exceptions se terminant par "OU" soit entrés avant que ton programme ne soit devenu obsolète ).
    La fonction Split permet de remplir une variable tableau sans avoir à préciser sa dimension (nombre d'index), cela est fait automatiquement par cette fonction.
    Un F2, mieux F1 te donnera toutes les explications.
    Pour F1, si tu n'as pas encore installé MSDN en français, tu peux le charger à partir du lien qui ce trouve dans ma signature.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    Membre régulier
    Inscrit en
    Octobre 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 112
    Points : 70
    Points
    70
    Par défaut
    j'ai vu qu'il déclarer leur variable dans leur tableaux c'est parce ce qu'il sont en vb.net ?

  8. #8
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 165
    Points
    17 165
    Par défaut
    Et oui, bien que ce soit du VB, il y a des différences.
    Si cela t'intéresse DVP --> FAQ VB.NET
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  9. #9
    Membre régulier
    Inscrit en
    Octobre 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 112
    Points : 70
    Points
    70
    Par défaut
    salut petite faille dans ton programme lorsque je tape textxx,(je vais pas te diputer )
    j'ai du mal a comprendre le principe de comment on manipule les chaine de caractère:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If Right(Text1.Text, 1) = "x" Then Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Right(Text1.Text, 1) = "x"
    :veut dire qu'il commence a la fin(Right) et qu'il regarde si il ya un "x"? le ,1 sert a quoi?

    pour regarder si le deuxieme mot en partant de la droite on écrit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     If Right(Text1.Text, 2)
    ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Left(Text1.Text, Len(Text1.Text) - 1)
    : supprimer le caractère en allant a gauche ?

    on aurait voulut supprimer celui de droite on aurrait fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Right(Text1.Text, Len(Text1.Text) - 1)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Left(Text1.Text, Len(Text1.Text) + 1)
    si je veut faire un programme qui regarde si le mot sont des annagrammes: (niche et chien sont des annagrammes):

    je déclare une variable dans laquelle je mettrais le caractère et je comparerais le caractère au autre caractère du mot
    mais comment puis-je faire ceci ,ou existe t-il une méthode plus simple?
    je vois pas trop comment faire :/

  10. #10
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 165
    Points
    17 165
    Par défaut
    Citation Envoyé par ProgElecT 1° réponse
    Pas aussi évidant que cela pour un de tes premiers pas dans la programmation.
    .........
    Le mot proposé existe t il ? ...... j'y revient
    Cette proposition a été faite pour un programmeur débutant (on passe tous par ce stade).
    J'ai un projet d'étude qui sait aussi utiliser les synonymes et antonymes,

    mais il me semble que cela n'est abordables que si on maîtrise suffisamment le langages VB6 et l'utilisation externe d'une application (Word en l'occurrence).

    Quand je signalais pas aussi évidant que cela c'est que je savais que le code proposé ne gérait pas tous les cas d'une entrée utilisateur du programme.

    Le fait que tu te poses des questions sur Left et Right pour la manipulation de chaîne de caractères confirme qu'il te faut absolument maîtriser le langage VB6 avant d'aller plus loin.
    Je le répète, on ai tous passé par ce stade, mon propos n'est pas de te décourager, mais il faut accepter de ne pas sauter des étapes, ne passer à la suite des choses que quand on maîtrise suffisamment ce qui précède.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mettre un mot au pluriel si > à 1
    Par jlb59 dans le forum Langage
    Réponses: 10
    Dernier message: 13/12/2008, 00h54
  2. programme mot de passe
    Par bloowind dans le forum C++
    Réponses: 7
    Dernier message: 15/06/2006, 09h38

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