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

Turbo Pascal Discussion :

Détecter une flèche avec ReadKey


Sujet :

Turbo Pascal

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 71
    Points : 59
    Points
    59
    Par défaut Détecter une flèche avec ReadKey
    Bonjour

    J'exécute Turbo Pascal avec wine sous Ubuntu 12.10.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    begin
    k := readkey;
    if k = #80 then
       writeln('sa marche');
    end.
    En principe, il affichera "ça marche" si on tape la flèche bas, n'est-ce pas ?

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 938
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Malheureusement non, les flèches font partie des touches qui génèrent deux codes lorsqu'elles sont pressées : d'abord #0 puis #80. Il faut donc un double ReadKey.

    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  3. #3
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Xoa,

    Oui, et un petit exercice consiste à s'amuser à utiliser ReadKey, et afficher la touche qui a été utilisée :
    - si c'est un caractère affichable, l'afficher tel quel
    - sinon, afficher son code et/ou son nom (par exemple, afficher LineFeed si code = 10).

    Si les cons volaient, il ferait nuit à midi.

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 71
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par Alcatîz Voir le message
    Bonjour,

    Malheureusement non, les flèches font partie des touches qui génèrent deux codes lorsqu'elles sont pressées : d'abord #0 puis #80. Il faut donc un double ReadKey.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    begin
    k := readkey;
    if k = #0 then
       k := readkey;
    if k = #80 then
       writeln('ça marche');
    end.
    ça marche comme ça?
    merci

  5. #5
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 938
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Il y a plusieurs fils de discussion sur le forum qui abordent la question. Ce post est un bon résumé :
    http://www.developpez.net/forums/d55...s/#post4351122
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

Discussions similaires

  1. Tracer une flèche avec un angle
    Par nabil148911 dans le forum MATLAB
    Réponses: 4
    Dernier message: 11/05/2015, 20h34
  2. Détecter la collision, dessiner une flêche et un arc
    Par guitariste dans le forum JavaFX
    Réponses: 3
    Dernier message: 08/04/2009, 11h58
  3. [POO] Problème avec une flèche
    Par damienIRIS dans le forum Langage
    Réponses: 12
    Dernier message: 05/03/2008, 14h28
  4. Détecter la taille d'une vidéo avec PHP
    Par Al3x dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 28/03/2007, 09h38
  5. flèche dans une ligne avec canvas
    Par bhahmed dans le forum C++Builder
    Réponses: 1
    Dernier message: 21/09/2006, 19h24

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