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 :

[affichage] probleme avec le gotoxy() limité a la ligne 44


Sujet :

C++

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 12
    Points : 6
    Points
    6
    Par défaut [affichage] probleme avec le gotoxy() limité a la ligne 44
    Je me suis fais une validation qui affiche un message expliquant l'erreur faite par l'utilisateur. ensuite je veux que le curseur revienne se posté apres la demande qui lui a été faite tout en ayant les message d'erreure.
    Par exemple voici l'écran apres qu'un nombre négatif est été entré.

    entrez un nombre positif : _
    le nombre entré n'est pas postif
    réentré le nombre

    et non pas que le programe réécrive la demande en dessous a chaque fois que l'utilisateur entre une donné invalide par exemple:

    entrez un nombre positif : -5
    le nombre entré n'est pas postif
    réentré le nombre

    entrez un nombre positif : _

    Mon programe est en mode console et je travaille avec builder c++ 6.0 .
    J'utilise présentement wherey() et wherex() pour avoir les coordonné du curseur immidiatement apres la demande et gotoxy() au début de ma validation pour que le curseur vienne se posté toujours apres la demande.


    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
     
            cout<<"entrez un nombre positif : ";
            Val_X=wherex();                           // renvois l'emplacement
            Val_Y=wherey();                           // actuelle du curseur
     
            do
            {   Err=False;
                gotoxy(Val_X,Val_Y);       // retourne le curseur au coordoné de départ
                clreol();                  // pour effacé l'ancienne entré de l'utilisateur (erroné)
                cin>>Num;
     
    				/* gestion des erreure possible avec cin.fail et chacune des condition que je veux 
    				   donc dans ce cas Num >= 0  si une des condition n'est pas respecté Err=True */
     
            }while(Err);                         //recommence s'il y a eu une erreure
    cela fonctionne parfaitement jusqu'a la ligne 44 si je me souvien bien mais c'est autour de celle la. a ce moment le gotoxy() ne fonctione plus. Je me suis assuré que la fonction wherey() fonctionnais comme il le faut et il n'y a aucun probleme. Mais le gotoxy() lui bloque a cette ligne 44.

    En y pensant je ne vois que deux solution:
    soit il y a une autre fonction qui fais le meme travaile que gotoxy()
    soit il y a une fonction qui me permettrai de remonté d'une ligne ou de recullé de 80 caractere en permettant le changement de ligne.
    soit encor s'il est posible d'élargir la porté de gotoxy()

    mais je ne conais ni une ni l'autre alors si vous avez une idée pour réglé se probleme, avec les deux moyen que jai pus toruvé ou avec un autre moyen qui existe probablement.

    merci a l'avence de vos réponse.

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Mais, elle fait combien de lignes, ta console?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    c'est la fenetre normal d'une aplication consol c'est-a-dire 80 colone par 25 ligne mais dans windows il y a une bar de défilement vertical qui permet d'allé jusqua 300 ligne

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    C'est pas compatible avec Borland.
    Chez borland, c'est soit 25 lignes, soit 43 ou 50... Donc, c'est normal qu'au-dessus de 44 ça foire.
    Généralement, les fonctions d'affichage DOS se limitent à la partie toujours visible de l'écran...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Futur Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    je veux bien mais quand je crée une aplication consol avec builder 6 et que je passe la ligne 25 la bar de défilement aparait pour pouvoir remonté et ce jusqua 300 ligne ( selon les propriété de la fentre consol ). que la fentre qui aille jusqua 300 ligne soit incompatible ces possible mais est-ce qu'il aurai un moren de ne pas utiliser le propriété de la fentre a partir de builder pour pour voir faire se que je veut. ou une fonction genre gotoxy() qui déplace en valeur absolue c'es-à dire qu'il déplace a partir de l'endroit ou je suis placé et non de la case (1,1) en haut a gauche?

Discussions similaires

  1. Réponses: 20
    Dernier message: 02/11/2008, 18h18
  2. RegExp : Problem avec ajout de retour a la ligne
    Par Roming22 dans le forum Linux
    Réponses: 3
    Dernier message: 12/01/2006, 19h44
  3. PROBLEME avec limitation de longueur de champ...
    Par zarbydigital dans le forum Bases de données
    Réponses: 10
    Dernier message: 05/10/2005, 11h02
  4. [CSS] Probleme avec l'affichage de mon site :
    Par vampyrx dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 28/08/2005, 23h23
  5. Probleme avec affichage de date
    Par Wongmaster dans le forum Access
    Réponses: 27
    Dernier message: 24/12/2004, 20h51

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