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 :

Faire apparaître d'autres caractères


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2011
    Messages : 113
    Par défaut Faire apparaître d'autres caractères
    Bonjour,
    Alors aujourd'hui je me suis lancer dans un projet de "crypter"
    J'avais fais ceci :

    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
     
            For Each a In TextBox1.Text
                TextBox2.Text = "wa" + Texte
            Next
            For Each b In TextBox1.Text
                TextBox2.Text = "zD" + Texte
            Next
            For Each c In TextBox1.Text
                TextBox2.Text = "mg" + Texte
            Next
            For Each d In TextBox1.Text
                TextBox2.Text = "od" + Texte
            Next
            For Each f In TextBox1.Text
                TextBox2.Text = "xd" + Texte
            Next
            For Each g In TextBox1.Text
                TextBox2.Text = "er" + Texte
            Next
    Cependant lorsque je veux entrer abcd ou autre, cela m'affiche "er", correspondant à "g", si quelqu'un pouvait m'aider :'(
    Cordialement,
    T4unt

  2. #2
    Membre Expert
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Par défaut
    Bonsoir,

    Quand on écrit For Each machin In truc cela signifie boucle pour chaque élément contenu dans truc en affectant l'élément actuel dans la variable machin.

    Ainsi For Each a In TextBox1.Text ne signifie pas pour chaque "a" (la lettre) trouvée dans la zone de texte ; mais pour chaque caractère contenu dans la zone de texte, affecte tour à tour ce caractère à la variable "a" et fait le traitement.

    Par conséquent toutes tes boucles sont exécutées et ainsi visuellement seule la dernière semble avoir agi.

    Il faut donc faire une boucle de ce style plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    For Each item As Char In TextBox1.Text
        Select Case item
            Case 'a'
                TextBox2.Text = "wa" + Texte
            Case 'b'
                TextBox2.Text = "zD" + Texte
            ' etc.
        End Select
    Next
    Traduisant ainsi l'idée pour chaque élément de la zone de texte, selon que l'actuel soit un a, un b etc. remplacer par ceci ou cela.

    N.B. : Cela reste bien sûr l'idée théorique (schématique) il me semblerait préférable d'utiliser par exemple un dictionnaire, contenant comme clef les caractères sources et comme valeurs leurs transcriptions.

    Cordialement !

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut
    Je ne sais pas trop vu que j'ai rien pour tester sous la main mais il me semble que (déjà je trouve bizarre que ça ne plante pas...) mais si tu ne type pas tes boucles il doit prendre ça comme un générique, genre " je ne sais pas trop ce qu'il y a dans le textBox, mais ça doit être ça..." donc il remplace sur le dernier.

    Je pense que tu devrais typer tes boucles du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    For each c as Char in taTextBox.Text
         If c.Equals("a") Then taTextBox.Text = taTextBox.Text.Replace("a", "ceQueTuVeux")
    Next

  4. #4
    Membre confirmé
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2011
    Messages : 113
    Par défaut
    Un grand merci à vous deux, demain j'ai cours je vais donc vous dire le résultat demain en fin d'aprem !
    Sur ce, manger tout les deux un +1

  5. #5
    Membre confirmé
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2011
    Messages : 113
    Par défaut
    Bonjour,
    J'ai donc tester la deuxième solution en premier (celle que je comprenais le plus )
    Mais elle ne marche pas, j'ai beau essayer de changer de "syntaxe" rien y fait,
    J'edit pour la première solution histoire de vous tenir au courant

    2ème partie :

    Alors, sa fonctionne, mais lorsque je met "a" cela me donne bien l’encryptions voulus, mais lorsque je met "ab" qui sont pourtant tout les deux déclarer, sa ne marche pas, comment faire pour "additionner" les encryptions ?

  6. #6
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For each c as Char in taTextBox.Text
         If c.Equals("a") Then taTextBox.Text = taTextBox.Text.Replace("a", "ceQueTuVeux")
    Next
    Tu risques d'avoir des problèmes avec des String.Replace()

    Je te conseil de procédé ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    foreach (char c in stringOriginal) stringCrypter+=Crypte(c);
     
    string Crypte(char c)
    {
     switch (c)
    {
    case 'a': return "aw"
    case 'b': return "bw"
    ...
    }
    }
    De plus comme encryption je ferai un décalage de bit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    char Crypte(char c)
    {
    return (char) (int) c -2;
    }

  7. #7
    Membre confirmé
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2011
    Messages : 113
    Par défaut
    Citation Envoyé par BenoitM Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For each c as Char in taTextBox.Text
         If c.Equals("a") Then taTextBox.Text = taTextBox.Text.Replace("a", "ceQueTuVeux")
    Next
    Tu risques d'avoir des problèmes avec des String.Replace()

    Je te conseil de procédé ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    foreach (char c in stringOriginal) stringCrypter+=Crypte(c);
     
    string Crypte(char c)
    {
     switch (c)
    {
    case 'a': return "aw"
    case 'b': return "bw"
    ...
    }
    }
    De plus comme encryption je ferai un décalage de bit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    char Crypte(char c)
    {
    return (char) (int) c -2;
    }
    Bonjour,
    Ceci ne serait pas du C# ? car Express ne le prend pas ...

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/06/2015, 17h08
  2. Réponses: 4
    Dernier message: 04/02/2014, 16h38
  3. Faire apparaître un <div> à la place d'un autre
    Par skyangel20 dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 11/01/2008, 09h11
  4. Faire apparaître un champ texte en cliquant sur un select
    Par yoyot dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/03/2005, 16h16

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