|
|
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
| |