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 :

C ANSI : Détection des flèches de déplacement


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes embarqués
    Inscrit en
    Janvier 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 81
    Par défaut C ANSI : Détection des flèches de déplacement
    Bonsoir
    J'ai déjà lu plusieurs sujets à propos de cela mais je ne sais pas à quel version de C cela se limite (j'en ai testé plusieurs qui ne fonctionnaient pas).
    Je développe un petit programme en C ANSI et je dois détecter les flèches de déplacement.
    Y a-t-il une méthode pour détecter ces flèches en C ANSI et qui soit portable sur n'importe quel plate-forme ?
    Merci d'avance

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Non.

    C Ansi signifie que les flux d'entrée ne sont rien d'autre que des flux, et qu'ils peuvent aussi bien être le clavier qu'un fichier, une liaison série, etc.

    Les concepts de TUI et de C Ansi sont donc opposés.
    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
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes embarqués
    Inscrit en
    Janvier 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 81
    Par défaut
    D'accord merci.
    Il va falloir que je demande des informations à mon prof ... parce que dans notre sujet il y a écrit que les déplacements doivent se faire soit par les lettres h d g b, soit par les flèches de directions.
    Donc exit les flèches
    Merci

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    De toute façon, dès qu'il est question de réagir dès qu'une touche est préssée (plutôt que d'attendre une ligne complète), tu n'es déjà plus en C ANSI.
    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
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes embarqués
    Inscrit en
    Janvier 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 81
    Par défaut
    En gros tout flux doit être confirmé par l'appui sur la touche d'entrée, il n'y a pas d'écoute, c'est bien ça ?

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    C'est ça. En C ANSI, le terminal est ligne par ligne, et non caractère par caractère.

    À partir du moment où tu brises cette contrainte, tu sors de l'interface en ligne de commande et tu entres dans la TUI.
    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.

  7. #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par F0ul Voir le message
    Y a-t-il une méthode pour détecter ces flèches en C ANSI et qui soit portable sur n'importe quel plate-forme ?
    Evidemment non. Ce qui est portable, c'est le flux stdin. Le périphérique qui lui est attaché dépend de la plateforme. La notion de clavier est inconnue du langage C.

    Par contre il existe des méthodes portables si on utilise PDCurses, par exemple. Mais ce n'est plus du mode ligne (conversationnel ou interactif), mais caractère (TUI ou Text User Interface)

  8. #8
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes embarqués
    Inscrit en
    Janvier 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 81
    Par défaut Précision
    Bonjour

    L'option -lcurses que l'on peut ajouter à gcc reste-t-elle dans le cadre du C ANSI ?

    Parce qu'en fait celà nous permettrait d'inclure la librairie <curses.h> dans laquelle existe la fonction cbreak() qui permet de s'affranchir de l'appuie sur la touche Entrée.

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Ben non, ce n'est pas du C ANSI: C'est du C avec une bilbliothèque.
    Et -l, ce n'est pas une "option C ANSI", car ça n'existe pas: C'est une option du compilateur, dans le cas présent gcc.

    Et <curses.h> n'est pas une bibliothèque, c'est un fichier d'en-tête. Un fichier d'en-tête non-standard, parce que c'est celui d'une bibliothèque.
    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.

  10. #10
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par F0ul Voir le message
    Parce qu'en fait celà nous permettrait d'inclure la librairie <curses.h> dans laquelle existe la fonction cbreak() qui permet de s'affranchir de l'appuie sur la touche Entrée.
    On n'inclut pas une bibliothèque.
    Et curses.h n'est pas non plus une bibliothèque mais un fichier d'en-tête contenant entre autres les prototypes des foncions de la dites bibliothèque.

    L'option -lcurses te permet de linker ton projet avec la bibliothèque justement.

    Et non ce n'est plus ANSI puisque tu utilises une bibliothèque tierce.

  11. #11
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes embarqués
    Inscrit en
    Janvier 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 81
    Par défaut
    Héhé je te remercie
    Et désolé de mon mauvais langage, je ne connais souvent pas les mots exacts de ce que je fais ... merci

  12. #12
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par F0ul Voir le message
    Et désolé de mon mauvais langage, je ne connais souvent pas les mots exacts de ce que je fais ...
    Améliore ça, parce qu'en informatique, ça ne pardonne pas (ailleurs non plus d'ailleurs... Imagine un médecin qui confond le nom des médicaments...)

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

Discussions similaires

  1. Problème de détection des flèches
    Par mariolecuyer dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 24/05/2011, 16h37
  2. Déplacement de la fenetre avec des flèches
    Par MayOL69bg dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 03/05/2007, 23h09
  3. Détection des disques physiques et logiques
    Par TheBigMac dans le forum Assembleur
    Réponses: 3
    Dernier message: 10/06/2004, 21h08
  4. Codes étendus des flèches directionnelles
    Par coca dans le forum x86 16-bits
    Réponses: 2
    Dernier message: 11/12/2002, 17h10

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