PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > fr.comp.lang.python > Python - HTA probleme d'affichage
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
Python - HTA probleme d'affichage

Réponse
 
LinkBack Outils de la discussion
Vieux 13/10/2007, 09h16   #1
Salvatore
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Python - HTA probleme d'affichage

Bonjour la communauté

J'ai un soucis d'affiche de message dans un de mes scripts HTA
Voici le problème

....
....
def setValue(divid,data):
elt = document.getElementById(divid)
elt.innerHTML = data

def infoSysteme():
setValue("info","Veuillez patienter") #mise du div "info"
c = os.popen(cmdDisk%Serveur).read()
setValue('tabcentre',c)
....
....

Lorque j'appelle la focntion 'infoSysteme'
le div 'info' se met à jour une fois que la fonction
'infoSysteme' est terminée.

Merci pour votre aide

Cordialement

Salvatore
  Réponse avec citation
Vieux 13/10/2007, 20h39   #2
Méta-MCI \(MVP\)
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Python - HTA probleme d'affichage

Bonsoir !


Si tu remplaces les fonctions Python par des fonctions Javascript, tu auras le même comportement.

Conclusion, ce n'est pas un problème Python, mais un problème HTA ; plus exactement HTML, car ça se
produit également dans des pages HTML. Mais, ce comportement est conforme aux normes du Web

Pour contourner cela, il te faudra certainement jongler avec la gestion des évènements des pages
HTML (ou HTA).
Un moyen (assez) simple, c'est d'isoler les fonctions d'affichage, et de les appeler avec des
setTimeout.


@-salutations

Michel Claveau





  Réponse avec citation
Vieux 13/10/2007, 20h39   #3
Méta-MCI \(MVP\)
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Python - HTA probleme d'affichage

Bonsoir !


Si tu remplaces les fonctions Python par des fonctions Javascript, tu auras le même comportement.

Conclusion, ce n'est pas un problème Python, mais un problème HTA ; plus exactement HTML, car ça se
produit également dans des pages HTML. Mais, ce comportement est conforme aux normes du Web

Pour contourner cela, il te faudra certainement jongler avec la gestion des évènements des pages
HTML (ou HTA).
Un moyen (assez) simple, c'est d'isoler les fonctions d'affichage, et de les appeler avec des
setTimeout.


@-salutations

Michel Claveau





  Réponse avec citation
Vieux 13/10/2007, 23h27   #4
Méta-MCI \(MVP\)
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Python - HTA probleme d'affichage

Re !


Je t'ai trouvé une solution, assez simple, et plus efficace que l'équipe de France de rugby face à
l'équipe de la Rose...

Après chaque appel à une fonction qui écrit (setValue), insère cette ligne :
win32gui.PumpWaitingMessages()
(rappel : mettre import win32gui qq. part avant)

Cela suffit à laisser la main à Windows, le temps de rafraîchir l'affichage.


@-salutations

Michel Claveau






  Réponse avec citation
Vieux 13/10/2007, 23h27   #5
Méta-MCI \(MVP\)
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Python - HTA probleme d'affichage

Re !


Je t'ai trouvé une solution, assez simple, et plus efficace que l'équipe de France de rugby face à
l'équipe de la Rose...

Après chaque appel à une fonction qui écrit (setValue), insère cette ligne :
win32gui.PumpWaitingMessages()
(rappel : mettre import win32gui qq. part avant)

Cela suffit à laisser la main à Windows, le temps de rafraîchir l'affichage.


@-salutations

Michel Claveau






  Réponse avec citation
Vieux 14/10/2007, 00h26   #6
Salvatore
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Python - HTA probleme d'affichage

Tu es mon sauveur :-)

Merci beaucoup

Salvatore


Méta-MCI (MVP) a écrit :
> Re !
>
>
> Je t'ai trouvé une solution, assez simple, et plus efficace que l'équipe
> de France de rugby face à l'équipe de la Rose...
>
> Après chaque appel à une fonction qui écrit (setValue), insère cette
> ligne :
> win32gui.PumpWaitingMessages()
> (rappel : mettre import win32gui qq. part avant)
>
> Cela suffit à laisser la main à Windows, le temps de rafraîchir
> l'affichage.
>
>
> @-salutations
>
> Michel Claveau
>
>
>
>
>
>

  Réponse avec citation
Vieux 14/10/2007, 00h26   #7
Salvatore
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Python - HTA probleme d'affichage

Tu es mon sauveur :-)

Merci beaucoup

Salvatore


Méta-MCI (MVP) a écrit :
> Re !
>
>
> Je t'ai trouvé une solution, assez simple, et plus efficace que l'équipe
> de France de rugby face à l'équipe de la Rose...
>
> Après chaque appel à une fonction qui écrit (setValue), insère cette
> ligne :
> win32gui.PumpWaitingMessages()
> (rappel : mettre import win32gui qq. part avant)
>
> Cela suffit à laisser la main à Windows, le temps de rafraîchir
> l'affichage.
>
>
> @-salutations
>
> Michel Claveau
>
>
>
>
>
>

  Réponse avec citation
Vieux 14/10/2007, 00h49   #8
Méta-MCI \(MVP\)
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Python - HTA probleme d'affichage


> Tu es mon sauveur :-)


Soyons modestes : j'ai, peut-être, simplement sauvé ta (bonne) nuit de sommeil...


  Réponse avec citation
Vieux 14/10/2007, 00h49   #9
Méta-MCI \(MVP\)
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Python - HTA probleme d'affichage


> Tu es mon sauveur :-)


Soyons modestes : j'ai, peut-être, simplement sauvé ta (bonne) nuit de sommeil...


  Réponse avec citation
Vieux 14/10/2007, 14h11   #10
Salvatore
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Python - HTA probleme d'affichage

Grâce à Michel voici
la solution:

def setPauseMsg(started=0):
if started == 1:
WaitCursor()
setValue("tabcentreInfo","Veuillez Patienter...")
else:
Pointer()
win32gui.PumpWaitingMessages()

def infoSysteme():
setPauseMsg(1)
setValue("tabcentre","")
c = os.popen(cmdSystem%Server).read()
setValue('tabcentre',c)
setPauseMsg(0)

Cordialement

Salvatore
  Réponse avec citation
Vieux 14/10/2007, 14h11   #11
Salvatore
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Python - HTA probleme d'affichage

Grâce à Michel voici
la solution:

def setPauseMsg(started=0):
if started == 1:
WaitCursor()
setValue("tabcentreInfo","Veuillez Patienter...")
else:
Pointer()
win32gui.PumpWaitingMessages()

def infoSysteme():
setPauseMsg(1)
setValue("tabcentre","")
c = os.popen(cmdSystem%Server).read()
setValue('tabcentre',c)
setPauseMsg(0)

Cordialement

Salvatore
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 20h51.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières ©2000-2008
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,16256 seconds with 19 queries