Mélange deux textbox non aléatoire

vegetalain Messages postés 747 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 11 août 2022 - 23 déc. 2007 à 11:44
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 23 déc. 2007 à 17:59
Salut tout le monde... hm voilà, toujours dans mon super projet de programme de cryptage, j'aimerais inclure ce type de mélange de caractères : si on a text1 = voiture, et text2 = 0123456, comment obtenir d'une part : v0o1i2t3u4r5e6, et d'autre part, "dé-mélanger" le tout, pour ré-tobtenir text1 et text2, sachant que l'ordre sera définitif, pas aléatoire. Les lettres garderont leur ordre... (ça sera plus simple pour les dissocier et les restituer je pense)... ça ne sera qu'une partie du traitement "cryptodélirant" de mon prog...

Merci d'avance...
A voir également:

14 réponses

cs_Megafan Messages postés 389 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 septembre 2016 2
23 déc. 2007 à 12:08
Salut,
Plutot que de t'ecrire ce code , je te propose un piste

Dim i as integer

for i=1 to len(Text1.text)
   msgbox mid(text1.text1,i,1)
next

voila à toi de joueur maintenant
@+
Megafan
0
vegetalain Messages postés 747 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 11 août 2022
23 déc. 2007 à 13:47
ok merci, je vais zieuter ça !!!
0
vegetalain Messages postés 747 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 11 août 2022
23 déc. 2007 à 14:17
Avec text1, text2, command1, et text3 pour le résultat...


Private Sub Command1_Click()
Dim i As Integer


    For i = 1 To Len(Text1.Text)
    Text1.Tag = Mid(Text1.Text, i, 1)
    Text2.Tag = Mid(Text2.Text, i, 1)
    Text3.Text = Text3.Text & Text1.Tag & Text2.Tag
    Next


End Sub

ca a l'air de bien fonctionner. Merci !!!
Euh, mais pour restituer, j'ai rajouter deux autres textbox... j'ai bienenvie de me servir de timers pour permuter d'une textbox à l'autre, j'ai fait un essai mais c pas ça...
0
mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
23 déc. 2007 à 15:07
Salut,

Pourquoi 2 textbox?
Text3 n'est pas suffisant?

 Pourapprendretoujoursplus!
0

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

Posez votre question
vegetalain Messages postés 747 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 11 août 2022
23 déc. 2007 à 15:12
c pour l'appli' brouillon, histoire d'y voir clair, première chaine dans text1, seconde chaine dans text2. on mix dans text3, jusque là o k.
J'ai préféré rajouter text4 pour restituer le contenu initial de Texte1, et text5 pour restituer text2, plutôt que d'effacer le contenu des deux premiers... juste comme ça !
...
0
mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
23 déc. 2007 à 15:21
Ah ok.
Quel est ton problème dans ce cas là?
Copier text1 et text2 dans text4 et text5?

 Pourapprendretoujoursplus!
0
vegetalain Messages postés 747 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 11 août 2022
23 déc. 2007 à 15:34
.... ? euh, nananananan relis bien ma "requête", trouver le contenu de text3 ça c bon, maintenant le but est de retrouver le contenu du text1 et text2 "uniquement" à partir du contenu du text3 (ça veut dire que le text1 et le text2 =  pouf, à 'pus), soit dissocier les lettres et les remettre une à une... dans deux champs vides et bien distinct !  en gros le truc inverse qui a "rempli" le champ text3 !
0
mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
23 déc. 2007 à 15:41
Ah ok
ben dans ce cas là, fais:

dim i as integer
for i=1 to len(text3.text)
   if i mod 2=1 then
      text4.text=text4.text & mid$(text3.text,i,1)
   else
      text5.text=text5.text & mid$(text3.text,i,1)
   endif
next

 Pourapprendretoujoursplus!
0
mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
23 déc. 2007 à 15:45
ps: ça c'est valable si text1 et text2 ont à la base la même longueur, sinon, faut regarder soit le type de caractère qu'il y a à l'intérieur de ton text3 si jamais text1 et text2 ont des caractères de type différents, soit tu gardes en mémoire l'emplacement des données (genre une chaine "1,2,1,2,...")

 Pourapprendretoujoursplus!
0
vegetalain Messages postés 747 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 11 août 2022
23 déc. 2007 à 15:46
Trop cool, ça fonctionne super bien ! Merci Megafan et mstarsup5 !!!!!
0
vegetalain Messages postés 747 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 11 août 2022
23 déc. 2007 à 15:48
normalement c pour deux chaines de même longueur... pour le test j'ai mis deux trucs courts mais il devrait y avoir genre dans les 300 caractères dans les deux champs, soit quasiment 600 caractères dans ce qui fera office de "text3" !
0
vegetalain Messages postés 747 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 11 août 2022
23 déc. 2007 à 15:57
hm... en fait, le principe de ce mélange ne changera pas, et il y aura le même nombre de caractères dans les deux champs de départ... sachant que le fait qu'il y ait par exemple 457 caractères dans text1, génèrera automatiquement 457 caractères dans text2. Soit un text3 de 914 caractères !!!... voili voilou... et il n'y aura pas d'espace ni ponctuation.

Je veux dire que text1 comportera genre :
"azea&értyui(op'qsdèf|e\tpças"
et pas
"Azer, er4t, meékrçjt ry m&làkqjf !!!... tgx."
0
mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
23 déc. 2007 à 16:01
En même temps, avec ce système, tu peux mettre n'importe quel caractère dans tes textes, ça marchera tout aussi bien vu les algos proposés.

 Pourapprendretoujoursplus!
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
23 déc. 2007 à 17:59
salut,

en instaurant un buffer çà sera beaucoup plus rapide

Private Sub Form_Load()
    Dim s1$, s2$, s3$
    
    MixUnmix "voiture", "0123456", s3, True
    
    MixUnmix s1, s2, "v0o1i2t3u4r5e6", False
    
    MsgBox "résultat :" & vbCrLf & s3
    MsgBox "recomposition :" & vbCrLf & s1 & vbCrLf & s2
End Sub

Sub MixUnmix(ByRef sVar1 As String, ByRef sVar2 As String, ByRef sResult As String, ByVal bMix
As Boolean)
'   à supposer les valeurs
correctes, à savoir
'   mix => taille svar1 =
taille svar2, pas nulle
'   unmix => taille
sresult pas nulle et paire

    Dim i%, j%
    j = 1
    If bMix Then
        sResult = Space(Len(sVar1) + Len(sVar2))
        For i = 1 To Len(sVar1)
            Mid$(sResult, j, 2) = Mid$(sVar1, i, 1) & Mid$(sVar2, i, 1)
            j = j + 2
        Next i
    Else
        sVar1 = Space(Len(sResult) / 2)
        sVar2 = Space(Len(sResult) / 2)
        For i = 1 To Len(sResult) Step 2
            Mid$(sVar1, j, 1) = Mid$(sResult, i, 1)
            Mid$(sVar2, j, 1) = Mid$(sResult, i + 1, 1)
            j = j + 1
        Next i
    End If
End Sub

++
PCPT  [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
Rejoignez-nous