Difference between revisions of "Widestrings/fr"
m (Fixed syntax highlighting; deleted category included in page template) |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{Widestrings}} | ||
+ | |||
== Widestring == | == Widestring == | ||
Une Widestring contient des données de chaînes mais le contenu de cette chaîne est stockée différemment selon le système d'exploitation et la version de FPC. | Une Widestring contient des données de chaînes mais le contenu de cette chaîne est stockée différemment selon le système d'exploitation et la version de FPC. | ||
Line 14: | Line 16: | ||
--[[User:BigChimp|BigChimp]] 07:59, 23 June 2012 (UTC) | --[[User:BigChimp|BigChimp]] 07:59, 23 June 2012 (UTC) | ||
Le code suivant de rtl/inc/wstrings.inc est utilisé pour les affectations entre ansistrings et widestrings. | Le code suivant de rtl/inc/wstrings.inc est utilisé pour les affectations entre ansistrings et widestrings. | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
procedure Wide2AnsiMove(source:pwidechar;dest:pchar;len:SizeInt); | procedure Wide2AnsiMove(source:pwidechar;dest:pchar;len:SizeInt); | ||
var | var | ||
Line 53: | Line 55: | ||
== See also == | == See also == | ||
− | * [[Character and string types | + | * [[Character and string types/fr|Types caractère et chaîne]] |
− | |||
− | |||
− |
Latest revision as of 11:35, 4 March 2020
│
English (en) │
français (fr) │
Widestring
Une Widestring contient des données de chaînes mais le contenu de cette chaîne est stockée différemment selon le système d'exploitation et la version de FPC. Non-Windows:
- (FPC 2.2-, 2.4, 2.6): Pur UTF16 (connu comme les widestring de Kylix).
Windows:
- FPC 2.2- Pur UTF16 (connu comme les widestring de Kylix).
- FPC 2.4+ bytes encodés UTF16 compatible COM (UCS2 sur Windows 2000).
Voir Support de l'Unicode par la LCL
Ancien contenu
Est-ce encore pertient? --BigChimp 07:59, 23 June 2012 (UTC) Le code suivant de rtl/inc/wstrings.inc est utilisé pour les affectations entre ansistrings et widestrings.
procedure Wide2AnsiMove(source:pwidechar;dest:pchar;len:SizeInt);
var
i : SizeInt;
begin
for i:=1 to len do
begin
if word(source^)<128 then
dest^:=char(word(source^))
else
dest^:=' ';
inc(dest);
inc(source);
end;
end;
procedure Ansi2WideMove(source:pchar;dest:pwidechar;len:SizeInt);
var
i : SizeInt;
begin
for i:=1 to len do
begin
if byte(source^)<128 then
dest^:=widechar(byte(source^))
else
dest^:=' ';
inc(dest);
inc(source);
end;
end;
Const
Wide2AnsiMoveProc:TWide2AnsiMove=@Wide2AnsiMove;
Ansi2WideMoveProc:TAnsi2WideMove=@Ansi2WideMove;
Les procvars sont soit-disant là pour vous permettre de les remplacer par un convertisseur plus adapté à votre jeu de caractère local. Malheureusement ils ne permettent pas à l'"ansi" d'être du multi-octet et ils supposent que les ansichars dans les ansistring seront égales au nombre de widechars dans la widestring.