Décoder plusieurs lettres en morse

Résolu
darkless Messages postés 7 Date d'inscription mardi 23 mai 2006 Statut Membre Dernière intervention 4 décembre 2006 - 23 mai 2006 à 15:37
darkless Messages postés 7 Date d'inscription mardi 23 mai 2006 Statut Membre Dernière intervention 4 décembre 2006 - 25 mai 2006 à 11:16
salut comment allez-vous ? En fait je voudrais faire apparaitre plusieurs lettre dans mon label car en fet j'ai des point des barres des "/ " qui me servent a différencier les lettres mais quand je fait pour mettre ma lettre le séparateur et une otres lettres je n'ai rien mais si je met juste une lettre sa fonctionne . aidez moi svp c'est pour l'école et je patauge. merci beaucoup
voila mon code du bouton traduire 

Select Case morse
Case ". _ ": lettre = "A"
Case "_ . . . ": lettre = "B"
Case "_ . _ . ": lettre = "C"
Case "_ . . ": lettre = "D"
Case ". ": lettre = "E"
Case ". . _ . ": lettre = "F"
Case "_ _ . ": lettre = "G"
Case ". . . . ": lettre = "H"
Case ". . ": lettre = "I"
Case ". _ _ _ ": lettre = "J"
Case "_ . _ ": lettre = "K"
Case ". _ . . ": lettre = "L"
Case "_ _ ": lettre = "M"
Case "_ . ": lettre = "N"
Case "_ _ _ ": lettre = "O"
Case ". _ _ . ": lettre = "P"
Case "_ _ . _ ": lettre = "Q"
Case ". _ . ": lettre = "R"
Case ". . . ": lettre = "S"
Case "_ ": lettre = "T"
Case ". . _ ": lettre = "U"
Case ". . . _ ": lettre = "V"
Case ". _ _ ": lettre = "W"
Case "_ . . _ ": lettre = "X"
Case "_ . _ _ ": lettre = "Y"
Case "_ _ . . ": lettre = "Z"
End Select
lblt.Caption = lblt.Caption + lettre
End Sub

10 réponses

linasteph Messages postés 153 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 juillet 2009 1
23 mai 2006 à 15:53
Bon si je comprends bien:

Tu as une texbox ou tu tapes ton code morse séparé par des "/" c'est ça?


Dans ce cas tu dois découper ta chaîne de départ via la fonction Split et ensuite pour chaque sous-chaîne exécuter ton case
3
cs_lolowilou69 Messages postés 23 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 22 janvier 2007
23 mai 2006 à 15:52
Essai de mettre      " lblt.Caption = lblt.Caption & lettre"            pluto que   lblt.Caption = lblt.Caption + lettre
0
darkless Messages postés 7 Date d'inscription mardi 23 mai 2006 Statut Membre Dernière intervention 4 décembre 2006
23 mai 2006 à 15:55
oui mais comment je dois faire pour le split chaine , et sous-chaine ?
0
linasteph Messages postés 153 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 juillet 2009 1
23 mai 2006 à 16:00
tu fais:


Dim Vals as variant

Vals = Split(Chaîne,"/")

For cpt = 0 to Ubound(Vals)

Select Case Vals(cpt)

Case ". _ ": lettre = "A"

Case "_ . . . ": lettre = "B"

Case "_ . _ . ": lettre = "C"

Case "_ . . ": lettre = "D"

Case ". ": lettre = "E"

Case ". . _ . ": lettre = "F"

Case "_ _ . ": lettre = "G"

Case ". . . . ": lettre = "H"

Case ". . ": lettre = "I"

Case ". _ _ _ ": lettre = "J"

Case "_ . _ ": lettre = "K"

Case ". _ . . ": lettre = "L"

Case "_ _ ": lettre = "M"

Case "_ . ": lettre = "N"

Case "_ _ _ ": lettre = "O"

Case ". _ _ . ": lettre = "P"

Case "_ _ . _ ": lettre = "Q"

Case ". _ . ": lettre = "R"

Case ". . . ": lettre = "S"

Case "_ ": lettre = "T"

Case ". . _ ": lettre = "U"

Case ". . . _ ": lettre = "V"

Case ". _ _ ": lettre = "W"

