VB 6 (fonction replace)

Résolu/Fermé
sommaille Messages postés 63 Date d'inscription mardi 21 décembre 2010 Statut Membre Dernière intervention 16 avril 2016 - 2 févr. 2012 à 18:31
sommaille Messages postés 63 Date d'inscription mardi 21 décembre 2010 Statut Membre Dernière intervention 16 avril 2016 - 3 févr. 2012 à 17:14
Bonjour,

J'ai un petit problème, j'ai ce code :
Text1.Text = Replace(Text1.Text, "a", "z")
Text1.Text = Replace(Text1.Text, "b", "y")
Text1.Text = Replace(Text1.Text, "c", "x")
Text1.Text = Replace(Text1.Text, "d", "w")
Text1.Text = Replace(Text1.Text, "e", "v")
Text1.Text = Replace(Text1.Text, "f", "u")
Text1.Text = Replace(Text1.Text, "g", "t")
Text1.Text = Replace(Text1.Text, "h", "s")
Text1.Text = Replace(Text1.Text, "i", "r")
Text1.Text = Replace(Text1.Text, "j", "q")
Text1.Text = Replace(Text1.Text, "k", "p")
Text1.Text = Replace(Text1.Text, "l", "o")
Text1.Text = Replace(Text1.Text, "m", "n")


Qui dit que a se remplace par z dans le text1, etc ....
Sa marche pas tellement (sa s'actualise pas, je ne sais pas pourquoi), mais surtout, quand sa écrit, quand on écrit, sa écrit vers la gauche, c'est a dire le trait ce remet à gauche.
Savez vous comment le mettre a droite et comment actualiser le remplacement ?

Merci !

A voir également:

5 réponses

lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
2 févr. 2012 à 18:35
Bonjour,
Tu crois pas que ce serait plus simple de modifier la configuration de ton clavier ?
A+
0
sommaille Messages postés 63 Date d'inscription mardi 21 décembre 2010 Statut Membre Dernière intervention 16 avril 2016
2 févr. 2012 à 18:37
c'est pour un logiciel d'alphabet codé =), donc non loul
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
2 févr. 2012 à 20:12
OK, mais ce n'est pas aussi simple que tu ne le pense, il est impossible de modifier le textBox avant que tout les évènements aient étés passés.
Ont peu contourner cette difficulté avec un timer.
Pour le test, ouvre un nouveau projet
Un textBox et un timer
et le code..
Dim TB

Private Sub Form_Load()
    TB = Array("y", "x", "w", "v", "u", "t", "s", "r", "q", "p", "o", "n")
    Timer1.Interval = 50
    Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
Dim i As Integer, e As Integer
Dim C As Integer, S As String
    C = Text1.SelStart
    S = Text1.Text
    For e = 1 To Len(S)
        For i = 97 To 108
            If Mid(S, e, 1) = Chr(i) Then
                Mid(S, e, 1) = TB(i - 97)
                Exit For
            End If
        Next
    Next
    Text1.Text = S
    Text1.SelStart = C
    Text1.SetFocus
End Sub
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
2 févr. 2012 à 20:24
Pour éviter que ça tourne pour rien tu peu ajouter ces deux procédures.
Private Sub Text1_GotFocus()
    Timer1.Enabled = True
End Sub

Private Sub Text1_LostFocus()
    Timer1.Enabled = False
End Sub
0

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

Posez votre question
sommaille Messages postés 63 Date d'inscription mardi 21 décembre 2010 Statut Membre Dernière intervention 16 avril 2016
3 févr. 2012 à 17:14
ok merci bcp lermite =)
0