|
|
Ligne 1 : |
Ligne 1 : |
− | {{new|tahoe}}
| |
− | ==Unicode dans Delphi==
| |
| | | |
− | A partir de la version 2009, Delphi supporte l'unicode.
| |
− | La représentation interne des chaines change.
| |
− |
| |
− | {| class="wikitable" width="80%" align="center"
| |
− | |-
| |
− | ! scope=col |
| |
− | ! scope=col | < D2009
| |
− | ! scope=col | >= D2009
| |
− | |-
| |
− | | width="33%" |
| |
− | '''String'''
| |
− | | width="34%" |
| |
− | AnsiString
| |
− | | width="33%" |
| |
− | UnicodeString
| |
− | |-
| |
− | | width="33%" |
| |
− | '''Char'''
| |
− | | width="34%" |
| |
− | AnsiChar (1 octet)
| |
− | | width="33%" |
| |
− | WideChar (2 octets)
| |
− | |-
| |
− | |}
| |
− |
| |
− | '''Tout code qui présume qu'une variable de type char est stockée sur un octet est donc à revoir.'''
| |
− |
| |
− | {{tip|Le type UnicodeString n'est pas équivalent au type WideString. UnicodeString est géré par compteur de référence et utilise le gestionnaire de mémoire delphi, pas le type wideString qui est moins efficace}}
| |
− |
| |
− |
| |
− | 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
| |
− | * [http://docwiki.embarcadero.com/RADStudio/fr/STRINGCHECKS_%28Delphi%29 Désactiver la vérification du format de chaîne]
| |
− |
| |
− | ===Compilation paquet===
| |
− |
| |
− | * Remplacer VCLjpg par VCLIMG
| |
− |
| |
− | ===Reste à faire===
| |
− | * CharInSet
| |
− | * Warnings
| |
− | * ansistrings restants
| |