Case "_ . . _ ": lettre = "X"

Case "_ . _ _ ": lettre = "Y"

Case "_ _ . . ": lettre = "Z"

End Select

lblt.Caption = lblt.Caption & lettre

Next cpt


voilà je pense que cela devrait fonctionner
0

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

Posez votre question
darkless Messages postés 7 Date d'inscription mardi 23 mai 2006 Statut Membre Dernière intervention 4 décembre 2006
23 mai 2006 à 16:10
désolé sa ne fonctionne pas :s mon deuxième label ou devrait s'afficher les lettres n'affiche rien du tout
0
cs_franckydeluka Messages postés 228 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 4 janvier 2008 1
23 mai 2006 à 16:38
Salut ,

Je ne trouve pas tellement excellent cette idée de séparer chaque lettres morses par des "/" enfin c'est toi qui voit

1°) il te faut sur ta feuille 2 textbox (Text1 : source et Text2 : destination)
2°) ensuite place cet algorythme dans l'évenement click du bouton de traduction

'******************************************************
Dim Vals, cpt As Variant
Dim lettre As String



Text2.Text = ""



Vals = Split(Text1.Text, "/")
For cpt = 0 To UBound(Vals)
    Select Case Vals(cpt)
        Case ". _ ": lettre = "A"
        Case "_ . . . ": lettre = "B"
        Case "_ . _ . ": lettre = "C"
        Case "_ . . ": lettre = "D"
        Case ". ": lettre = "E"
        Case ". . _ . ": lettre = "F"
        Case "_ _ . ": lettre = "G"
        Case ". . . . ": lettre = "H"
        Case ". . ": lettre = "I"
        Case ". _ _ _ ": lettre = "J"
        Case "_ . _ ": lettre = "K"
        Case ". _ . . ": lettre = "L"
        Case "_ _ ": lettre = "M"
        Case "_ . ": lettre = "N"
        Case "_ _ _ ": lettre = "O"
        Case ". _ _ . ": lettre = "P"
        Case "_ _ . _ ": lettre = "Q"
        Case ". _ . ": lettre = "R"
        Case ". . . ": lettre = "S"
        Case "_ ": lettre = "T"
        Case ". . _ ": lettre = "U"
        Case ". . . _ ": lettre = "V"
        Case ". _ _ ": lettre = "W"
        Case "_ . . _ ": lettre = "X"
        Case "_ . _ _ ": lettre = "Y"
        Case "_ _ . . ": lettre = "Z"
        Case Else: GoTo Suivant
    End Select
    Text2.Text = Text2.Text & lettre
   
Suivant:
Next cpt
'******************************************************

voilà





Deluka.
0
darkless Messages postés 7 Date d'inscription mardi 23 mai 2006 Statut Membre Dernière intervention 4 décembre 2006
23 mai 2006 à 16:46
la il ne me met qu'une seule lettre et pas la deuxième :s bizarre me dira tu
0
cs_franckydeluka Messages postés 228 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 4 janvier 2008 1
23 mai 2006 à 17:16
okay parce que comme le code est fait tu dois placer les lettres à décoder comme ceci :

". . . _ /_ . . . "

c'est qu'il ne doit pas reconnaître le deuxième caractère
es-tu sûr d'avoir aucun espaces après le "/"

essaie de décoder ce que je t'ai mis entre crochets

Deluka.
0
linasteph Messages postés 153 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 juillet 2009 1
24 mai 2006 à 07:27
Oui c'est vrai que je suis d'accord avec toi Franky séparer par des "/" c'est pas top.

En plus d'après ton code il apparaît que chaque élément d'une lettre
est séparé par un espace et q'un espace est placé à chaque fin de
lettre genre pour faire sos il faudrait taper ". . . /_ _ _ /. . . ." c'est pas pratique.

Pourquoi ne pas coller tous les élements d'une lettre (ex S = ...) et séparer chaque lettre par un espace.
0
darkless Messages postés 7 Date d'inscription mardi 23 mai 2006 Statut Membre Dernière intervention 4 décembre 2006
25 mai 2006 à 11:16
l'espace entre c'est parce que si on colle les "_" sans mettre d'espace on croirais a un trait continu donc c pour cela que j'ai mis des espace.
0
Rejoignez-nous