Précédent   Forum des professionnels en informatique > Autres langages > Pascal > Lazarus
Lazarus Forum d'entraide sur Lazarus, l'EDI RAD multiplateforme basé sur Free Pascal
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 15/11/2008, 21h47   #1
Membre actif
 
Avatar de ChPr
 
Inscription : septembre 2005
Messages : 478
Détails du profil
Informations personnelles :
Âge : 66

Informations forums :
Inscription : septembre 2005
Messages : 478
Points : 175
Points : 175
Par défaut [0.9.26] Problème d'accent

Bonjour à toutes et à tous, je viens d'installer lazarus sous Ubuntu et sous windows XP.

Si , dans l'inspecteur d'objet, je donne à la propriété "Caption" d'un composant la valeur "déjà" par exemple, à l'exécution, j'ai bien le texte "déjà" correctement écrit sous Ubuntu et sous WIndow XP. Par contre, si je passe ce texte à la propriété par une ligne de code telle que :

Code :
Mon_Composant.Caption:= 'déjà';
j'ai les résultats suivants :

- sous Ubuntu: les accents sont transformés en rectangle avec une croix dedans,
- sous XP, si une chaîne comporte un accent, la chaîne n'est pas du tout affichée.

Ya-t-il quelque chose de spécial à faire, un bug ?

Merci de voter aide.

Pierre

Dernière modification par Alcatîz ; 07/12/2008 à 14h28.
ChPr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2008, 22h06   #2
Membre émérite
 
Avatar de CapJack
 
Homme
Prof, développeur amateur vaguement éclairé...
Inscription : mars 2004
Messages : 623
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Prof, développeur amateur vaguement éclairé...
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 623
Points : 898
Points : 898
J'ai testé avec un TLabel. Chez moi, ça marche...
CapJack est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2008, 22h37   #3
Membre actif
 
Avatar de ChPr
 
Inscription : septembre 2005
Messages : 478
Détails du profil
Informations personnelles :
Âge : 66

Informations forums :
Inscription : septembre 2005
Messages : 478
Points : 175
Points : 175
Citation:
Envoyé par CapJack Voir le message
J'ai testé avec un TLabel. Chez moi, ça marche...
Moi aussi, j'ai fait l'essai (entre autre) avec un TLabel et j'obtiens les résultats cités ci-avant.

Quelle version de Lazarus as-tu ? dans quel environnement travailles-tu ? As-tu des directives de compilation particulières ?

Merci de votre aide.

Pierre
ChPr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2008, 01h32   #4
Membre émérite
 
Avatar de CapJack
 
Homme
Prof, développeur amateur vaguement éclairé...
Inscription : mars 2004
Messages : 623
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Prof, développeur amateur vaguement éclairé...
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 623
Points : 898
Points : 898
Citation:
Envoyé par ChPr Voir le message
dans quel environnement travailles-tu ?
J'ai testé sous Windows.

Citation:
Envoyé par ChPr Voir le message
As-tu des directives de compilation particulières ?
Aucune.


A tout hasard : le format du fichier source est-il bon ? Clic droit sur le code source, paramètres fichier -> encodage, normalement sous la 0.9.26, ce doit être UTF-8.

Moi, je pencherais pour une histoire d'encodage. Est-ce que dans les paramètres du compilateur -> Analyse, c'est bien "Objet Pascal" qui est sélectionné, est-ce que la case "chaînes Ansi" ne serait pas cochée, etc. ?
CapJack est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2008, 19h42   #5
Membre à l'essai
 
Inscription : décembre 2002
Messages : 46
Détails du profil
Informations forums :
Inscription : décembre 2002
Messages : 46
Points : 24
Points : 24
Citation:
Envoyé par CapJack Voir le message
le format du fichier source est-il bon ? Clic droit sur le code source, paramètres fichier -> encodage, normalement sous la 0.9.26, ce doit être UTF-8.
Je confirme l'explication ci-dessus, c'est toujours comme cela que je fais et je n'ai jamais de problème.

Maintenant, si les chaînes proviennent d'une base de données, d'un fichier texte, etc... il faut parfois les convertir avec AntiToUtf8 avant de la passer aux propriétés des contrôles de la LCL.

La LCL est passée en Unicode depuis la version 0.9.26.
marcleb1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2008, 22h18   #6
Membre actif
 
Avatar de ChPr
 
Inscription : septembre 2005
Messages : 478
Détails du profil
Informations personnelles :
Âge : 66

Informations forums :
Inscription : septembre 2005
Messages : 478
Points : 175
Points : 175
Bon, j'ai effectivement trouvé d'où venait mon problème. J'en ai fait fait des essais avant de trouver.

En fait, sur le disque C: de mon PC sous Windows XP SP2, j'ai installé Lazarus 0.9.24 et c'est avec cette version que je développe en ce moment.

Sur un autre PC qui lui est sous Ubuntu, j'ai installé la version Lazarus 0.9.26 qui a l'air de pas trop mal fonctionner à ce problème là pour l'instant.

J'ai donc installé Lazarus 0.9.26 sur mon PC sous Windows WP SP2, mais sur le disque D: . J'ai copié mon répertoire de projet sur le disque D: et j'essaie de voir comment se comportent mes programmes avec cette nouvelle version. Et c'est de là que vient mon problème. Après avoir changé le nom de mes unités, tout s'est mis à refonctionner.

Donc, je ne sais pas par quel biais (rien vu dans la base de registre ni de fichiers communs sur l'un des deux disques C: et D, mais les deux versions 0.9.24 et 0.9.26 devaient se mélanger les crayons.

Le problème est donc résolu du côté Windows.

J'ai trouvé une solution (ce n'est ni pratique ni élégant, mais bon) pour le passage à Ubuntu de ce que je développe sous Windows : j'applique la fonction "UTF8Encode" à mes chaînes de caractères.

Cordialement.

Pierre
ChPr est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 21h38.


 
 
 
 
Partenaires

Hébergement Web