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,
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 à 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 :-- 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. |
|
|
Administrateur
|
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. Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
Beau Parleur
|
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. |
Beau Parleur
|
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. |
Administrateur
|
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. Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
Beau Parleur
|
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... |
Administrateur
|
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. Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
Modératrice
|
|
|