Page 2 sur 2

Re: Fenêtre de progression

Publié : sam. 11/juin/2011 13:20
par Droopy
@dobro : Je compile en x32

@Soldat : Traiter les évènements des deux fenêtres dans le programme principal est une solution élégante quand on a deux fenêtres à gérer.
Je suis en général confronté à un programme principal (silencieux (sans fenêtre) qui installe openoffice par exemple) et une fenêtre de progression (thread) qui est là pour faire patienter l'utilisateur.

Re: Fenêtre de progression

Publié : sam. 11/juin/2011 23:16
par Le Soldat Inconnu
Dans ce genre de cas, ta solution est valide :D

J'ai préféré râler pour que les débutants ne se fassent pas avoir :)

Re: Fenêtre de progression

Publié : dim. 12/juin/2011 18:56
par Kwai chang caine
Pour les membres les plus récents ça peut paraître déconcertant, mais pour les anciens ce n'est qu'un retour à un état habituel!
Tu râlais déjà pas mal avant, la seule différence, c'est que tu ne t'excusais pas par avance :mrgreen:
J'ai préféré râler pour que les débutants ne se fassent pas avoir
On peut pas trop dire que je suis un jeune, j'savais pas que soldat ralait 8O
Enfin en tout cas, j'appelle pas ça raler...y'a des champions sur ce forum de cette discipline, mais si j'avais eu a classer soldat, je l'aurait mis dernier :mrgreen:

@graph100
Merci de ton explication 8)
Droopy a écrit :Le code fonctionne très bien chez moi sans aucune correction (j'ai PB 4.51) :?
Excuse moi de toujours etre celui chez qui ça marche pas :oops:
J'ai copié/collé (Ce que je sais mieux faire :mrgreen: :oops:) et lancé, et ça marche pas :cry:
XP PRO SP3 / V4.51
Mais bon ...si ça marche pas, je le dit.
Surtout pas pour embêter celui qui a codé, mais pour lui rendre service, car je suppose que pour des gens de votre niveau, il est important de savoir si chez tout le monde ça marche.
Regarde le soldat, il demande toujours que tout le monde essaie, sur divers OS, y'a tellement de config possible :roll:
Le code a DOBRO marche niquel 8)
Et le code au soldat d'ailleurs aussi 8)

Re: Fenêtre de progression

Publié : dim. 12/juin/2011 19:06
par Backup
Kwai chang caine a écrit :On peut pas trop dire que je suis un jeune, j'savais pas que soldat ralait 8O
au niveau des Forums Purebasic... si ! :wink:

lorsque Chris parle des anciens,il parle de l'époque du Forum de Cederavic ... (l'ex Musé)
de cette epoque, il ne reste plus grand monde :lol:

Re: Fenêtre de progression

Publié : dim. 12/juin/2011 19:14
par Kwai chang caine
lorsque Chris parle des anciens,il parle de l'époque du Forum de Cederavic ... (l'ex Musé)
Ah oui....excuse moi...j'etais pas né :oops:

Re: Fenêtre de progression

Publié : dim. 12/juin/2011 20:17
par Chris
Il arrivait même qu'on s'engueule un petit peu, ...mais toujours dans la bonne humeur. :mrgreen:

Re: Fenêtre de progression

Publié : dim. 12/juin/2011 20:34
par Kwai chang caine
Tu as raison, dernièrement ça a été un "peu tendu"
Mais bon, j'ai remarqué que ça se calmait, en y mettant tous du notre, et je ne désespère pas de revoir l'ambiance du temps de mon arrivée et qui a durée quelques années 8)
Apres tout...on est tous relié par un cordon PB-icale :mrgreen:

Re: Fenêtre de progression

Publié : mar. 14/juin/2011 2:03
par Geo Trouvpatou
Salut.

Correction du code de Droopy pour que celui-ci fonctionne comme il le souhaitait avec le debugger activé ou pas.

Code : Tout sélectionner

Enumeration
      #HAUTEUR=80
      #LARGEUR=200
      #PROGRESSION
      #TEXTE
      #STATUS
