Partage
  • Partager sur Facebook
  • Partager sur Twitter

Aide programme pour "agents secret"^^

problème : niveau débutant mais je suis bien coincée

    16 juin 2011 à 12:31:15

    Bonjour, on va dire que la programmation c'est nouveau pour moi...Trois jours que je regarde les tutos sur le VB.NET (bravo d'ailleurs à l'auteur), là bon j'ai sans doute survolé trop vite un ou deux chapitres et je me retrouve coincée...

    (Mon projet là c'est une : "Application Windows Forms")

    Quelqu'un pourrait-il m'aider ? :euh:

    Je m'explique : Je suis entrain de faire un programme pour faire des messages codés (genre a = 1, b=2...etc), mon probleme est le suivant :

    Sur une fenêtre :

    J'ai deux Richtextbox. En théorie on écrit son message dans la première Richtextbox, on clique sur le bouton "crypter",le message apparaît crypté dans la seconde Richtextbox.
    Si rien est écrit dans la première Richtextbox ça affiche un message d'erreur.

    Actuellement, j'arrive à faire afficher le message d'erreur quand ça va pas, pas contre le texte n'est pas "crypté"...

    Mon idée est d'utiliser "Replace()", le but est de remplacer une lettre par une autre dans le texte final (exemple "a" = "1-", "b" = "2-" et etc.) mais j'y arrive pas... :(

    Si quelqu'un peut voler à ma rescousse ! Merci !
    • Partager sur Facebook
    • Partager sur Twitter
      17 juin 2011 à 15:33:53

      Peux-tu poster ton code?
      Ca serait plus simple pour t'aider ^^
      • Partager sur Facebook
      • Partager sur Twitter
        18 juin 2011 à 16:03:51

        Voilà le passage du code qui nous intéresse:

        Dim strBuilder As New StringBuilder()
        Dim containsDigits As Boolean = False
        For Each car As Char In TXT_messagebase.Text
        If Char.IsUpper(car) Then
        strBuilder.AppendFormat("{0:d2}", Convert.ToInt32(car) - 64)
        Continue For
        ElseIf Char.IsLower(car) Then
        strBuilder.AppendFormat("{0:d2}", Convert.ToInt32(car) - 96)
        Continue For
        ElseIf Char.IsDigit(car) Then
        containsDigits = True
        End If
        strBuilder.AppendFormat(car)

        Finalement, ça marche comme ça, cependant, j'aimerais rajouter un "-" ou un "." après chaque caractère car sinon on ne fait pas la différence entre un 2 suivi d'un 6 et 26...

        Une idée ?
        • Partager sur Facebook
        • Partager sur Twitter
          18 juin 2011 à 18:51:19

          Tu pourrais faire plusieurs mini- rich text box dans lesquels tu mettrait les différents numéros.
          • Partager sur Facebook
          • Partager sur Twitter
            20 juin 2011 à 10:26:55

            Plusieurs Mini Rich TextBox? Bonjour l'interface après :s

            Pourquoi pas ceci?

            Dim strBuilder As New StringBuilder()
            Dim containsDigits As Boolean = False
            
            For Each car As Char In TXT_messagebase.Text
                If Char.IsUpper(car) Then
                    strBuilder.AppendFormat("{0:d2}", Convert.ToInt32(car) - 64)
                ElseIf Char.IsLower(car) Then
                    strBuilder.AppendFormat("{0:d2}", Convert.ToInt32(car) - 96)
                ElseIf Char.IsDigit(car) Then
                    containsDigits = True
                End If
               
               strBuilder.Append(".")
            Next
            
            strBuilder.AppendFormat(car)
            


            Bien sur il faudrait retirer le dernier "." si ça fonctionne avec la méthode SubString(ça fait des années que j'ai plus fait de VB ^^)
            • Partager sur Facebook
            • Partager sur Twitter

            Aide programme pour "agents secret"^^

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown