Source Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| {:Converts Unicode string to Ansi string using specified code page. @param ws Unicode string. @param codePage Code page to be used in conversion. @returns Converted ansi string. } function WideStringToString( const ws: WideString ; codePage: Word ): AnsiString ; var l: integer ; begin if ws = '' then Result := '' else begin l := WideCharToMultiByte(codePage, WC_COMPOSITECHECK or WC_DISCARDNS or WC_SEPCHARS or WC_DEFAULTCHAR, @ws[ 1 ], - 1 , nil , 0 , nil , nil ); SetLength(Result, l - 1 ); if l > 1 then WideCharToMultiByte(codePage, WC_COMPOSITECHECK or WC_DISCARDNS or WC_SEPCHARS or WC_DEFAULTCHAR, @ws[ 1 ], - 1 , @Result[ 1 ], l - 1 , nil , nil ); end ; end ; { WideStringToString } |
have a nice test :p
Post a Comment