cs_yoman64
Messages postés592Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 4 décembre 2008
-
4 mars 2005 à 04:07
adess00
Messages postés261Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention27 septembre 2008
-
7 mars 2005 à 19:18
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
adess00
Messages postés261Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention27 septembre 20081 7 mars 2005 à 19:18
J ai compris vous avez l ancienne version du code l upload de mon nouveau code n a pas du marché
Je tacherai d ajouter des commentaires dans le code
adess00
Messages postés261Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention27 septembre 20081 7 mars 2005 à 19:12
Oula je dois revoir tout sa.
Merci de ton aide je vais rectifier la progress bar mais je ne pourrais pas utiliser le truc des pixels je ne m y connais pas du tout.
a+
LogRaam (aka Gabriel Mailhot)
Messages postés60Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention25 avril 2005 7 mars 2005 à 14:48
Resalut,
Après avoir atteint 2000% avec la progressbar, j'ai arrêté le process. Le fichier généré par ton application était rendu à 26 Mo, ce qui suggère un LOOP éternel où tu inscris sans arrêt des données bianires dans ton fichier (via PUT). L'appli va continuer jusqu'à la limite de mes ressources de stockage.
Désolé,
MadLucas.
LogRaam (aka Gabriel Mailhot)
Messages postés60Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention25 avril 2005 7 mars 2005 à 14:35
Salut adess00,
PLusieurs problèmes dans ton code. À commencer par la ProgressBar. Sa valeur maximum est de 100 et lors du traitement, ton code lui envois une valeur plus grande. Tu essais de t'en sortir avec ce bout de code:
On Error GoTo pass:
main.PBar1.Value = Int(a / lg * 100)
pass:
End If
Ce bout de code est une horreur. Premièrement, le code arrête sur l'instruction lorsque Value = 101 donc ton GOTO ne fonctionne pas. Deuxièmement, travail plutôt pour que la progressbar ne défonce pas, c'est plus clean.
La solution facile qui immite ton GOTO est:
progress% = Int(a / lg * 100)
If progress > 100 Then progress = 100
main.PBar1.Value = progress
Mais on s'entend que le mieux serait de refaire ton calcul afin que ta valeur ne dépasse pas 100. Sachant que ton image de gauche est la plus grande, pourquoi ne bases-tu pas ta progressbar dessus ?
Ensuite, lire ton fichier BMP en mode BINARY est plus leny que si tu utilises un parcours des pixels en mémoire. Un exemple serait d'utiliser un objet BITMAP, un objet SAFEARRAY et un objet VarPtrArray et de transférer les informations pixels avec CopyMemory. Ensuite tu n'aurais qu'à parcourir la matrice de pixels en mémoire (VarPtrArray).
Juste en passant, je test ton appli avec une image de 1423 Ko et une autre de 249 Ko et là je suis rendu à 752% avec la progressbar... et c'est pas fini.!
Il me reste à attendre pour voir le résultat. Ha oui en passant, c'est très apprécié de poster une source AVEC des commentaires. Tu pourrais faire un update.
MadLucas
adess00
Messages postés261Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention27 septembre 20081 5 mars 2005 à 16:00
Comment vous faites pour qu il ne marche pas
il fo que l image de gauche aie une plus grande résolution et que ce soit du bmp mais soyez plus précis c koi qui ne marche pas ?
BozzoDodo
Messages postés185Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention10 janvier 2008 5 mars 2005 à 12:58
Non il ne marche po ;-)
adess00
Messages postés261Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention27 septembre 20081 4 mars 2005 à 17:57
Il marche très bien !!! (Mis à jour)
cs_yoman64
Messages postés592Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 4 décembre 2008 4 mars 2005 à 04:07
Désolé mais jarrive pas a faire fonctionner ta source c'est plein d'erreur :-/
7 mars 2005 à 19:18
Je tacherai d ajouter des commentaires dans le code
7 mars 2005 à 19:12
Merci de ton aide je vais rectifier la progress bar mais je ne pourrais pas utiliser le truc des pixels je ne m y connais pas du tout.
a+
7 mars 2005 à 14:48
Après avoir atteint 2000% avec la progressbar, j'ai arrêté le process. Le fichier généré par ton application était rendu à 26 Mo, ce qui suggère un LOOP éternel où tu inscris sans arrêt des données bianires dans ton fichier (via PUT). L'appli va continuer jusqu'à la limite de mes ressources de stockage.
Désolé,
MadLucas.
7 mars 2005 à 14:35
PLusieurs problèmes dans ton code. À commencer par la ProgressBar. Sa valeur maximum est de 100 et lors du traitement, ton code lui envois une valeur plus grande. Tu essais de t'en sortir avec ce bout de code:
On Error GoTo pass:
main.PBar1.Value = Int(a / lg * 100)
pass:
End If
Ce bout de code est une horreur. Premièrement, le code arrête sur l'instruction lorsque Value = 101 donc ton GOTO ne fonctionne pas. Deuxièmement, travail plutôt pour que la progressbar ne défonce pas, c'est plus clean.
La solution facile qui immite ton GOTO est:
progress% = Int(a / lg * 100)
If progress > 100 Then progress = 100
main.PBar1.Value = progress
Mais on s'entend que le mieux serait de refaire ton calcul afin que ta valeur ne dépasse pas 100. Sachant que ton image de gauche est la plus grande, pourquoi ne bases-tu pas ta progressbar dessus ?
Ensuite, lire ton fichier BMP en mode BINARY est plus leny que si tu utilises un parcours des pixels en mémoire. Un exemple serait d'utiliser un objet BITMAP, un objet SAFEARRAY et un objet VarPtrArray et de transférer les informations pixels avec CopyMemory. Ensuite tu n'aurais qu'à parcourir la matrice de pixels en mémoire (VarPtrArray).
Juste en passant, je test ton appli avec une image de 1423 Ko et une autre de 249 Ko et là je suis rendu à 752% avec la progressbar... et c'est pas fini.!
Il me reste à attendre pour voir le résultat. Ha oui en passant, c'est très apprécié de poster une source AVEC des commentaires. Tu pourrais faire un update.
MadLucas
5 mars 2005 à 16:00
il fo que l image de gauche aie une plus grande résolution et que ce soit du bmp mais soyez plus précis c koi qui ne marche pas ?
5 mars 2005 à 12:58
4 mars 2005 à 17:57
4 mars 2005 à 04:07
YoMan64