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

Modules Perl Discussion :

GetInputStream Wxprocess Text::Iconv


Sujet :

Modules Perl

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 29
    Par défaut GetInputStream Wxprocess Text::Iconv
    J'utilise WxPerl avec WindowsXP.
    Si jutilise Wx::ExecuteCommand pour lancer une commande dos (ex: dir) , en recuperant la sortie de la commande avec GetInputStream pour l'afficher dans une fenetre WxFrame , les caractere accentué ne sont pas affiché.

    Il est vrai que la sortie est en cp850 , donc j'utilise "Text::Iconv" , mais le probleme est le même .

    Ce qui est etonnant c'est que si je ne passe pas par Wx::ExecuteCommand, en utlisant unopen(HANDLER, ) tous simple puis convertie avec "Text::Iconv" , ca marche impeccable.

    Mon souci c'est que je veut pouvoir lire la sortie standard independamment de la sortie erreur et Wx::ExecuteCommand me permet de faire ca.

    Comment Faire pour recuperer avec GetInputStream une sortie non convertie ?

  2. #2
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Citation Envoyé par kiki91
    J'utilise WxPerl avec WindowsXP.
    Si jutilise Wx::ExecuteCommand pour lancer une commande dos (ex: dir) , en recuperant la sortie de la commande avec GetInputStream pour l'afficher dans une fenetre WxFrame , les caractere accentué ne sont pas affiché.
    ....

    Mon souci c'est que je veut pouvoir lire la sortie standard independamment de la sortie erreur et Wx::ExecuteCommand me permet de faire ca.

    Comment Faire pour recuperer avec GetInputStream une sortie non convertie ?
    Quel est le problème exactement ? Tu es obligé d'utiliser ExecuteCommand ? Tu ne peux pas te contenter d'un petit open3 (ou open2) ?

    --
    Jedaï

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 29
    Par défaut
    Disons que c'est plus simple avec ExecuteCommande , la sortie est lue et si il y a des donnée sur la sortie d'erreur je peut le verifier facilement et les affichez si necessaire.

    Le Kill du processus est egalement grandement facilite et de plus quand je Package mon script en exe , avec open2 ou open3 l'appli refuse de se lancer ?


    Donc avec ExecuteCommande tous est parfait sauf pour afficher correctement les accent venant d'appli dos formatté en cp850

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 29
    Par défaut Utilisation de open3
    Vue que je reste bloqué , je modifie mon approche et utilise open3 suivant :

    my $cmd = "dir c:\\windows";
    local *CATCHERR = IO::File->new_tmpfile;
    local *CATCHOUT = IO::File->new_tmpfile;
    my $pid = open3(gensym, \*CATCHOUT, ">&CATCHERR", "$cmd ");
    while ( <CATCHOUT>) {( print "$_")};
    waitpid($pid, 0);
    seek CATCHERR, 0, 0;
    while ( <CATCHERR> ) {print "err>>>"."$_"}

    En utilisant l'interpreteur perl ca marche mais si je package le scrip avec pp et je le lance , le script affiche la premiere ligne est se brake.

    Aidez-moi -- please

Discussions similaires

  1. Installation module Text::Iconv
    Par Premium dans le forum Modules
    Réponses: 4
    Dernier message: 21/01/2009, 10h18
  2. afficher du texte
    Par Mau dans le forum OpenGL
    Réponses: 10
    Dernier message: 24/06/2003, 15h31
  3. combobox->text
    Par clovis dans le forum C++Builder
    Réponses: 18
    Dernier message: 21/06/2002, 15h43
  4. fichier binaire ou texte
    Par soussou dans le forum C++Builder
    Réponses: 4
    Dernier message: 14/06/2002, 13h39
  5. Réponses: 2
    Dernier message: 10/06/2002, 11h03

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