[vb6] problème : mon programme se plante :(

Résolu/Fermé
sohaieb Messages postés 146 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 1 septembre 2017 - 14 mai 2013 à 00:00
sohaieb Messages postés 146 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 1 septembre 2017 - 15 mai 2013 à 13:32
salut à tous ,
mon programme se plante lorsque je choisi un fichier je sais pas pourquoi
voilà mon code :

Private Sub Form_Load()
Dim a As String
Dim b As String
With CommonDialog1
.Filter = "*.exe | *.exe"
.ShowOpen
End With
Open CommonDialog1.FileName For Binary As #1
a = Space(LOF(1))
Get #1, , a
Close #1
b = ""
For i = 1 To Len(a)
b = b & Mid(a, i, 1)
Next i
Open App.Path & "\n.exe" For Binary As #1
Put #1, , b
Close #1

End Sub



note: j'ai fai cette instruction juste pour savoir est ce que vb6 accepte de séparer les caractère ou non parce que aprés , j'en ai besoin pour les exploiter dans un tableau :

b = ""
For i = 1 To Len(a)
b = b & Mid(a, i, 1)
Next i



merci d'avance
A voir également:

8 réponses

f894009 Messages postés 17190 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 mai 2024 1 705
14 mai 2013 à 07:58
Bonjour,

mon programme se plante lorsque je choisi un fichier je sais pas pourquoi peut-etre, mais est-ce qu'il y a un message d'erreur ?????

Chez moi pas de plantage
0
sohaieb Messages postés 146 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 1 septembre 2017 7
14 mai 2013 à 12:24
non ya pas de message d'erreur , mais il se plante lorsque je l'exécute .. et je crois que l'erreur est dans la boucle for si je me trompe pas non?
0
f894009 Messages postés 17190 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 mai 2024 1 705
14 mai 2013 à 19:35
Bonjour,

l'erreur est dans la boucle for si je me trompe pas non? Non, je n'ai pas de plantage

mais il se plante lorsque je l'exécute .. quels sont les symptomes de ce plantage ???
0
sohaieb Messages postés 146 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 1 septembre 2017 7
14 mai 2013 à 20:10
j'ai fait un debug et breapoint sur l'instruction "b = b & Mid(a, i, 1) " il a marché bien , mais quand j'ai fait breakpoint sur "next i" , là il se plante , (le plantage ce fait d'une façon que le programme charge , jusqu'à que je l'arréte forcément avec Fin de tache)
0

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

Posez votre question
f894009 Messages postés 17190 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 mai 2024 1 705
14 mai 2013 à 20:43
Re,

le fichier exe que vous utilisez fait quelle taille???
0
sohaieb Messages postés 146 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 1 septembre 2017 7
15 mai 2013 à 00:10
il fait 4.90 MO à peut prés .. remarque: j'ai fait avec un fichier de taille 40 KO et ça est marché trés bien , mais avec un fichier de taille 4 ou 2 MO ça veut pas marché , sinon , si vous avez d'autre méthode qui me permet de séparer les caractères d'une grande chaine de caractère (ou contenue d'un fichier) et qui me permet de manipuler chaque caractère à coté n'hésitez pas à me montrer :) merciii beaucoups d'avance :)
0
f894009 Messages postés 17190 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 mai 2024 1 705
15 mai 2013 à 08:28
Bonjour,

votre methode est correcte. Pourquoi avez-vous choisi un exe pour faire vos manip sur chaine de caracteres ????
0
sohaieb Messages postés 146 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 1 septembre 2017 7
15 mai 2013 à 13:32
pour résoudre ce problème j'ai remplacée :
b = ""
For i = 1 To Len(a)
b = b & Mid(a, i, 1)
Next i


par
b = Space(Len(a))
For i = 1 To Len(a)
   Mid(b, i, 1) = Mid(a, i, 1)
Next i



merciii à tous ! :)
0