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 6 et antérieur Discussion :

Encoder un texte


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 19
    Par défaut Encoder un texte
    Bonjour à tous,
    Je suis un peu embêtée. Je dois entrer un chemin d'accès d'un fichier texte(text1), lorsque je clic sur un bouton, le contenu de ce fichier doit s'afficher dans une zone texte (text3) et une autre zone de texte (text4), doit apparaitre le texte codé en +1 (a devient b,...).
    Voilà ce que j'ai fais mais ça bug. Le contenu du fichier texte apparait dans la zone de text3 mais le débuggeur m'indique un problème dans : j(Crypt) = (Asc(j(Crypt))) + 1.
    Pouvez-vous me dire où est le problème s'il vous plait, ça fait plus d'une semaine que je cherche et j'ai besoin de vos lumières.
    Merci d'avance.
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Private Sub Crypter_Click()
    Crypte
    End Sub
     
    Private Sub Crypte()
    Dim Chaine As String
    Dim Source As Integer
    Dim Ch As String
     
    Source = FreeFile
    Ch = Text1.Text
    If Text1.Text = "" Then
    End
    End If
    Open Ch For Input As #1
     
    Text3.Text = ""
    Do While Not EOF(1)
    Line Input #1, Chaine
    Text3.Text = Text3.Text & Chaine
    Loop
    Close #1
     
    Dim Crypt As Integer
    Dim Crypt2 As Integer
    Dim j(5000)
     
    For Crypt = 1 To 5000
     
    j(Crypt) = Mid(Text3.Text, Crypt, 1)
    j(Crypt) = (Asc(j(Crypt))) + 1
    j(Crypt) = Chr(j(Crypt))
    Next Crypt
     
    For Crypt2 = 1 To Crypt
    Text4.Text = Text3.Text & Crypt2
    Next Crypt2
    End Sub

  2. #2
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Tu sais, felina, que je n'aime pas donner tout "tout cuit", n'est-ce-pas ?

    Voilà donc de quoi t'éclairer... à toi de jouer...

    Une Form, une textbox Text1 et 2 boutons de commande command1 et command2
    tu cliques sur command1 puis sur command2... et tu comprends...

    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
    Private coucou As Integer, j()
     
    Private Sub Command1_Click()
      coucou = Len(Text1.Text)
      ReDim j(coucou)
      For crypt = 1 To coucou
        j(crypt) = Mid(Text1.Text, crypt, 1)
        j(crypt) = (Asc(j(crypt))) + 1
        j(crypt) = Chr(j(crypt))
      Next crypt
    End Sub
     
     
     
    Private Sub Command2_Click()
      For crypt = 1 To coucou
        MsgBox j(crypt)
      Next crypt
    End Sub

  3. #3
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 19
    Par défaut
    Merci d'avoir pris le temps de me répondre. J'ai tout remanié via un exemple que j'ai trouvé sur internet mais il me remplace les espaces par des "!".
    Ais-je bien avancé?
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Option Explicit
    Dim j As Integer, caractere As String
    Dim texte As String, nbcar As Integer
     
     
    Private Sub Crypter_Click()
    texte = Text4.Text
    texte = Encoder(texte)
    Text4.Text = texte
    End Sub
     
    Function Encoder(original As String) As String
    Dim Chaine As String
    Dim Source As Integer
    Dim Ch As String
     
    Source = FreeFile
    Ch = Text1.Text
    If Text1.Text = "" Then
    End
    End If
    Open Ch For Input As #1
     
    Text3.Text = ""
    Do While Not EOF(1)
    Line Input #1, Chaine
    Text3.Text = Text3.Text & Chaine
    Loop
    Close #1
     
     
    original = Text3.Text
    nbcar = Len(original)
    For j = 1 To nbcar
    caractere = Mid(original, j, 1)
    Mid(original, j, 1) = Chr(Asc(caractere) + 1)
    Next j
    Encoder = original
    End Function

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    ben tu peu tester si ton caractéres fait partie de la plage de caractéres à codés... par exemple
    j'ai modifié ton code en supprimant la variable caractéres, j'utilise la variable b (un byte) pour stocker le caractéres lu, et on n'incrémente sa valeur que s'il est compris entre 32 et 127 ( les caractéres "imprimables")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Dim b As Byte
    original = Text3.Text
    nbcar = Len(original)
    For j = 1 To nbcar
    b = Asc(Mid(original, j, 1))
    If b >= 32 And b <= 127 Then b = b + 1
    encode = encode & Chr(b)
    Next j
    End Function

  5. #5
    Membre éclairé Avatar de Jihnn
    Inscrit en
    Décembre 2005
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 330
    Par défaut
    Citation Envoyé par felina
    Merci d'avoir pris le temps de me répondre. J'ai tout remanié via un exemple que j'ai trouvé sur internet mais il me remplace les espaces par des "!".
    (C'est bien ce que tu as demandé, relis bien ton premier post ^^

    [...]doit apparaitre le texte codé en +1 (a devient b,...).
    Donc tu veux que la valeur du caractère soit la valeur suivante. Tu aurais pu donner plus de précisions pour une réponse plus précise - ceci n'est pas un reproche, simplement une constatation )

Discussions similaires

  1. Encoder un texte & modifier le contenu d'un .txt
    Par herroP dans le forum VB.NET
    Réponses: 7
    Dernier message: 04/05/2012, 17h28
  2. Créer un fichier texte encodé en UTF8
    Par jmnicolas dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 26/08/2008, 11h23
  3. Créer un fichier Texte encodé en UFT8 ?
    Par lbgl dans le forum C++
    Réponses: 5
    Dernier message: 17/12/2007, 16h59
  4. [MySQL] Afficher du texte UTF-8 sur une page encodée en ISO
    Par MiJack dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/02/2006, 18h37
  5. Réponses: 4
    Dernier message: 07/05/2004, 21h15

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