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

Web & réseau Delphi Discussion :

TWebBrowser vers TRichEdit ?


Sujet :

Web & réseau Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 149
    Points : 65
    Points
    65
    Par défaut TWebBrowser vers TRichEdit ?
    Bonsoir à tous,

    Je cherche à récupérer le texte de mon WebBrowser vers un RichEdit
    en conservant l'encodage UTF-8, possible ?
    Je ne parviens pas à afficher les "caractères spéciaux" qui
    apparaissent en ? dans mon RichEdit.
    Une belle fonction contient au plus 7 lignes de code,
    Une belle procédure appelle au plus 7 fonctions,
    Un beau programme est lisible et compréhensible,
    Dans tous les autres cas, une optimisation s'impose.

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Hum, le TWebBrowser, fourni InnerText, mais il me semble que j'ai eu aussi des problèmes, il remplace les caractères spéciaux par des ?

    le RichEdit, ce n'est pas de l'UTF-8 c'est l'encodage en fonction de la font (ANSI au début, puis étendu en Wide pour les autres, et je ne suis pas sur que dépasser le 255 ce soit bien standard ...), donc si le char n'existe pas dans la font, tu as droit à un petit carré ... ou ? selon les cas ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Peut-être qu'il faudrait récupérer le code ASCII de chaque caractère (avec la fonction Ord) et utiliser un tableau de conversion pour les caractères spéciaux qui vont de #129 à #255 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Const
      HtmList : Array [129..255] Of String = (
        '(null)', '(null)', '(null)', '(null)', '(null)', '(null)', '(null)', '(null)', 
        '(null)', '(null)', '<', '&Oelig;', '(null)', '(null)', '(null)', '(null)', 
        '(null)', '(null)', '(null)', '(null)', '(null)', '(null)', '(null)', '(null)', 
        '™', '(null)', '>', 'œ', '(null)', '(null)', 'Ÿ', ' ', 
        '¡', '¢', '£', '¤', '¥', '¦', '§', '¨', 
        '©', 'ª', '«', '¬', '*', '®', '&masr;', '°', 
        '±', '²', '³', '´', 'µ', '¶', '·', '¸', 
        '¹', 'º', '»', '¼', '½', '¾', '¿', 'À', 
        'Á', 'Â', 'Ã', 'Ä', 'Å', '&Aelig;', 'Ç', 'È', 
        'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ð', 
        'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', '×', 'Ø', 
        'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'Þ', 'ß', 'à', 
        'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 
        'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ð', 
        'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', '÷', 'ø', 
        'ù', 'ú', 'û', 'ü', 'ý', 'þ', 'ÿ');
    De retour parmis vous après 10 ans!!

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 149
    Points : 65
    Points
    65
    Par défaut
    Bonsoir,

    En fait je cherche à récupérer du texte d'un TWebBrowser mais je
    ne suis pas fixé pour le TRichEdit, cela peut être un autre composant....

    @ShaiLeTroll
    Pour ce qui est de la font : il s'agit bien sur d'une font compatible UTF-8
    donc possédant plus de 255 caractères... (charset sur default)

    @sub0
    Pour les "caracteres speciaux", je parlais des caracteres au dela de 255
    ceux en deça sont ok.

    1) Le problème vient donc :
    -soit de la façon d'exporter vers le RichEdit par la commande innertext
    - soit (et surtout) du RichEdit lui meme qui ne serait pas compatible UTF-8 ???
    Une idée ?

    2) Comment accéder à une ligne ou à un seul caractère (si possible en byte) d'un WebBrowser ?
    Une belle fonction contient au plus 7 lignes de code,
    Une belle procédure appelle au plus 7 fonctions,
    Un beau programme est lisible et compréhensible,
    Dans tous les autres cas, une optimisation s'impose.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 149
    Points : 65
    Points
    65
    Par défaut
    Je viens de trouver une solution:

    1) je récupère les infos du WebBrowser par InnerText dans un WideString
    2) je modifie les caractères (qui m'intéressent, une trentaine) au dela de 255 en les basculant dans la zone des 200...
    3) et j'utilise enfin une font classique (non UTF-8) où sont présents "les caractères spéciaux" en zone 200...
    Une belle fonction contient au plus 7 lignes de code,
    Une belle procédure appelle au plus 7 fonctions,
    Un beau programme est lisible et compréhensible,
    Dans tous les autres cas, une optimisation s'impose.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/11/2006, 18h13
  2. Adaptation d'un code TMemo vers TRichEdit : problème de ScrollBars
    Par Droïde Système7 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 21/01/2005, 15h06
  3. [Kylix] De delphi vers Kylix : Et les HLP ?
    Par Beuz dans le forum EDI
    Réponses: 1
    Dernier message: 11/06/2002, 11h38
  4. Réponses: 2
    Dernier message: 30/05/2002, 10h19
  5. Réponses: 1
    Dernier message: 13/05/2002, 09h19

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