CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Bloqué dans prog. VB, aidez-moi SVP

FFMx
FFMx
Niveau 5
21 décembre 2004 à 21:39:11

Bonjour. Voilà, je fais un programme en VB pour " coder" un texte entré par l´utilisateur, en se basant sur deux tableaux à double-entrée.
Voilà le code que je rentre sur le bouton de traduction du texte :

Public Sub Command1_Click()
´Etablissement des tableaux d´équivalences
Dim N(26, 1) As String
Dim C(26, 1) As String
N(1, 1) = " a"
N(2, 1) = " b"
N(3, 1) = " c"
N(4, 1) = " d"
N(5, 1) = " e"
N(6, 1) = " f"
N(7, 1) = " g"
´etcetera...
C(1, 1) = " ¨"
C(2, 1) = " #"
C(3, 1) = " ["
C(4, 1) = " °"
C(5, 1) = " >"
´etcetera...
´---------------
´Phase de cryptage
´note : orig.text représente le texte entré dans la boîte de texte à traduire
Dim cal As String
cal = orig.Text
´TRAITEMENT DES CARACTERES :
For i = 1 To Len(cal)
For j = 1 To 26
Mid(cal, i, 1) = Z
If Z = N(j, 1) Then
Mid(cal, i, 1) = C(j, 1)
GoTo 1
Else: Next j
End If
1 Next i
orig.Text = cal
End Sub

Voilà, et quand j´éxecute le programme, il me dit :"next j" sans " for j" --en parlant de :

For i = 1 To Len(cal)
For j = 1 To 26
Mid(cal, i, 1) = Z
If Z = N(j, 1) Then
Mid(cal, i, 1) = C(j, 1)
GoTo 1
Else: Next j
End If
1 Next i
orig.Text = cal
End Sub

Voilà, je vous serait extrêmement reconnaissant de bien vouloir m´aider, et désolé de créer un topic pour ça, mais j´ai vraiment du mal.
Merci beaucoup ! !

dnob700
dnob700
Niveau 10
21 décembre 2004 à 21:49:05

quel horreur, je corrige ton code, mais ça reste affreux :

Public Sub Command1_Click()
´Etablissement des tableaux d´équivalences
Dim N(26, 1) As String
Dim C(26, 1) As String
N(1, 1) = " a"
N(2, 1) = " b"
N(3, 1) = " c"
N(4, 1) = " d"
N(5, 1) = " e"
N(6, 1) = " f"
N(7, 1) = " g"
´etcetera...
C(1, 1) = " ¨"
C(2, 1) = " #"
C(3, 1) = " ["
C(4, 1) = " °"
C(5, 1) = " > "
´etcetera...
´---------------
´Phase de cryptage
´note : orig.text représente le texte entré dans la boîte de texte à traduire
Dim cal As String
cal = orig.Text
´TRAITEMENT DES CARACTERES :
For i = 1 To Len(cal)
Z = Mid(cal, i, 1) ´dans ce sens l´assignation
´et autant le faire avant la boucle
For j = 1 To 26
If Z = N(j, 1) Then
Mid(cal, i, 1) = C(j, 1)
exit for ´c´est comme ça qu´on sors d´uen boucle
endif
Next j
Next i
orig.Text = cal
End Sub

mais plus proprement, tu peut le faire comme ça :
Dim C(26, 1) As String
C(1, 1) = " ¨"
´etcetera...
´---------------
´Phase de cryptage
´note : orig.text représente le texte entré dans la boîte de texte à traduire
Dim cal As String
cal = orig.Text
´TRAITEMENT DES CARACTERES :
For i = 1 To Len(cal)
Z = Mid(cal, i, 1)
Mid(cal, i, 1) = C(asc(j)-96, 1)
Next i
orig.Text = cal
End Sub

FFMx
FFMx
Niveau 5
21 décembre 2004 à 23:43:55

Ok merci beaucoup ( je sais que c´est une pagaille pas possible mais je débute i que 13 ans] et j´ai que des gros bouquins incompréhensibles sur VB, désolé )

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment