Cette partie du forum n’est pas compatible avec les bloqueurs publicitaires
Félicitations à vous, de préférer les accès payants plutôt que la gratuité par la publicité, c’est honnorable et cohérent de votre part. Malheureusement, l’accès payant par micropaiement (qui serait d’environ 1 cent pour 20 pages consultées) n’est pour l’instant pas encore mis en place, et l’accès gratuit sans publicité, est réservé aux membres actif(ve)s du forum. En attendant, si vous souhaitez poursuivre votre visite chez nous, vous pouvez ajouter le site à votre liste blanche, ou encore mieux, désactiver le bloqueur partout. Pour ajouter le site à votre liste blanche, pour Firefox (similaire pour les autres navigateurs), rendez‑vous en bas à gauche de la fenêtre de votre navigateur, et cliquez sur le menu comme dans l’exemple de l’image ci‑dessous, puis rechargez la page, en appuyant sur F5.
|
|
Auteur | Message |
---|---|
Beau Parleur
|
Bonjour,
J'ai un problème, je voudrais sauter les séquence d'échappement dans un flux de donnée en entrée du clavier. J'ai testé le code Rosetta input/Flush Ada qui ne fonctionne pas sur ma machine. Je suis sur Gnu/Linux Debian avec gcc-4.9. Merci pour votre aide. Merci Hibou. Bonjour d'ailleurs. |
|
|
Administrateur
|
Emmanuel Sens a écrit : Bonjour, Quelles séquences d’échappement ? Genre les commandes ANSI ? Sauter une séquence en particulier et vider le cache, ce sont deux choses différentes. Tu veux vider le cache en pensant que c’est la meilleure manière de sauter certaines séquences ou l’inverse, tu penses que sauter certaines séquences est la meilleure manière de vider le cache ? Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
Beau Parleur
|
Genre ce qui rentre lorsque je tape F1 à F12, ou les flèche ou page up down, end, begin, etc.
Toutes ces touche sont des séquence précédées du caractère 27. C'est pour ça que je les appelle des séquence d'échappement. Je voudrais les ignorer lors de mon Wide_Text_Io.Get_Immediate(). |
Administrateur
|
Alors ce n’est pas une vidage de tampon, c’est un filtrage.
Il faudrait pouvoir reconnaitre les séquences, et pour cela, connaitre leur format. Je crois que dans ANSI_Console, que tu connais, il y a quelques pistes pour ça. Sous réserve que je comprends bien le problème … Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
Beau Parleur
|
En fait, mon réel problème avant de vouloir ignorer ces séquence, c'est que je ne parviens pas à les faire passer à ma tache qui construit la ligne de saisie.
Soit ce code : Source ada :loop Qui doit passer le Wide_Character à la tache console dont voici l'entrée Receive(WChar : in Wide_Character); Dans le cas d'un Wide_Character'val(10) je mets la ligne dans un tableau d'un element de type accès à Wide_String. Source ada :Put(Wide_Character'Val(13) & ((Char_Max+2) * Wide_Space) & Wide_Character'Val(13) & "# " & Line.all); Des que j'appuye sur une de ces touche le rogramme plante. |
Administrateur
|
Emmanuel Sens a écrit : Des que j'appuye sur une de ces touche le rogramme plante. Il plante comment ? Il ne répond plus / gèle ou il produit une opération invalide ? En marge, il faut vraiment que je corrige ce problème de mise en page avec les balises Code trop larges … Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
Beau Parleur
|
Non, je répond pas à des question comme ça
Planter, le programme s'arrête. Sans sortir. bref, on pourait y passer des années. |
Beau Parleur
|
Avec des Character et des String à la place des Wide Character et Wide_String, ça marche.
Je suis vert. |
Beau Parleur
|
Alors, je ne parviens toujours pas à vider le tampon du clavier.
Par contre avec les character, j'arrive, en ignorant le caractère 27, à passer le reste de la séquence pour construire la ligne. Mais j'aurais bien aimé utiliser des Wide. |
Administrateur
|
Emmanuel Sens a écrit : Avec des Character et des String à la place des Wide Character et Wide_String, ça marche. Ça sent le problème d’allocation de mémoire. Tu exécutes le programme après l’avoir compilé avec les instructions de contrôle des bornes ? Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
|