2 messages in org.openoffice.fr.progRe: [prog] Re: [users-fr] Jeu de cara...
FromSent OnAttachments
Laurent GodardJan 26, 2005 3:12 am 
Bernard MarcellyJan 26, 2005 5:37 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [prog] Re: [users-fr] Jeu de caractèresActions...
From:Bernard Marcelly (marc@club-internet.fr)
Date:Jan 26, 2005 5:37:47 am
List:org.openoffice.fr.prog

J'ai un petit pb dans les macros avec les accents.. Si dans la macro je tape l'instruction suivante: Print "quelle belle journée" Tout est OK Par contre si j'ai un fichier texte toto.txt avec les champs suivants: exemple: "bonne journée","à vous tous" Dans la macro j'ouvre le fichier toto.txt, je charge le contenu du fichier dans les variables Texte1$ et Texte2$ Puis j'exécute Print Texte$1 J'obtiens bonne journ?e

Le 2005-01-26 12:13, Laurent Godard a écrit :

apres examen rapide, il semblerai que la fonction input ai quelques soucis avec les caracteres accentues (OOo 1.1.4) Ils sont tous remplacés par un ? quelque soit l'encodage choisi pour le fichier texte et meme si celui ci est generé par macro

le line Input ne presente pas de probleme !

avez vous déjà constaté ce probleme ?

Un fichier "texte pur" ne contient que des caractères, mais rien n'indique comment ils sont codés. Les caractères accentués peuvent être codés de différentes manières : OEM (codage dépendant du pays), ANSI, Unicode, UTF-8 etc. Il faut donc faire des suppositions. Line Input de Basic suppose, sous Windows, que le texte est codé ANSI. Si on prend ce texte ANSI et qu'on le lit avec Line Input sous Linux, peut-être qu'on aura des accents incorrects.

Par contre, si dans Windows on ouvre manuellement un fichier texte avec OOo, il est capable de reconnaître un texte ANSI ou Unicode ou UTF-8, mais pas OEM. OOo doit probablement effectuer une analyse subtile des octets employés dans le texte. En programmation, ceci inciterait à lire un fichier texte en le chargeant (comme un fichier sxw) au lieu d'utiliser Line Input.

La fonction Input (employé sans Line) est incapable de lire des caractères accentués. Alors que son pendant, la procédure Write, écrit en codage ANSI sous Windows. Pour la fonction Input de Basic, voir dans le livre Programmation OpenOffice.org pp.134-135 : Input sert à lire des données stockées dans un texte, mais ne sert pas à lire un texte pur.

Essais effectués sous Windows XP, avec la phrase: L'élève Noël joue peut-être de la flûte. Création du fichier et conversions de codages effectuées avec l'éditeur EditPad Pro.

Bernard