Evite le type AnsiString si le peux !
Evite le PAnsiChar avec les API Windows qui existe en variant Ansi et Wide
Si tu as la volonté de passer de Unicode vers Ansi, il te suffit de faire un transtypage explicite genre
MaChaineAnsi := MonEdit.Text; devient MaChaineAnsi := AnsiString(MonEdit.Text);.
MaChaineCourte := MonEdit.Text; devient MaChaineCourte := ShortString(MonEdit.Text);.
Cela va retirer les Warnings car tu indiques au compilateur la volonté de le faire !
Attention, cette pratique est réservée uniquement si tu as besoin de convertir, le type String doit être le type chaine majoritairement utilisé,
AnsiString pour compatibilité ou pour des API tiers utilisant du PAnsiChar et
ShortString si tu l'utilises dans des fichiers type "file of record"
Pour DecimalSeparator, facile suffit de changer de variable globale, est-ce que FormatSettings existait déjà en 2007, il suffit d'écrire ceci
{$IFDEF VER220}FormatSettings.{$ENDIF}DecimalSeparator := ...
VER220 c'est XE
en utilisant les variables Indy de IdCompilerDefines.inc, c'est plus simple pour gérer le "version >= vvv"
{$IFDEF VCL_XE_OR_ABOVE}FormatSettings.{$ENDIF}DecimalSeparator := ...
Partager