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

Langage Perl Discussion :

Interaction avec utilisateur en mode console


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de fripette
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 242
    Par défaut Interaction avec utilisateur en mode console
    Bonjour,
    Alors voilà mon projet mais je ne sais pas vers quel module (s'il en existe un ) m'orienter:

    le principe est simple : j'ai une sequence ADN ACGT.....ACGT
    je veux la convertir en chiffre (ce codage est influencée par les conditions d'utilisations par exemple)
    pour celà j'ai un document à part qui contient le nom de mon codage et le code:

    D: alpha-purification-truc
    1 2 3 4

    D:beta-purification-truc
    5 6 7 8

    dc je demande à l'utilisateur grâce à stdin le fichier de sequence à traiter (ca c ok)
    puis je veux afficher par PERL dans la console
    uniquement les noms de codage disponibles 50 par 50. (celui ci pour passer au 51 -101 devra taper sur une touche)
    Pour celà j'ai deja crée un document à part qui contient uniquement les noms
    enfin l'utilisateur n'aura plus qu'à entrer le numero désiré

    voilà mon début:
    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
     
    #!usr/bin/perl 
    $nom="Description.txt";
     
    #interrogation de l'utilisateur:
    print " nom du fichier a traiter dans le dossier sequence: ";
    chomp ($fileName = <STDIN>); 
     
    #ouverture du fichier contenant les sequences correspondant
    open (INFILE, $fileName) or
      die "Desole, impossible d'acceder a ".$fileName.".\n";
     
    #ouverture du fichier contenant les noms de codage
    open (NOM, $nom) or
      die "Desole, impossible d'acceder a ".$fileName.".\n";
     
    #ICI : AFFICHAGE DES CODAGES DISPONIBLES 50 PAR 50 (touche entrer pr changer)
     
    print " indice du codage choisi: ";
    chomp ($codage = <STDIN>);
    voilà y'a -t-il un module associé ? une astuce? pouvez vous m'aider à démarrer svp
    Merci d'avance

  2. #2
    Membre confirmé Avatar de crochepatte
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 206
    Par défaut
    Je n'ai pas compris ton probleme...
    Il te suffit d'imprimer sur la console les 50 codes courants...et d'attendre un nombre...
    Si l'utilisateur n'a rien entre (equivalent a entrer), tu increment de 50 tes codes courants...Si non tu traite avec ton nombre recu via le STDIN

    Voila en gros un algo
    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
     
    ...ton code a toi...
     
    while ((<NOM>)&&(selection du code non faite))
    {
            # impression des 50 codes courants
            for $i=indicecourant...jusqu a 50
                       {#imprime les code}
            # laisse la main a l utilisateur
            $code = <STDIN>;
            if ($code non vide)
                       {#on sors de la boucle avec un booleen par exemple}
    }
     
    if (selection faite)
           {#codage de ton ADN}
    Bon voila en gros comment je ferai...

  3. #3
    Membre confirmé Avatar de fripette
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 242
    Par défaut
    en fait je veux que l'utilisateur puisse voir les N codes disponibles dans ma liste de code
    MAIS je veux les faire défiler 50 par 50 avec une intervention de l'utilisateur qui fait passer de la page 0 à 50 à la page 51 à 101 ainsi de suite jusqu'à le Nieme code dispo
    mais tu m'as donné un debut .

    # impression des 50 codes courants
    for $i=indicecourant...jusqu a 50
    {#imprime les code}
    # laisse la main a l utilisateur
    $code = <STDIN>;
    if ($code vide) { $i+=50 for $i= indiceactualisé à $i+50}
    else { suite du code}

    ca pourrait marcher

    je ne sais pas si le pb te semble plus clair , Crochepatte mais merci !

  4. #4
    Membre confirmé Avatar de crochepatte
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 206
    Par défaut
    Oups, j'avais oublié dans la boucle while d'incrementer de 50 indice courant en effet

  5. #5
    Membre confirmé Avatar de fripette
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 242
    Par défaut
    comment traduire en perl "selection du code non faite "?
    ca veut dire que le stdin renvoi rien c'est ca
    (ah oui, au fait je débute, mille excuses)
    Merci

  6. #6
    Membre confirmé Avatar de crochepatte
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 206
    Par défaut
    en fait, concretement j'initialiserai une variable $bool = 0...Tant que l'utilisateur a rien entré, elle reste à 0...sinon elle est incrementé a 1...
    Donc une fois, sorti de la boucle d'ecriture des codes...si cette variable vaut 0 c'est que l'utilisateur n'a rien entré, si elle vaut un c'est que le code a bien etait passé via la console...

    Voila

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/04/2012, 12h42
  2. Interaction avec la console
    Par wazol dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 25/05/2010, 10h42
  3. Réponses: 0
    Dernier message: 07/09/2009, 06h15
  4. [PHP-JS] script php en mode console et avec arguments
    Par danathane dans le forum Langage
    Réponses: 1
    Dernier message: 28/05/2007, 14h57
  5. Envoie d'email en mode console avec indy
    Par luchoadvance dans le forum Delphi
    Réponses: 3
    Dernier message: 14/03/2007, 08h49

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