IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

[0.9.28.2] UTF8, forms et composants


Sujet :

Lazarus Pascal

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 207
    Points : 188
    Points
    188
    Par défaut [0.9.28.2] UTF8, forms et composants
    Bonjour,

    Après quelques recherches, je reviens sur le forum car j'ai (encore) un problème.

    Je suis passé à la version 0.9.28.2 + FPC 2.2.

    Sur mes forms, il arrive régulièrement que mes captions possède un accent ("téléphone", par exemple)

    Là, je me fait un petit soft pour me faciliter le travail. Chez moi, les forms s'affichent correctement (XP familial). Après l'avoir installé sur mon pc de travail (xp pro) via ma clef usb, mes captions/labels voient tous leurs accents remplacé par des points d'interrogation...

    Je suppose que c'est encore dû à l'UTF8/ANSI (ça me courre un peu sur le haricot, toutes ces conversions de chaines UTF8Encode/Decode).

    Donc, quelqu'un aurait la solution pour être s^r que mes captions et labels soient correctement affichés ? Sans que j'ai besoin de tous les "initialiser" à la création de mes forms (c'est ce que je fais actuellement) ? Parce que si j'utilise un EDI, c'est pas pour me taper la (re)création de tous les compos à la main... (je me tapes déjà assez la tête contre les murs )

    Autre piste : y a t-il moyen de forcer windows à utiliser l'UTF8 (ou lazarus à utiliser le ANSI car y'a que Windows au taf [XP / Vista / Seven] ) ???

    Note : j'ai vu le topic de Selzig et Danucc, mais ce n'est pas exactement le meme pb que moi

    PS : c'est dans un cas comme celui-là qu'on voit qu'il y a vraiment trop d'accent en français

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 207
    Points : 188
    Points
    188
    Par défaut
    note : je précise bien que j'ai fait le transfert via nue cle usb (à priori, ça peut jouer m'a t on dit)

    Car si je recompile à partir des sources directement sur le pc du travail (avec les meme version de laz et de fpc), je n'ai plus ce problème. Je me vois mal installer LAZ sur tous les pc de la boite juste pour recompiler une appli...

    Concernant UTF8Encode/Decode, y at-il une règle simple pour les utiliser à bon escient ? Exemple : tout ce qui 'sort' du programme (info de showmessage, écriture dans fichiers, etc...) doit passer par utf8Decode, et tout qui y 'rentre' (lecture de fichier, frappe au clavier, ...) doit passer par UTF8Encode. Car j'avoue que des fois je me mélange les pinceaux

  3. #3
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Points : 1 100
    Points
    1 100
    Par défaut
    Bonjour

    Il n'y a besoin de faire des encode ou des decode que si tu dois traiter des données dans une base, ou dans des fichiers, qui sont et doivent rester en ISO-8859.

    Sinon, je ne vois aucune autre raison à priori. Les messages et contenus "en dur" doivent être stockés dans les sources en UTF-8 et n'ont jamais besoin d'être convertis.

    Mais certains disques, et surtout des clefs USB, sont formatées en FAT "native", un vieux système de fichier qui ne stocke pas l'Unicode. Cela pourrait expliquer tes soucis... Vérifie le jeu de caractère après le transfert (avec Lazarus : clic droit, paramètres fichiers, encodage) ou avec d'autres outils comme PsPad.

    Je me suis fait avoir aussi par des sources créées il y a longtemps sous Delphi et qui étaient restés en ISO-8859. Il faut les convertir en UTF-8, Lazarus possède une option pour ça dans le menu Outils.

    En espérant t'avoir aidé.
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Une version stable et une autre en développement, avec Lazarus : vous pouvez aider à la tester, la traduire et à la développer.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 207
    Points : 188
    Points
    188
    Par défaut
    Merci Tintinux.

    Mais quelque chose me chagrine quand même. Je suis obligé d'utiliser UTF8Encode avec les showmessage ... exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if varglobal.FirstStart=false then
         showmessage(UTF8Encode('Erreur : Fichier de configuration global défectueux ou inexistant !')) ;
    (sinon le 'é' se transforme en point d'interrogation.

    Une idée du pourquoi ? Parce que là, moi, je sèche depuis quelques temps ...

  5. #5
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Points : 1 100
    Points
    1 100
    Par défaut
    Tu es sûr que ton fichier source est en UTF-8 ?
    Clic droit, paramètres fichiers, encodage : qu'est-ce qui est coché ?
    A+
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Une version stable et une autre en développement, avec Lazarus : vous pouvez aider à la tester, la traduire et à la développer.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 207
    Points : 188
    Points
    188
    Par défaut
    Après vérification, y'a quelque chose qui m'étonne :
    - Tout mon projet est utf8
    - sauf une unité (une unité qui contient des procédures globale, que je réutilise d'un projet à l'autre), mais ce n'est pas elle qui gère/affiche le showmessage (par contre, le varglobal.FirstStart est contenu dans cette unité)

    Après passage de cette unité en UTF8, tout fonctionne. Rien compris... Je croyais (à priori à tort) que si on importait une unité dans un projet, elle adoptait automatiquement l'encodage du projet... Bah non

    en tout cas, merci de tes réponses

    edit : en, relisant les messages, je me dis que c'est peut-être le fait que j'importe systématiquement cette unité de ma clé (plus rapide à retrouver que de farfouiller dans mon arborescence de disques durs). J'y crois pas trop, mais je vais changer cette habitude la prochaine fois, on verra si ça le fait (ou pas)

Discussions similaires

  1. possiblités des formes des composants
    Par ToutDroit dans le forum 2D
    Réponses: 0
    Dernier message: 25/06/2011, 17h29
  2. la mise en forme des composant d'une fenetre
    Par franckywood dans le forum AWT/Swing
    Réponses: 11
    Dernier message: 03/08/2007, 23h02
  3. [html, balise form] comment composer une url sans le "?"
    Par Invité dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 29/01/2007, 03h50
  4. composant visible sans forme précise. Avez vous un miracle ?
    Par yoghisan dans le forum Composants VCL
    Réponses: 5
    Dernier message: 10/02/2004, 00h29
  5. Envoie d'un message a TOUS les composant d'une form
    Par chddv dans le forum Composants VCL
    Réponses: 7
    Dernier message: 15/09/2003, 09h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo