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

C++ Discussion :

Application ligne de commande en C++


Sujet :

C++

  1. #1
    Membre chevronné
    Inscrit en
    Novembre 2006
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 362
    Par défaut Application ligne de commande en C++
    Bonjour,

    Ma question est simple : existe-t-il un framework de référence pour coder des applications interactive en ligne de commande en c++ ?

    Je voudrais faire quelque chose de portable et d'interactif, sans manipuler directement les flux d'entrée et de sortie (ce qui est un petit peu moche en terme de résultat).

    Je voudrais notamment éviter :
    - le scrolling vertical à chaque nouvelle info à afficher
    - les clignotements à répétition

    Ceux qui ont l'habitude d'utiliser des programmes en ligne de commande sous linux (man, lftp, emacs, rtorrent ...) voient de quoi je parle.

    Quelqu'un a-t-il une piste ?
    Est-ce seulement possible sous windows ?

    Merci à ceux qui ont lu.
    Merci à ceux qui pourront m'aider.

  2. #2
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    ncurses, pdcurses

  3. #3
    Membre chevronné
    Inscrit en
    Novembre 2006
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 362
    Par défaut
    Merci

  4. #4
    Membre chevronné
    Inscrit en
    Novembre 2006
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 362
    Par défaut
    Bonjour,

    PDCurse correspond parfaitement à ce que je cherchais.

    Par contre, je rencontre un problème assez étonnant, pour lequel je sollicite à nouveau l'aide de qui pourra :

    J'essaie de redessiner l'écran trente fois par seconde pour faire une animation.
    Mais quand je dessine une image, je ne dessine que l'image en question, qui ne recouvre pas forcément entièrement l'image précédente. Il y a donc des résidus de toutes les images précédents sur chaque image.

    Je dois effacer l'écran avant de le redessiner.

    Pour effacer l'écran, j'ai deux choix :
    - Soit j'utilise les fonctions clear() ou erase(),
    - soit j'affiche des espaces partout

    La première solution m'a l'air plus "class", mais elle provoque un clignotement (comme s'il me manquait un double buffering). C'est à dire que pendant une fraction de seconde, je vois l'écran noir entre deux images : ce n'est pas du tout confortable.

    Plus ou moins je suppose que les fonctions clear() ou erase() appellent tout de suite derrière un refresh() ou équivalent.

    La seconde solution me semble être particulièrement moche, mais elle présente l'avantage de ne pas provoquer ce clignotement.

    Est-ce que quelqu'un a une idée pour une troisième solution qui serait à la fois class et efficace ?

    Merci à ceux qui ont lu
    Merci à ceux qui pourront m'aider

Discussions similaires

  1. [c#]compiler une application web en ligne de commande
    Par chorokari dans le forum ASP.NET
    Réponses: 1
    Dernier message: 23/01/2007, 09h55
  2. Application en ligne de commande & Systray
    Par Tamatea dans le forum Windows
    Réponses: 17
    Dernier message: 19/07/2006, 12h46
  3. Réponses: 2
    Dernier message: 21/05/2006, 09h30
  4. [C#] Application avec lignes de commande
    Par Oberown dans le forum Windows Forms
    Réponses: 1
    Dernier message: 13/10/2005, 17h26

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