cs_ryadus
Messages postés64Date d'inscriptionmardi 7 janvier 2003StatutMembreDernière intervention21 octobre 2008
-
7 mai 2003 à 18:00
syphon22
Messages postés11Date d'inscriptionjeudi 17 août 2006StatutMembreDernière intervention 8 février 2010
-
20 janv. 2010 à 13:54
Salut;
J'ai fait un projet Delphi, mais il est un peu lent à l'execution; ie: lorsque je click sur un bouton ya tout un algorithme dériére et plein de calcul alors ça prend du temps, alors je me suis dit est-ce que c possible de faire une progressbar?; mais ma question est:
est-ce que le progressbar ne va pas se bloquer car l'ordinateur est en train de réfléchir :) lorsque je click sur le bouton ???
merci;,
cs_Bestiol
Messages postés833Date d'inscriptiondimanche 6 janvier 2002StatutMembreDernière intervention 3 novembre 20051 8 mai 2003 à 00:36
Oui, c'est fort possible que ta barre se bloque...
Si le temps de calcul de ton algorithme, et son utilisation du processeur est "acceptable", tu peux essayer de placer judicieusement des "Application.ProcessMessages", avant et après les longues boucles, per exemple, ou un dans chaque itération d'une boucle... Avec la mise à jour de la ProgressBar derrière, ça peut suffire !
Si ce n'est pas le cas, il faut alors que tu utilises un thread... Je pense que c'est la solution la plus simple à mettre en oeuvre, après celle d'au-dessus... Il suffit de créer ton thread, avec comme fonction ton algorithme, et le tour est joué : ton application devienra bien plus fluide !
Reste encore une méthode plus compliquée, il me semble, que je n'ai encore jamais essayée : c'est un truc genre "Fenêtre d'indication d'avancement"... C'est, si j'ai bien compris le principe, une fenêtre ouverte à part, avec une ProgressBar, un label, un bouton "Annuler", et des fonctions "spéciales" bien définies, qui permettent au créateur de la fiche de l'actualiser régulièrement...
Je ne peux pas t'en dire beaucoup plus, malheureusement... Par contre, si tu as le livre d'Olivier Dahan et de Paul Toth, "Delphi 7 Studio", tu trouveras un exemple de mise en oeuvre de cette méthode !
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 8 mai 2003 à 08:46
Et si tu n'as pas le livre cité par Bestiol, tu peux télécharger le document "Plan qualité" sur le site d'O. DAHAN en format PDF (une vingtaine de pages) sur le site e-naxos qui a été repris dans le livre. Tu trouveras d'ailleurs d'autres documents ou codes sources tous plus intéressants les uns que les autres et de très haute qualité.
May Delphi be with you
syphon22
Messages postés11Date d'inscriptionjeudi 17 août 2006StatutMembreDernière intervention 8 février 2010 20 janv. 2010 à 13:54
Bonjour à tous,
j'ai un problème similaire.
Dans ma fenêtre principale, j'ai un bouton qui va exécuter un thread. Durant l'exécution du thread, j'aimerais afficher une nouvelle fenêtre (ufmProgression) contenant une ProgressBar et un boutton Arrêter pour arrêter le Thread.
Actuellement, je ne fais qu'afficher la fenetre ufmProgression à l'exécution :
fmProgression.Show;
Comment faire pour rafraichir cette ProgressBar car elle se bloque ?