Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2949 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  Probleme d'affichage perl/tk

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme d'affichage perl/tk

n°1744529
Mikadodouc​e
Posté le 11-06-2008 à 09:04:37  profilanswer
 

Bonjour,
 
J'ai un ti problème pour afficher un label. J'aimerais afficher un Label disant "Traitement en cours veuillez patienter" puis en meme temps faire un ping puis afficher le résultat. Le problème c'est qu'au lieu d'afficher mon label puis de faire le traitement, il me fait le traitement du ping et une fois fini il m'affiche mon label ainsi que mon résultat. J'ai déja essayé pas mal de choses mais rien n'y fait :(.
 

Code :
  1. sub fonc_stat {
  2. $txtattente = $mw->Label(-text=> "Traitement en cours veuillez patienter...", -font=>15)->place(-x=>250, -y=>175);
  3. my @argent=@_;
  4. $connecte=0;
  5. $nonconnecte=0;
  6. open(FILE,"C:/Perl/bin/$argent[0]" ) || die ("Erreur d'ouverture du fichier" );
  7. while (<FILE> ) {
  8. $host = $_;
  9. $toto = system("ping -n 1 ".$host);
  10. if ($toto==0) {
  11.  $connecte++;
  12. }
  13. else {
  14.  $nonconnecte++;
  15. }
  16. }
  17. print "Il y a $connecte pc d allumes et $nonconnecte pc d eteints";
  18. close(FILE);
  19. }


 
Merci d'avance.

mood
Publicité
Posté le 11-06-2008 à 09:04:37  profilanswer
 

n°1746872
Mikadodouc​e
Posté le 16-06-2008 à 08:55:52  profilanswer
 

Personne? :(

n°1747792
gilou
Modérateur
Modzilla
Posté le 17-06-2008 à 19:32:14  profilanswer
 

C'est normal:
Comme tu peux le voir sur cet exemple, tu crées les objets tk, mais il ne sont affichés que lors de l'execution de la main loop.

Code :
  1. #!/usr/local/bin/perl
  2. use Tk;
  3. # Main Window
  4. my $mw = new MainWindow;
  5. my $label = $mw -> Label(-text=>"Hello HFR! [GUI Mode]" ) -> pack();
  6. my $button = $mw -> Button(-text => "Quit",
  7.                            -command => sub { exit }) -> pack();
  8. printf("Hello HFR! [Text Mode]\n" );
  9. sleep(4);
  10. MainLoop;


 
Par contre, si tu met le code que tu veux executer comme dans callback appellé par ton objet tk, tu auras execution apres l'affichage:

Code :
  1. #!/usr/local/bin/perl
  2. use Tk;
  3. # Main Window
  4. my $mw = new MainWindow;
  5. my $label = $mw -> Label(-text=>"Hello HFR! [GUI Mode]" ) -> pack();
  6. my $button = $mw -> Button(-text => "Quit",
  7.                            -command => sub { exit }) -> pack();
  8. $mw->after(4000, \&testProgram);
  9. MainLoop;
  10. sub testProgram {
  11.     printf("Hello HFR! [Text Mode]\n" );
  12. }


Ici, "Hello HFR! [Text Mode]" s'affiche 4s apres l'affichage de la fenetre.
Tu vois le principe.
 
A+,


Message édité par gilou le 17-06-2008 à 20:49:16

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°1747995
Mikadodouc​e
Posté le 18-06-2008 à 09:10:10  profilanswer
 

Merci gilou ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  Probleme d'affichage perl/tk

 

Sujets relatifs
problème connexion base de données oracle[Résolu] Affichage alterné 50% / 50%
[résolu] OVH probleme set_include_path()[VBA] Probleme sur une macro
[C] Probleme types de variables - DebutantAjouter un espace ds un script perl sous Windows
Problème programmation C++Problème avec 2 fonctions en meme temps.
Problème d'affichage en PERL sous UNIX[Perl CGI] Problème d'affichage
Plus de sujets relatifs à : Probleme d'affichage perl/tk


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR