Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Membre à l'essai
    Homme Profil pro abdou monta
    Étudiant
    Inscrit en
    mai 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Nom : Homme abdou monta
    Localisation : Tunisie

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

    Informations forums :
    Inscription : mai 2012
    Messages : 71
    Points : 23
    Points
    23

    Par défaut Détecter une flèche avec ReadKey

    Bonjour

    J'exécute Turbo Pascal avec wine sous Ubuntu 12.10.
    Code :
    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

    Avatar de Alcatîz
    Homme Profil pro Jean-Luc Gofflot
    Ressources humaines
    Inscrit en
    mars 2003
    Messages
    5 938
    Détails du profil
    Informations personnelles :
    Nom : Homme Jean-Luc Gofflot
    Âge : 47
    Localisation : Belgique

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

    Informations forums :
    Inscription : mars 2003
    Messages : 5 938
    Points : 37 421
    Points
    37 421

    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
    Tutoriels, exercices, FAQ, sources, compilateurs, outils, livres Pascal
    Mes tutoriels et sources Pascal
    FAQ Assembleur

    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]

  3. #3
    Expert Confirmé Sénior
    Inscrit en
    août 2006
    Messages
    3 531
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 3 531
    Points : 4 010
    Points
    4 010

    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).

    Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir.

  4. #4
    Membre à l'essai
    Homme Profil pro abdou monta
    Étudiant
    Inscrit en
    mai 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Nom : Homme abdou monta
    Localisation : Tunisie

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

    Informations forums :
    Inscription : mai 2012
    Messages : 71
    Points : 23
    Points
    23

    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 :
    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

    Avatar de Alcatîz
    Homme Profil pro Jean-Luc Gofflot
    Ressources humaines
    Inscrit en
    mars 2003
    Messages
    5 938
    Détails du profil
    Informations personnelles :
    Nom : Homme Jean-Luc Gofflot
    Âge : 47
    Localisation : Belgique

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

    Informations forums :
    Inscription : mars 2003
    Messages : 5 938
    Points : 37 421
    Points
    37 421

    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
    Tutoriels, exercices, FAQ, sources, compilateurs, outils, livres Pascal
    Mes tutoriels et sources Pascal
    FAQ Assembleur

    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]

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •