Bonjour,
voici un programme d'exemple :
Le problème est que je souhaite récupérer le caractère 'é' mais il me renvoi #195 !!!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Const tmp1 : WideString = 'coucoué' ; tmp2 : String = 'coucoue' ; tmp3 : UTF8String = 'coucoué' ; tmp4 : WideString = 'é' ; var car : WideChar ; car1 : AnsiString ; begin car := tmp4[1] ; // #195 au lieu de é writeln(car1) ; writeln(IntToStr(pos(tmp4, tmp1))) ; // 7 writeln('WideChar = ' + IntToStr(SizeOf(WideChar))) ; // 2 writeln('WideString = ' + IntToStr(Length(tmp1))) ; // 8 au lieu de 7 writeln('String = ' + IntToStr(Length(tmp2))) ; // 7 writeln('Utf8String = ' + IntToStr(Length(tmp3))) ; // 8 au lieu de 7 readln() ; end.
De plus, Length() me renvoie 8 au lieu de 7 car il ne tient pas compte du type de string.
Avez-vous une idée ?
J'ai pensé à faire un Copy mais même problème.
Savez-vous comment faire pour palier à c'est deux problèmes. Surtout que pos() lui fonctionne.
Je travaille avec FPC 2.2.2.
Question subsidiaire, quelle différence entre WideString et Utf8String ?
Merci
Partager