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

  1. #1
    Membre éclairé
    [Linux] TRichMemo : les images n'apparaissent pas et les caractères accentués sont doublés
    Bonjour à toutes et à tous,

    J'essaie de mettre en oeuvre le composant TRichMemo. SOus Windows, pas de problème, on peut même placer des images dans le fichier *.rtf.

    Par contre sous Linux, deux problèmes :

    • Les images n'apparaissent pas
    • Toutes les lettres accentuées (et autres au-delà de 128, je suppose), se trouvent doublées.

    Dans un exemple on trouve :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      fs : TFileStream;
    ...
          // Utf8ToAnsi is required for windows
          fs := TFileStream.Create(Utf8ToAnsi(OpenDialog1.FileName), fmOpenRead or fmShareDenyNone);
          RichMemo1.LoadRichText(fs);


    Est-il possible que ce soit ce problème qu'il faille résoudre sous Linux (AnsiToUTF8, je suppose) pour éviter ce double affichage. Mais alors, je ne vois pas trop comment l'appliquer car la variable fs est un TFileStream et non une chaîne de texte.

    Cordialement.

    Pierre

  2. #2
    Membre expert
    Salut tu peux peut-être essayer LazRichView à la place (disponible dans le gestionnaire de paquet en ligne, comme le RichMemo)

    A+
    Jérôme
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  3. #3
    Membre éclairé
    Citation Envoyé par BeanzMaster Voir le message
    Salut tu peux peut-être essayer LazRichView à la place (disponible dans le gestionnaire de paquet en ligne, comme le RichMemo)

    A+
    Jérôme
    Merci Jérome pour ce composant. Pour autant je n'ai pas réussi à y trouver une procédure/fonction qui permette de charger un fichier *.RTF. J'ai mal vu ?

    Cordialement.

    Pierre

  4. #4
    Membre expert
    Hello Pierre, oui tu as raison ce composant ne supporte pas les RTF comme les composants originaux https://www.trichview.com/features/trichview.html vraiment bête ça car ils ont l'air sympa ces composants.

    Pour ton souci, le problème des images provient sûrement de ce satané TBitmap dont le comportement diffère d'un OS à l'autre (sûrement des $IFDEF à rajouter dans le code).
    Pour ce qui est de l'encodage des caractères, idem à voir dans le source si il n'utiliserait pas les "CodePages" de Windows pour les conversions à tout hasard.

    Par contre "Utf8ToAnsi" ici pour charger le flux, on s'en balance, je le virerais tout simplement car cela ne changera rien aux données chargées.


    Bonne fête de Noël à tous !

    Jérôme
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  5. #5
    Rédacteur/Modérateur

    Bonjour !

    Dernière chance, le composant KMemo. Je ne l'ai pas essayé, mais la documentation promet la prise en charge complète des fichiers RTF.

    Merci Jérôme ! Joyeux Noël à toi aussi !

  6. #6
    Membre éclairé
    Citation Envoyé par Roland Chastain Voir le message
    ... Dernière chance, le composant KMemo. Je ne l'ai pas essayé, mais la documentation promet la prise en charge complète des fichiers RTF. ...
    Merci pour ce composant. Il fonctionne aussi bien dans l'environnement Windows XP de mon PC et dans l'environnement Raspian Stretch de mon Raspberry ... sauf en ce qui concerne les caractères accentués. Cette fois c'est dans chacun des environnements qu'il les double.

    Toutefois, il ne les double pas si on utilise son propre éditeur de *. rtf ; mais ce dernier est un peu limité.

    Mon but est de présenter dans une fenêtre un fichier d'aide pour mon application GPS_Nav. Je voulais utiliser le composant iPro qui traite de fichier HTML, mais il ne traite pas la couleur. C'est pourquoi j'ai pensé aux fichiers *.rtf.

    En fait, je viens de découvrir un autre composant qui affiche des fichiers HTML dans une fenêtre (dans mes deux environnements) et qui apparemment, jusqu'ici traite toutes les options sauf les cadres.

    Donc, c'est ce dernier que je vais utiliser.

    Cordialement.

    Pierre

  7. #7
    Membre expert
    Salut Pierre

    HtmlViewer est disponible dans le gestionnaire de paquet en ligne de Lazarus si jamais. Car sur le git je n'ai pas vu de paquet pour Lazarus

    A+

    Jérôme
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  8. #8
    Membre éclairé
    Citation Envoyé par BeanzMaster Voir le message
    ... HtmlViewer est disponible dans le gestionnaire de paquet en ligne de Lazarus si jamais. ...
    Merci Jérôme. J'ai tapé dans mon moteur de recherche préféré "gestionnaire de paquet en ligne de Lazarus". Mais je n'ai rien trouvé.

    Question bête : où trouve-t-on ce "gestionnaire de paquet en ligne de Lazarus" ?

    Cordialement.

    Pierre

  9. #9
    Membre expert
    normalement c'est dans le menu paquet --> Gestionnaire de paquets en ligne CTRL+ALT+O. Si il n'est pas installé va dans paquet --> Installer/Desinstaller des paquets et cherches OPM "Online package Manager" et installes le. Il est disponible par défaut depuis la version 2.x.

    Jérôme
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  10. #10
    Membre éclairé
    Citation Envoyé par BeanzMaster Voir le message
    normalement c'est dans le menu paquet --> Gestionnaire de paquets en ligne CTRL+ALT+O. Si il n'est pas installé va dans paquet --> Installer/Desinstaller des paquets et cherches OPM "Online package Manager" et installes le. Il est disponible par défaut depuis la version 2.x.

    Jérôme
    Je n'ai rien de tout çà dans mon Lazarus 1.6.4

    Cordialement.

    Pierre

  11. #11
    Membre expert
    Salut tu peux télécharger OPM ici pour ton Lazarus 1.6.x, et l'installer

    A+

    Jérôme
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  12. #12
    Membre expert
    Oups j'ai oublié de préciser que tous les paquets disponibles dans opm sont aussi listés ici en téléchargement directe
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  13. #13
    Membre éclairé
    Citation Envoyé par BeanzMaster Voir le message
    Oups j'ai oublié de préciser que tous les paquets disponibles dans opm sont aussi listés ici en téléchargement directe
    Merci Jérome pour ce lien très intéressant.

    Cordialement.

    Pierre

###raw>template_hook.ano_emploi###