|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 117 ![]() |
EDIT : J'ai modifié le titre puisque finalement, le problème vient d'un souci d'encodage et n'a rien à voir avec AnsiReplaceStr.
Bonjour, J'ai un comportement totalement incompréhensible, ou quelque chose m'échappe complètement : Si je fais : Code :
Si je fais : Code :
Même problème si je tente de remplacer le "a" de "bla bla bla" par n'importe quel caractère accentué. Enfin, si je remplace par un autre caractère qu'un caractère accentué, plus de souci: Code :
Tout se passe comme si le passage par la fonction plaçait un caractère de fin de chaîne au début de ma variable, si bien que le Pchar(vc_paramstr) est effectivement une chaine vide. A noter : J'ai aussi essayé ceci : Code :
Plateforme de dev : Mac OS X. Je dois passer à côté de quelque chose de si énorme que je ne le vois pas. Help .... Merci d'avance |
||||||||
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() ![]() |
Bonjour,
Je n'ai pas ce défaut sous windows. As tu regardé le code source de ces fonctions ? ou essayé de tracer l'appel dans le cas où le résultat est incorrect ? -- Philippe. |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 117 ![]() |
Bonjour Philippe,
En fait, je pense que le souci provient d'une histoire d'unicode et d'UTF8. Quand je trace, dès que je place un caractère accentué dans ma chaîne, le debugger me l'affiche vide. Si j'utilise AnsiToUTF8, le caractère est remplacé par un "?". Mais je ne vois toujours pas de solution. Peut-être faut-il que je change l'encodage du fichier source lui-même ? Encore qu'en remplaçant les caractères accentués par le chr(n) correspondant dans le source, j'ai le même souci... Toute idée sera la bien venue... |
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 117 ![]() |
Point sur la situation : Les chaînes dans lesquels je souhaite insérer des caractères accentués sont destinées à des contrôles (boutons, memos etc.)
J'ai trouvé une multitude de choses sur le net concernant Lazarus et l'UTF8. Exemple : http://wiki.lazarus.freepascal.org/LCL_Unicode_Support. Certains disent d'utiliser UTF8Encode ou UTF8Decode, d'autres AnsiToUTF8 et UTF8ToAnsi + l'unité cwstring, d'autres encore SysToUTF8 et UTF8ToSys.... Sachant que certains disent aussi qu'il ne faut pas que le fichier source soit lui-même en UTF8 (sans dire dans quel encodage le mettre...). Bref, j'ai tout essayé, changé l'encodage de mes fichiers : Rien ne fonctionne ! ![]() Voici en clair ce que je fais : Je récupère un chaîne (via un paramètre, un fichier de config etc.) Je traduis ma chaîne str en remplaçant $233; par "é" => "aaaéaaa", et je veux qu'un bouton utilise cette chaine comme "caption". C'est là que ça coince : L'instruction ne fait rien à cause d'un problème d'encodage. Quelqu'un a-t-il déjà galéré avec Lazarus et ce p... d'UTF8 sous Mac OS X. Cela fait 3 jours entiers que je perds pour afficher un simple libellé sur un bouton, ça devient du grand n'importe quoi. Le projet est en cours depuis 3 ans, et j'avoue que je suis à deux doigts de mettre Lazarus dans la corbeille de mon Mac et de passer au C... Suis-je le seul développeur Lazarus sur Mac OS X ? Merci pour vos réponses. |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 117 ![]() |
Voilà, 3 jours. 3 Jours pour tomber par hasard sur la fonction ISO_8859_1ToUTF8 ...
Donc pour mettre une chaîne contenant des caractères accentués comme label de composant dans lazarus sous Mac OS X, il faut faire : Code :
button1.Caption := ISO_8859_1ToUTF8(str); Problème résolu, enfin sur ma plateforme Mac Intel, reste à voir ce que donnera l'application sur PowerPC... Je pense que le principal problème de Lazarus sur Mac OS X, c'est le manque d'utilisateurs. Ma question reste donc ouverte : Y-a-t-il des développeurs Lazarus sous Mac OS X ???... |
|
|
10
|
|
|
#7 | |
|
Membre expérimenté
![]() Rémi GouyonDéveloppeur informatique Inscription : novembre 2003 Messages : 539 ![]() |
Citation:
Il est en cours de développement et il tourne sous windows et linux (avec lequel j'ai eu mon lot de soucis aussi )
|
|
|
|
00
|
|
|
#8 |
|
Membre habitué
![]() Développeur informatique Inscription : avril 2008 Messages : 410 ![]() |
unicode string a mon avis
__________________
On ne peut créér ce qu'on ne peut imaginer... Tu sens la puissance du BIT? |
|
|
01
|
Copyright © 2000-2012 - www.developpez.com