Page 1 sur 1

[Résolu] Annuler l'effet lent de la ProgressBar sous Seven.

Publié : mar. 04/mai/2010 15:03
par Geo Trouvpatou
Salut.

Est-il possible d'annuler l'effet lent de la montée de la ProgressBar sous Seven.
En faisant tourner le code exemple de la doc :

Code : Tout sélectionner

If OpenWindow(0, 0, 0, 320, 160, "ProgressBarGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) 
      TextGadget       (3,  10, 10, 250,  20, "Barre de progression standard  (50/100)", #PB_Text_Center)
      ProgressBarGadget(0,  10, 30, 250,  30, 0, 100)
      SetGadgetState   (0, 50)   ;  change la valeur de la 1ère barre de progression (ID = 0) à 50 sur 100
      TextGadget       (4,  10, 70, 250,  20, "Barre de progression précise  (50/200)", #PB_Text_Center)
      ProgressBarGadget(1,  10, 90, 250,  30, 0, 200, #PB_ProgressBar_Smooth)
      SetGadgetState   (1, 50)   ;  change la valeur de la 2ème barre de progression (ID = 1) à 50 sur 200
      TextGadget       (5, 100,135, 200,  20, "Barre de progression verticale  (100/300)", #PB_Text_Right)
      ProgressBarGadget(2, 270, 10,  30, 120, 0, 300, #PB_ProgressBar_Vertical)
      SetGadgetState   (2, 100)   ; change la valeur de la 3ème barre de progression (ID = 2) à 100 sur 300
      Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf
Sous Xp, lorsque la fenêtre apparait, les ProgressBar sont remplies directement aux valeurs indiquées, alors que sous Seven, les ProgressBar montent progressivement jusqu'aux valeurs indiquées, un peu comme si on avait fait une petite boucle for-next pour voir la ProgressBar se remplir au fur et à mesure.

Cela n'est pas dérangeant sur des gros transferts de fichiers, mais pour moi qui ait fait un petit client FTP qui envoi des fichiers de quelques "Ko", sous Seven la barre ne se remplie pas à 100% (A cause de cette fameuse lenteur) alors que sous Xp et Linux, aucuns problèmes.

Alors grâce à une API magique, peut-on supprimer cet inconvénient?

Bye.

Re: Annuler l'effet lent de la ProgressBar sous Seven.

Publié : ven. 14/mai/2010 19:29
par lepiaf31
J'ai le même problème que toi. Les APIs concernant le ProgressBar se trouve ici mais apparemment aucune d'entre elles ne permet régler ce problème. Dommage :(

Re: Annuler l'effet lent de la ProgressBar sous Seven.

Publié : ven. 14/mai/2010 19:46
par Backup
t'as essayé de threader pour voir ?

Re: Annuler l'effet lent de la ProgressBar sous Seven.

Publié : ven. 14/mai/2010 20:16
par Jacobus
Le problème a été traité et résolu sur le forum anglais. Va voir et fais une recherche dans "Tricks n tips"

Re: Annuler l'effet lent de la ProgressBar sous Seven.

Publié : ven. 14/mai/2010 20:47
par lepiaf31
ok merci je vais voir ca =)

EDIT: sujet ici => http://www.purebasic.fr/english/viewtop ... 12&t=40345

Re: Annuler l'effet lent de la ProgressBar sous Seven.

Publié : ven. 14/mai/2010 20:59
par jbernard13
Geo Trouvpatou il te manque un Endif en fin de programme :lol:

Re: Annuler l'effet lent de la ProgressBar sous Seven.

Publié : sam. 15/mai/2010 14:49
par Geo Trouvpatou
Salut.
Dobro a écrit :t'as essayé de threader pour voir ?
C'est déjà dans un Thread, mais le problème ne vient pas de là.
Si tu lis mon message :
Geo Trouvpatou a écrit :Sous Xp, lorsque la fenêtre apparait, les ProgressBar sont remplies directements aux valeurs indiquées, alors que sous Seven, les ProgressBar montent progressivement jusqu'aux valeurs indiquées, un peu comme si on avait fait une petite boucle for-next pour voir la ProgressBar se remplir au fur et à mesure.
Je crois que tu as Xp donc quand tu fais tourner l'exemple que j'ai mis les progressBar sont au niveau indiqué, mais pas sous 7 et apparement aussi Vista.

@Jacobus : Merci pour l'info, j'imaginais qu'il n'y avait pas de solution.

@lepiaf31: Merci pour le lien qui m'aura évité de chercher et aussi pour avoir uppé le post que Jacobus n'avait pas vu la 1ère fois :lol: .

@jbernard13 : Je l'avais fait exprès pour voir si tu le verrais :wink: .
J'ai rectifié le code. C'est quand même bizarre que j'ai laissé passé ça parce qu'habituellement je vérifie le code que je met sur le forum avant de poster, mais bon, comme ici j'ai mis un code de la doc, j'ai dû me dire qu'il n'était pas à vérifier.
Mais c'est aussi peut-être pour ça que depuis que j'ai débuté en PB, aucuns de mes programmes n'ont jamais fonctionné et que j'ai toujours eu droit à ce message :"Le mot-clé de fin suivant est manquant : EndIf".

En tout cas je pensais que j'aurais du mal à adapter ce code au mien, mais cela a été plus simple que j'imaginais.

J'ai aussi pensé que ça rectifiait le problème de rapidité sur des petits fichiers mais que cela renverrait une progression bidon sur des gros transferts, donc j'ai boosté un fichier texte en mettant 500ko de données et merveille la progression est réelle.

Donc problème résolu pour moi.
Merci à tous.

Bye.

Re: Annuler l'effet lent de la ProgressBar sous Seven.

Publié : sam. 15/mai/2010 14:52
par Backup
Geo Trouvpatou a écrit :Salut.
Dobro a écrit :t'as essayé de threader pour voir ?
C'est déjà dans un Thread, mais le problème ne vient pas de là.
Si tu lis mon message :
j'avais lu ton message !
simplement, je supposai qu'en mettant directement (a l'initialisation) les scrollbars
dans un trhead , cela pouvais peut etre aider le systeme a les affichers ...

Re: [Résolu] Annuler l'effet lent de la ProgressBar sous Sev

Publié : sam. 15/mai/2010 15:08
par Geo Trouvpatou
T'inquiètes Dobro, je sais que c'est pas facile de répondre à une question si on ne possède pas le matériel ou l'Os en question, on est obligé d'aider à l'aveuglette, mais parfois cela ouvre des portes.

Ceci dit je vais quand même coller ce code dans un If OsVersion() = #PB_OS_Windows_7 parce qu'autant ça résout le problème sous 7 et j'imagine Vista, que ça serait foutu de faire merdouiller la chose là où ça fonctionnait à merveille.

D'ailleurs Comtois aura du boulot dans la section "Misc" en devant ajouter la constante #PB_OS_Windows_7 qui n'est pas encore présent dans la doc Frenchy actuelle.