Support de Unicode
De Wiki1000
(Différences entre les versions)
(→La configuration du projet) |
(→La configuration du projet) |
||
Ligne 59 : | Ligne 59 : | ||
===La configuration du projet=== | ===La configuration du projet=== | ||
− | * Indy ( | + | * Indy : Nouvelle version de Indy (indy10-Tiburon) |
− | * Zlib : retirer les références à zlib | + | * Zlib : retirer les références à zlib (on prend celui de delphi) |
− | * libGraph/png* | + | * png : libGraph/png* (??) |
* Apache | * Apache | ||
− | |||
* [http://docwiki.embarcadero.com/RADStudio/fr/STRINGCHECKS_%28Delphi%29 Désactiver la vérification du format de chaîne] | * [http://docwiki.embarcadero.com/RADStudio/fr/STRINGCHECKS_%28Delphi%29 Désactiver la vérification du format de chaîne] | ||
− | |||
===Compilation paquet=== | ===Compilation paquet=== |
Version du 20 août 2010 à 12:15
Sommaire |
Unicode dans Delphi
A partir de la version 2009, Delphi supporte l'unicode. La représentation interne des chaines change.
< D2009 | >= D2009 | |
---|---|---|
String |
AnsiString |
UnicodeString |
Char |
AnsiChar (1 octet) |
WideChar (2 octets) |
Tout code qui présume qu'une variable de type char est stockée sur un octet est donc à revoir.
La plupart des valeurs entière demeurent les mêmes
Ord(AnsiChar('a'))=Ord(Char('a')),
mais il existe des exceptions notamment
Ord(AnsiChar('€'))=128 et Ord(Char('€'))=8364
Migration vers Delphi 2010
Versions du compilateur
{$IFDEF VER180} - Delphi 2006
{$IFDEF VER180} - Delphi 2007
{$IFDEF VER185} - Delphi 2007
{$IFDEF VER200} - Delphi 2009
{$IFDEF VER210} - Delphi 2010
Modifications du code
Une unité a été ajoutée pour la lecture et écriture de flux contenant des chaînes: ustrhlp.
Dans cette unité, la lecture et l'écriture chaine dans un flux s'effectue par défaut en ansi (comme avant donc). Il faut préciser si on souhaite un autre encodage.
La configuration du projet
- Indy : Nouvelle version de Indy (indy10-Tiburon)
- Zlib : retirer les références à zlib (on prend celui de delphi)
- png : libGraph/png* (??)
- Apache
- Désactiver la vérification du format de chaîne
Compilation paquet
- Remplacer VCLjpg par VCLIMG
Reste à faire
- CharInSet
- Warnings
- ansistrings restants