Fins de ligne
Thomas De Contes via Ada-france <[email protected]> Wed, 29 Dec 2021 19:21:16 +0100
| Newsgroups | gmane.comp.lang.ada.france |
|---|---|
| Message-ID | <[email protected]> |
Bonjour :-)
Désolé, je n'ai pas trouvé comment préciser le sujet de mon problème dans le sujet du message.
Mon problème est du à 2 causes combinées.
En plus, il n'apparait que sous Windows, que je ne peux pas tester.
1)
Le mainteneur de Tash m'a dit que sous Windows, les fins de ligne du système ne sont pas interprétées correctement par Tk et sont interprétées comme 2 fins de ligne.
La solution retenue par RAPID jusqu'à maintenant, et que je pense poursuivre pour l'instant, c'est d'utiliser simplement LF comme fin de ligne, de façon multiplateformes. (Peut-être que ça n'est pas une bonne idée pour certaines situations.)
2)
Je suppose jusqu'à preuve du contraire que Ada.Exceptions.Exception_Information génère des fins de ligne dépendantes du système.
(D'ailleurs, comment ça se passe sur les systèmes "exotiques" où les fins de ligne sont gérées autrement qu'avec des caractères ?)
Ce qui me parait le mieux à faire a priori, c'est de repérer les fins de ligne dans la sortie de Ada.Exceptions.Exception_Information et de les convertir en LF. (Est-ce un mauvais choix ?)
Comment faire ça proprement et de façon portable ?
J'espérais qu'il existe un
procedure Get_Line(From : in String;
Item : out String;
Last : out Natural);
pour pouvoir lire dans une chaine à la place d'un fichier, comme avec les autres types.
Par exemple dans Ada.Text_IO.Integer_IO :
procedure Get(From : in String;
Item : out Num;
Last : out Positive);
Sinon je pense à utiliser les fichiers temporaires à cette occasion, mais ça me parait lourd pour ce que ça fait.
À vos avis :-)
--
RAPID maintainer
http://savannah.nongnu.org/projects/rapid/
_______________________________________________
Ada-france mailing list
[email protected]
https://mail.ada-france.org/cgi-bin/mailman/listinfo/ada-france