RichTextBox [Résolu]

LaluneBe 7 Messages postés vendredi 29 septembre 2017Date d'inscription 11 octobre 2017 Dernière intervention - 10 oct. 2017 à 14:34 - Dernière réponse :  JeanRemetUne
- 15 oct. 2017 à 01:53
Bonjour,
J'ai crée une application de comparaison de 2 fichiers RTF en vb6, tous marche très bien sauf que les caractères spéciaux en latin ā, ē, ī, ū, ō changent en ? quand on compare les fichiers. Merci à vous développeur de m'aider
Afficher la suite 

5 réponses

Répondre au sujet
JeanRemetUne - 10 oct. 2017 à 23:21
0
Utile
Nous t'avons déjà répondu à cette question pour le textbox.

Utilise une police adapté (Unicode...) et force cette police dans ton richtext, quelque soit la police assignée au texte dans le fichier source rtf!

Donc, l'utilisation d'une RichText ne corrige absolument pas ton problème, et complique la gestion du code dans ton outil qui se veut "simple".

Fichier d'entrée? (norme de codage caractère?)
Traitement au byte... en texte... en Riched?
Codage caractère et police utilisée?

Nota:
Les "?" sont des caractères non utilisables dans la police choisie dans la textbox, prend la police par défaut (Unicode 8bits) pas une police Windows incomplète!
Mets ton code sur le site... tu fera une mise à jour suivant les correctifs en commentaires donnés par le testeurs...
Utilise une comparaison (remplissage textbox) en tableau Byte, et non en string, plus rapide et mieux maîtrisé qu'avec les outils de remplacement et recherche en riched ou textbox!
Lecture binaire, remplacement par byte... et création de chaîne pour l'affichage.
Commenter la réponse de JeanRemetUne
LaluneBe 7 Messages postés vendredi 29 septembre 2017Date d'inscription 11 octobre 2017 Dernière intervention - 11 oct. 2017 à 12:35
0
Utile
Bonjour,
Merci beaucoup pour votre réponse, mais donner moi un guide pour forcer la police dans un RichtextBox, je suis un peu perdu !!!
Dans la Font de propriété de Richtextbox ou où dans le charmap.exe les caractères sont bien présent, j'avoue que je suis perdu !!!
Commenter la réponse de LaluneBe
JeanRemetUne - 15 oct. 2017 à 01:33
0
Utile
Salut,
Bon, après avoir testé sur le VB5...

Il semble que les caractères barrés ā, ē, ī, ū, ō ne sont pas pris en compte dans les textbox, par contre, un copier/collé dans le "bloc-note" Winows fonctionne... Donc, tu peux t'orienter vers une insertion d'objets "word-pad" ou Iexplorer.

Si tu dois utiliser une textbox, il faut que tu remplace les barres par les "~" des caractères espagnols "ããõïë"... avant affichage et envoyer une correction en binaire en cas de sauvegarde.
Ces caractères ne sont pas pris en compte en UTF8...

Donc, fait un traitement binaire, en reconstruisant le fichier en brut.
Commenter la réponse de JeanRemetUne
JeanRemetUne - 15 oct. 2017 à 01:45
0
Utile
Valeur et structure texte Unicode:

pour fichier texte:
contenu:
ā, ē, ī, ū, ō

unsigned char data[30] = {
0xFF, 0xFE, 0x01, >> header.
0x01, 0x2C, >>ā
0x00, 0x20, >>,
0x00, 0x13, >>
0x01, 0x2C, >>ē
0x00, 0x20, >>,
0x00, 0x2B, >>
0x01, 0x2C, >> ī
0x00, 0x20, >>,
0x00, 0x6B, >>
0x01, 0x2C, >>ū
0x00, 0x20, >>,
0x00, 0x4D, >>
0x01, 0x20, >>ō
0x00
};
Commenter la réponse de JeanRemetUne
JeanRemetUne - 15 oct. 2017 à 01:53
0
Utile
Note:
Prendre en compte un décalage d'un octet sur la gauche!
0x2C,0x00 =","
et
0x20, 0x00 = espace

L'unicode correspond à l'UTF16
Commenter la réponse de JeanRemetUne

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.