IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques Perl Discussion :

[web] [Perl/Tk] Pas d'insertion de texte !


Sujet :

Interfaces Graphiques Perl

  1. #1
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 869
    Points : 4 884
    Points
    4 884
    Par défaut [web] [Perl/Tk] Pas d'insertion de texte !
    Bonjour

    Cette fois, je me lance dans Perl/Tk. Dans ce code, je lance d'abord un sélecteur de répertoire. Lorsque le répertoire est sélectionné, dans la fenêtre principal, le bouton de départ est remplacé par un champ de texte. Je voudrais afficher des messages dans ce champ de texte mais ça part en live :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    use Tk;
    use Tk::DirTree;
    #use strict;
     
    my($win) = MainWindow->new();
    my($directory);
    my($nom);
    my($Texte);
    my($button) = $win->Button(text => 'Choisir un répertoire', 
                           command => \&choose_dir);
    $button->pack();
    MainLoop();
     
    sub choose_dir { 
    my $top = $win->Toplevel();
    $top->withdraw;
    my $t = $top->Toplevel();
    $t->title("Choose directory:");
    my $ok = 0;
    my $f = $t->Frame->pack(-fill => "x", -side => "bottom");
    my $curr_dir="C:\\Sequest\\";
    my $d;
    $d = $t->Scrolled('DirTree',
    		  -scrollbars => 'osoe',
    		  -width => 35,
    		  -height => 20,
    		  -selectmode => 'browse',
    		  -exportselection => 1,
    		  -browsecmd => sub { $curr_dir = shift },
    		  -command   => sub { $directory = $curr_dir;
    		  								$ok = 1 },
    		 )->pack(-fill => "both", -expand => 1);
    $d->chdir($curr_dir);
    $f->Button(-text => 'Ok',
    	   -command => sub { $directory = $curr_dir;
    	   						$ok =  1 })->pack(-side => 'left');
    $f->Button(-text => 'Cancel',
    	   -command => sub { $ok = -1 })->pack(-side => 'left');
    $f->waitVariable(\$ok);
    if ($ok == 1) {
        $top->destroy;
        &lance_chaine;
    }
    else {
    	$top->destroy;
    }
    }
     
    sub Relative_path {
       my($name) = @_;
       my($i) = rindex($name, '\\');
       my($nom) = substr($name, $i+1);
       return $nom;
    }
     
    sub copy {
       `copy @_[0] @_[1]`;
       my($xls) = @_[1]."\\interact-prot.xls";
       if ( -f $xls) {
          printf ("Copie du fichier interact-prot.xls dans votre répertoire %s.\n", @_[1]);
       }
       else {
          printf ("Erreur dans la copie !\nCependant, %s est présent dans %s.\n", @_[0], @_[1]);
       } 
    }
     
    sub lance_chaine {
    	chdir $directory;
    	$nom = &Relative_path($directory);
    	$button->destroy;
    	$Texte = $win->Text->pack();	
            #Voici la ligne qui plante
    	#$Texte->insert("Sample", "end");
    }
    Where's the mistake ???

    Merci de vos réponses !

    @++

  2. #2
    Membre actif
    Avatar de Choupi
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 223
    Points : 235
    Points
    235
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    my($button) = $win->Button(-text => 'Choisir un répertoire',
                           -command => \&choose_dir);
    Petit oubli tu "-" devant text et command.

    marche chez moi maintenant. Je t'admire pour ta vitesse de production tu as un fan !

  3. #3
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 869
    Points : 4 884
    Points
    4 884
    Par défaut
    Exactly Choupi !
    Bon, la faute à l'internet qu'a pas mis les "-" !! .

    Merci !!

    @++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Pas d'insertion si le texte est trop long
    Par Tchox dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 24/05/2015, 12h16
  2. Ma page web ne trouve pas mon applet
    Par kaygee dans le forum Applets
    Réponses: 14
    Dernier message: 29/07/2009, 15h27
  3. Réponses: 2
    Dernier message: 01/07/2008, 22h56
  4. [web] Perl et apache
    Par Laurent M dans le forum Web
    Réponses: 7
    Dernier message: 13/02/2004, 11h46
  5. [web] PERL TK
    Par martijan dans le forum Interfaces Graphiques
    Réponses: 5
    Dernier message: 27/06/2003, 09h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo