vegetalain
Messages postés747Date d'inscriptionmardi 25 mars 2003StatutMembreDernière intervention11 août 2022
-
23 déc. 2007 à 11:44
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDerniè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...
vegetalain
Messages postés747Date d'inscriptionmardi 25 mars 2003StatutMembreDernière intervention11 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...
vegetalain
Messages postés747Date d'inscriptionmardi 25 mars 2003StatutMembreDernière intervention11 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 !
...
vegetalain
Messages postés747Date d'inscriptionmardi 25 mars 2003StatutMembreDernière intervention11 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 !
mstarsup5
Messages postés527Date d'inscriptionlundi 15 octobre 2007StatutMembreDernière intervention10 octobre 20131 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
mstarsup5
Messages postés527Date d'inscriptionlundi 15 octobre 2007StatutMembreDernière intervention10 octobre 20131 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,...")
vegetalain
Messages postés747Date d'inscriptionmardi 25 mars 2003StatutMembreDernière intervention11 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" !
vegetalain
Messages postés747Date d'inscriptionmardi 25 mars 2003StatutMembreDernière intervention11 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."
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 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