Hello!

Inspiré(e) de prendre part à la discussion ? Ou de poser une question ou demander de l’aide ?

Alors bienvenues dans les grands sujets des forums de La Bulle : m’inscrire.

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.

utilisation de ansi_console dans un terminal GNU/Linux.
Auteur Message
Beau Parleur
Beau Parleur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 320
Jeu 15 Déc 2016 08:48
Message utilisation de ansi_console dans un terminal GNU/Linux.
Bonjour,

Je voudrais écrire un nouveau programme (dans la suite des précédents).

Pour ce nouveau pprogramme je voudrais utiliser ANSI_Console.

Mais avant je dois dire que j'ai un gros problème pour écrire quelque programme que ce soit depuis une semaine.

Pour faire dans le concret, je veux écrire une nouvelle interface utilisateur pour GNU/Linux (en premier lieu) dans un terminal texte pour donner à l'utilisateur toutes les informations disponibles sur un ordinateur selon les besoins de l'utilisateur.

Voici mon code source pour le moment, dans lequel je me heurte à la condition et au processus de terminaison du programme qui reste une fonctionnalité primordiale et une préoccupation continue pour moi ; Et à l'utilisation de Get_Key, fonction qui est non bloquante.

Source ada : 

with Ansi_Console;                      use Ansi_Console;

procedure Gnasterm is

generic

Lines_Max : Short_Integer := 24;
Columns_Max : Short_Integer := 80;
package Term is

task Terminal is
entry Receive (Keystroke : in Keystroke_Input_Type);
entry Halt;
end Terminal;

end Term;

package body Term is

task body Terminal is
begin
loop
select
accept Receive (Keystroke : in Keystroke_Input_Type) do
null;
end Receive;
or
accept Halt;
exit;
end select;
end loop;
end Terminal;

end Term;


package Gnasterminal is new Term;

Keystroke : Keystroke_Input_Type;

begin
loop
Get_Key(Keystroke);
Gnasterminal.Terminal.Receive(Keystroke);
end loop;
end Gnasterm;


Mais dans ce cas j'envoye sans cesse un Keystoke indefinit.
Et je ne sais pas comment arrêter le processus.

Comment procederiez vous ?
S'il vous plaît !

Merci.
Profil
Administrateur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 22173
Jeu 15 Déc 2016 18:29
Message Re: utilisation de ansi_console dans un terminal GNU/Linux.
Il faut réécrire une autre fonction Get_Key, il n’y a pas d’autre possibilité. Je repasserai plus tard pour en poster une. Mais tu peux aussi essayer, avec cette piste : Get_Key utilise Get ; il y en a plusieurs, qui sont des renommages de fonctions du paquet Ada.Text_IO. Les Get non‑bloquants sont des renommages de Ada.Text_IO.Get_Immediate.

Je n’ai pas le temps tout de suite, mais je pourrai le faire plus tard.

Image
Hibou57

« La perversion de la cité commence par la fraude des mots » [Platon]
Profil Site Internet
Beau Parleur
Beau Parleur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 320
Ven 16 Déc 2016 17:49
Message Re: utilisation de ansi_console dans un terminal GNU/Linux.
c'est justement le comporetement non blockant de ton get_key qui me perturbe alors qu'avant j'avais l'esprit inverse. C'est bizarre. Ding même.

du coup je crois que je sais plus programmer j'ai besoin d'un redressement sémantique sur la prog je crois.
Profil
cron