Bonjour,
J'écris une Application que je mettrai sur le site et qui utilise des caractères Unicode. Cette discussion fait donc suite à la discussion que nous avions déjà abordée ici
Cependant dans mon Application, j'ai défini une "Base de données" sous forme d'un tableau de constantes pour éviter une gestion de fichier. La structure est la suivante:
Le nom d'une catégorie est le nom officiel de la norme Unicode 15.1 et comprend le début du code et la fin du code de la catégorie sous forme de chaînes de caractères d'un Hexadécimal:
Le problème, c'est que aux vues de nos discussions du post en référence ci-dessus, je ne parviens pas à afficher le code dans la StringGrid, ni dans un composant TstaticText etc parce que je parviens pas à utiliser le format String avec les guillemets de limite '...'.
Par exemple la conversion qui fonctionnait avec WideChar($1F613) ne fonctionne pas ici car il me faut d'abord convertir le code du Tableau '$1F613' en $1F613 sans les guillemets. Je n'y arrive pas...
J'ai essayé différentes solutions mais ne parviens pas à afficher.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 STLoupe.Caption := WideChar($1F613) Ni en passant par le Type UnicodeString; Var UCString := UnicodeString; ... UCString := WideChar($1F613); Statictext.Caption := UCString; // n'affiche pas
J'ai tenté de mémoriser les codes sans Guillements avec des #$xxx, mais je n'y parviens pas non plus.
Voici la structure que j'utilise et qui est dans le code que je mets en pièce jointe.
Finalement, j'ai mis un extrait très court et simplifié de mon appli:
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 Const MaxCateg = 1; // Nombre catégories (j'en ai 92 dans mon Appli) Type TCategUni = Record Id : SmallInt; // identifiant unique Nom : String[62];// nom de la catégorie CMin : String[6]; // N° de page du début du code en Hexa String CMax: String[6]; // N° de Fin de code de la catégorie en Hexa String end; Const cCatUni : array[1..MaxCateg] of TCategUni = ( (Id : 2; Nom : 'Émoticônes'; CMin : '$1F600'; CMax : '$1F64F' ) );
Si vous avez des idées, je suis preneur!
Merci
Partager