RichTextBox

Résolu
LaluneBe Messages postés 7 Date d'inscription vendredi 29 septembre 2017 Statut Membre Dernière intervention 11 octobre 2017 - 10 oct. 2017 à 14:34
 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

5 réponses

JeanRemetUne
10 oct. 2017 à 23:21
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.
0
LaluneBe Messages postés 7 Date d'inscription vendredi 29 septembre 2017 Statut Membre Dernière intervention 11 octobre 2017
11 oct. 2017 à 12:35
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 !!!
0
JeanRemetUne
15 oct. 2017 à 01:33
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.
0
JeanRemetUne
15 oct. 2017 à 01:45
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
};
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JeanRemetUne
15 oct. 2017 à 01:53
Note:
Prendre en compte un décalage d'un octet sur la gauche!
0x2C,0x00 =","
et
0x20, 0x00 = espace

L'unicode correspond à l'UTF16
0
Rejoignez-nous