begin process at 2012 02 15 23:45:01
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > MELANGOR

MELANGOR


 Information sur la source

Note :
8 / 10 - par 3 personnes
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Source .NET ( DotNet ) Niveau :Débutant Date de création :01/05/2004 Vu / téléchargé :7 497 / 260

Auteur : ZogStriP

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Cttee suroce a  été  téire de  clele de  Richard Clark  (http://www.c2i.fr/code.aspx?IDCode=546),  mias comme elle étais en  C#  et  que  moi  je  prreéfe le  VB.Net  aolrs j'ai  dcédié de  la  cniterovr. Ce  prmgromae cmmoe vuos aevz semreunt du  le  vior preemt de  mnéleagr les ltertes cormpesis dnas un mot (d'au mnois 4  leretst) . Volià !  

Source

  • Private Function ChangeLesMots(ByVal Texte As String) As String
  • ' Declare un nombre aléatoire :
  • Dim nbAlea As Random = New Random
  • ' Contient les caractères de séparations de deux mots :
  • ' le "c" après chaques separateur permet la conversion en Char !
  • Dim Separateurs() As Char = New Char() {" "c, ","c, ";"c, "."c, ":"c, ControlChars.Quote, "'".ToCharArray()(0), "-"c}
  • ' On crée un tableau qui contiendra les mots :
  • Dim Tableau() As String = Texte.Split(Separateurs)
  • ' Texte que l'on renverra :
  • Dim TexteModifie As sb = New sb(Texte.Length)
  • ' Permet de controler mot à mot :
  • Dim Mot As String
  • For Each Mot In Tableau
  • ' On choisie l'operation à faire selon la taille du mot :
  • Select Case (Mot.Length)
  • Case 0
  • Exit Select
  • Case 1
  • TexteModifie.Append(Mot + " ")
  • Exit Select
  • Case 2
  • TexteModifie.Append(Mot + " ")
  • Exit Select
  • Case 3
  • TexteModifie.Append(Mot + " ")
  • Exit Select
  • Case 4
  • ' C'est le seul changement possible :
  • TexteModifie.Append(Mot.Substring(0, 1))
  • TexteModifie.Append(Mot.Substring(2, 1))
  • TexteModifie.Append(Mot.Substring(1, 1))
  • TexteModifie.Append(Mot.Substring(3, 1))
  • Exit Select
  • Case Else
  • ' Contiendra le mot melange (de taille -2 puisqu'on ne change pas les
  • ' premieres et dernieres lettres ...)
  • Dim NouveauMot() As Char = New Char(Mot.Length - 2) {}
  • ' Permet de savoir quelles lettres il nous reste...
  • Dim Liste As ArrayList = New ArrayList
  • ' On ajoute les lettres à la liste :
  • Liste.AddRange(Mot.ToCharArray(1, Mot.Length - 2))
  • ' Pour chaques positions :
  • Dim position As Integer
  • For position = 0 To (Mot.Length - 2) - 1
  • ' Retire aléatoirement une lettre :
  • Dim Enleve As Integer = nbAlea.Next(Liste.Count)
  • NouveauMot(position) = CChar(Liste(Enleve))
  • Liste.RemoveAt(Enleve)
  • Next
  • ' 1ere lettre :
  • TexteModifie.Append(Mot.Substring(0, 1))
  • ' Mot modifie :
  • For position = 0 To NouveauMot.Length - 2
  • TexteModifie.Append(NouveauMot(position), 1)
  • Next
  • ' derniere lettre :
  • TexteModifie.Append(Mot.Substring(Mot.Length - 1, 1))
  • ' Plus rapide :
  • Exit Select
  • End Select
  • TexteModifie.Append(" ")
  • Next
  • ' On retourne le texte modifie :
  • Return TexteModifie.ToString
  • End Function
Private Function ChangeLesMots(ByVal Texte As String) As String
        ' Declare un nombre aléatoire :
        Dim nbAlea As Random = New Random
        ' Contient les caractères de séparations de deux mots :
        ' le "c" après chaques separateur permet la conversion en Char !
        Dim Separateurs() As Char = New Char() {" "c, ","c, ";"c, "."c, ":"c, ControlChars.Quote, "'".ToCharArray()(0), "-"c}
        ' On crée un tableau qui contiendra les mots :
        Dim Tableau() As String = Texte.Split(Separateurs)
        ' Texte que l'on renverra :
        Dim TexteModifie As sb = New sb(Texte.Length)
        ' Permet de controler mot à mot :
        Dim Mot As String
        For Each Mot In Tableau
            ' On choisie l'operation à faire selon la taille du mot :
            Select Case (Mot.Length)
                Case 0
                    Exit Select
                Case 1
                    TexteModifie.Append(Mot + " ")
                    Exit Select
                Case 2
                    TexteModifie.Append(Mot + " ")
                    Exit Select
                Case 3
                    TexteModifie.Append(Mot + " ")
                    Exit Select
                Case 4
                    ' C'est le seul changement possible :
                    TexteModifie.Append(Mot.Substring(0, 1))
                    TexteModifie.Append(Mot.Substring(2, 1))
                    TexteModifie.Append(Mot.Substring(1, 1))
                    TexteModifie.Append(Mot.Substring(3, 1))
                    Exit Select
                Case Else
                    ' Contiendra le mot melange (de taille -2 puisqu'on ne change pas les 
                    ' premieres et dernieres lettres ...)
                    Dim NouveauMot() As Char = New Char(Mot.Length - 2) {}
                    ' Permet de savoir quelles lettres il nous reste...
                    Dim Liste As ArrayList = New ArrayList
                    ' On ajoute les lettres à la liste :
                    Liste.AddRange(Mot.ToCharArray(1, Mot.Length - 2))
                    ' Pour chaques positions :
                    Dim position As Integer
                    For position = 0 To (Mot.Length - 2) - 1
                        ' Retire aléatoirement une lettre :
                        Dim Enleve As Integer = nbAlea.Next(Liste.Count)
                        NouveauMot(position) = CChar(Liste(Enleve))
                        Liste.RemoveAt(Enleve)
                    Next
                    ' 1ere lettre :
                    TexteModifie.Append(Mot.Substring(0, 1))
                    ' Mot modifie :
                    For position = 0 To NouveauMot.Length - 2
                        TexteModifie.Append(NouveauMot(position), 1)
                    Next
                    ' derniere lettre :
                    TexteModifie.Append(Mot.Substring(Mot.Length - 1, 1))
                    ' Plus rapide :
                    Exit Select
            End Select
            TexteModifie.Append(" ")
        Next
        ' On retourne le texte modifie :
        Return TexteModifie.ToString
    End Function

 Conclusion

Je voudrais savoir si il est possible de savoir quel séparateur à permis de couper le mot courant pour ensuite pouvoir mettre : TexteModifie.Append(Separateur) au lieu de TexteModifie.Append(" ")...

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture CUBE TIMOR
Source avec Zip Source avec une capture ANONYME MAILOR
Source avec Zip Source avec une capture RUBIKSCUBOR
Source avec Zip Source avec une capture Source .NET (Dotnet) AACOR
Source avec Zip Source avec une capture [JEUX] VIRUSOR

 Sources de la même categorie

Source avec Zip TEXTBOX EN NUMÉRIQUE par 320C
Source avec Zip DÉCIMAL TO HEXDECIMAL par loulou27200
SOUS-TITRES : INCRÉMENTATION DE TOUTES LES CHAÎNES DE CARACT... par ALMIRA
Source avec Zip Source avec une capture EVALUER UN NOMBRE D'OBJETS AVEC UNE BALANCE ET DEUX ÉCHANTIL... par lexsty
Source avec Zip Source avec une capture PETIT LOGICIEL DE DEVIS SANS BD par lololilizozo

Commentaires et avis

Commentaire de Pingouin le 01/05/2004 14:16:35

cool mais ca sert a quoi ? Si je peux me permettre cette question betement utilitariste et materialiste .

Pingouin

Commentaire de ZogStriP le 01/05/2004 14:22:23 administrateur CS

Tout simplement à rien !
C'est là l'intêret !

MDR

Commentaire de EBArtSoft le 01/05/2004 21:30:17 administrateur CS

http://www.vbfrance.com/code.aspx?ID=8550

No comment...

Commentaire de ZogStriP le 01/05/2004 21:37:02 administrateur CS

dsl EBArtSoft

Commentaire de EBArtSoft le 01/05/2004 21:40:03 administrateur CS

Y'a pas de mal, moi je l'aime bien cette source ! lol

@+

Commentaire de jesusonline le 01/05/2004 21:58:59 administrateur CS

Effectivement ca sert à rien mais c'est marrant, et puis ca peut permettre d'apprendre certains trucs aux debutants.

Par contre tu as une erreur dans le code (on dirait les traducteur automatique :p)

donc à la place de
' Texte que l'on renverra :
Dim TexteModifie As sb = New sb(Texte.Length)
il faut mettre
' Texte que l'on renverra :
Dim TexteModifie As System.Text.StringBuilder = New System.Text.StringBuilder(Texte.Length)


sinon pour les signes de ponctuation, je ne vois pas de methode simple :( j'ai deux solutions soit on gere pour chaque separateur (vive les perf ...) soit sinon tu enregistres la position de ces caractères et tu le replace ensuite, contact moi si tu comprend pas :p

Commentaire de ZogStriP le 01/05/2004 22:42:29 administrateur CS

pour le sb j'ai fait un : imports sb = System.Text.StringBuilder...
Sinon merci pour le conseil, je verrais ce que je peux faire !

Commentaire de clementpat le 02/05/2004 11:19:15

pas mal .

Commentaire de azerty25 le 04/05/2004 13:10:00

Pour l'utilité, c'est un peu pour montrer que le cerveau peut lire les mots tant que la premiere et derniere lettre son à leur place et les lettres restantes mélangées, en gros.
Sinon, sur le screen, je vois qu'il ya un pb, l'apostrophe vers la fin n'a pas été pris

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales