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.

Saut de ligne indésirable à l'affichage de séquence d'échappement
Auteur Message
Beau Parleur
Beau Parleur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 320
Jeu 22 Oct 2015 02:59
Message Saut de ligne indésirable à l'affichage de séquence d'échappement
Bonjour,

Je viens avec une nouvelle énigme avec Ada sur Gnu/Linux.
Je récupère la sortie de la commande source-highlight dans un fichier que je lis avec la fonction Text_Io.Get_Line.

J'ai beau chercher je ne vois pas pourquoi à la lecture l'écriture de la sortie de source-highlight sur la sortie standard, des saut de ligne sont effectuées de temps à autres.

Un indice peut-être, j'ai quelque caracère mistérieux devant être des bouts de séquence d'échapement, car en effet, j'utilise les options -s ada -f esc de source-highlight.

Ah et en fait j'affiche les séquence d'échappement avec le paquetage ANSI_Concole.
Merci Hibou.

exemple d'une ligne coupée en deux :

Code : 

--
Buffer := new String ' (Line(Fixed.Index(To_Lower(Line), "body" |
| [m)+4..Fixed.Index(To_Lower(Line), "is") - 1)); |
|

En début et en fin de ligne les pipe de la fenêtre et en seconde ligne commence un bout d'échappement . puis poursuit en fermant la parenthèse.

Voilà, si vous avez une idée.
Merci.
Profil
Administrateur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 22208
Jeu 22 Oct 2015 04:19
Message Re: Saut de ligne indésirable à l'affichage de séquence d'échappement
ANSI_Console a été conçu pour les affichages sur la console comme écran, pas comme flux texte.

Regardes si par hasard les sauts de ligne n’apparaissent pas à 78 ou 80 caractères.

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
Jeu 22 Oct 2015 06:35
Message Re: Saut de ligne indésirable à l'affichage de séquence d'échappement
N'empêche, ça fonctionne.
J'ai trouvé d'où ça viens probablement,
En fait ne je suis pas limité à 80 caractères, enfin ça dépend, bref.
En tout cas je formate quand même les page, les lignes, en fonction de la largeur du terminal et je coupe évidemment lorsque j'atteins le max de caractères. Mais j'ai pas pensé que les séquence d'échappement ne sont pas à compter dans les longueur de ligne.

Du coup, je cherche un moyen de récupérer la taille réelle du texte affiché dans une séquence de caractères, avec Ada.
Profil
Beau Parleur
Beau Parleur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 320
Jeu 22 Oct 2015 12:43
Message Re: Saut de ligne indésirable à l'affichage de séquence d'échappement
Re-bonjour,

J'ai écrit une petit fonction qui regarde si on entre dans une séquence d'échappement ou si l'on en sort avec un 'm' terminal pour traiter le texte coloriser.
Je l'ai déclaré dans Ansi_Console, et au lieux de comparer line'length à width j'appelle ma fonction qui retourne un naturel.

Ca marche mais que pour la couleur.
Merci Hibou.
Profil
Administrateur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 22208
Jeu 22 Oct 2015 14:34
Message Re: Saut de ligne indésirable à l'affichage de séquence d'échappement
J’y pensais aussi, mais j’avais hésité à en parler.

Dans ce module, il n’y a pas de fonction de « décodage » des commandes de terminal ANSI. Ces commandes sont émises par les fonctions du module, mais il n’en attend pas en paramètres textes. Les seules qu’il interprète, et encore pas toujours de manière fiable dut à des différences d’implémentation d’un émulateur à l’autre, ce sont les commandes correspondantes aux appuis de touches.

En bref, les textes fournis en arguments ne sont pas censés contenir des commandes ANSI.

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 23 Oct 2015 09:41
Message Re: Saut de ligne indésirable à l'affichage de séquence d'échappement
Bonjour Hibou,

Je te comprends pas.
Tu dis que le paquetage ne traite pas les sequence Ansi, donc qu'est-ce qui empècherait l'utilisateur d'écrire des séquence Ansi.

Je pense au contraire que l'absence de traitement de ces séquence permet à l'utilisateur d'en écrire pour être interprété normalement par le temrinal.

Note que ça ne me pose aucun problème, juste pour la discute...
Profil
Administrateur
Avatar de l’utilisateur
  • Genre : Télétubbie
  • Messages : 22208
Ven 23 Oct 2015 11:39
Message Re: Saut de ligne indésirable à l'affichage de séquence d'échappement
Il en ajoute en sortie, mais ne les interprète pas en entrées : risque de commandes mal‑formées ou interférant entre elles.

Ça fait des années que je l’ai écrit, j’en parle de mémoire, mais je ne penses pas me tromper.

Image
Hibou57

« La perversion de la cité commence par la fraude des mots » [Platon]
Profil Site Internet
zen
Modératrice
Avatar de l’utilisateur
  • Genre : Fille
  • Age : 55
  • Localisation : Un pied dans l'eau et un sur le mont.
  • Messages : 11010
Sam 24 Oct 2015 20:08
Message Re: Saut de ligne indésirable à l'affichage de séquence d'échappement
Heuuu… Oups ! Je me suis trompée de porte ! Hihihi! Image
Profil
cron