EndEnumeration
;CallDebugger
Global FermerFenetre,FenetreInitialisee

Procedure Visuel(*valeur) ; -------> Il manquait effectivement ça
      OpenWindow(0,0,0,#LARGEUR,#HAUTEUR,"Titre",#PB_Window_ScreenCentered)
      TextGadget(#TEXTE,10,10,#LARGEUR-20,20,"",#PB_Text_Center)
      ProgressBarGadget(#PROGRESSION,10,30,#LARGEUR-20,20,0,100,#PB_ProgressBar_Smooth)
      CreateStatusBar(#STATUS, WindowID(0))
      AddStatusBarField(#LARGEUR) ; ------------------------> Ça qui manquait aussi.
      AddWindowTimer(0,123,250)
      FenetreInitialisee=#True
      Repeat
            If WaitWindowEvent()= #PB_Event_Timer ;And EventTimer() = 123 ;--> Et peut-être ça comme dans la doc.
                  Value = (Value + 5) % 100
                  SetGadgetState(#PROGRESSION,Value)
            EndIf
      Until FermerFenetre=#True
EndProcedure

Procedure ConsoleText(StatusText.s,Text.s,Delai)
      PrintN(Text)
      StatusBarText(#STATUS, 0, " "+ StatusText)
      SetGadgetText(#TEXTE, " "+ Text)
      Delay(Delai)
EndProcedure

OpenConsole()
ConsoleTitle("Progression")
CreateThread(@Visuel(),0)

Repeat
      Delay(1)
Until FenetreInitialisee=#True

ConsoleText("Veuillez patienter (étape 1/3)","Initialisation",2000)
ConsoleText("Veuillez patienter (étape 2/3)","Décompression",2000)
ConsoleText("Veuillez patienter (étape 3/3)","installation",4000)
HideGadget(#PROGRESSION,#True)
ConsoleText("Merci d'avoir patienté","Installation terminée",2000)
FermerFenetre=#True
For n=1 To 80
      Delay(100)
      Print(".")
Next
Il manquait donc : Procedure Visuel(*valeur)

Et d'après le message d'erreur du debugger (Quand celui-ci est activé) : The specified 'Field' is not valid, c'était simplement l'oublie de la création AddStatusBarField(#LARGEUR) juste après le CreateStatusBar.

Zut! quand je pense qu'il y a 1 an c'est ce type de code qu'il m'aurait fallu.
Kwai chang caine a écrit :Le code a DOBRO marche niquel 8)
Ben non, il ne fonctionne pas comme celui de Droopy, puisqu'il ouvre 4 ou 5 fenêtres avec simplement une ProgressBar, sans texte dans la fenêtre ni dans la barre de status.
Et au final, la console met 3 jours à se fermer.
Mais c'est normal, il a dû développer ça dans un IDE pourri :lol:.

Bye.

Re: Fenêtre de progression

Publié : mar. 14/juin/2011 10:13
par Backup
Geo Trouvpatou a écrit :
Kwai chang caine a écrit :Le code a DOBRO marche niquel 8)
Ben non, il ne fonctionne pas comme celui de Droopy, puisqu'il ouvre 4 ou 5 fenêtres avec simplement une ProgressBar,
les une apres les autres !!


sans texte dans la fenêtre ni dans la barre de status.
pas utile pour cette correction
Et au final, la console met 3 jours à se fermer.
Mais c'est normal, il a dû développer ça dans un IDE pourri :lol:.

Bye.
non j'ai rien dévellopé , si tu regarde bien, c'est le code de Droopy, que j'ai légèrement
modifié , pour qu'il tourne a peut pres ....

mon Ide "pourri" contient une fenetre de progression (visible avec Ctrl+Tab , ou a chaque sauvegarde ou compilation)
qui elle fonctionne niquel :)

mauvaise langue ... :lol:

Re: Fenêtre de progression

Publié : mar. 14/juin/2011 20:42
par Droopy
@Geo Trouvpatou : J'ai intégré tes deux corrections au code initial (permet fonctionnement avec le déboggueur)
Merci