1
function
CopyW(ws: WideString; Start, Len: integer): WideString;
2
var
3
wslen: integer;
4
sp: PWideChar;
5
begin
6
if
Start
<
1
then
start :
=
1
;
7![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
if
Len
<
1
then
begin
result :
=
''
; exit;
end
;
9![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
wslen :
=
lstrlenw(PWideChar(ws));
11
if
wslen
<
(Start
+
Len
-
1
)
then
12
len :
=
wslen
+
1
-
Start;
13![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
14
result :
=
stringofchar(
'
'
, Len);
15
sp :
=
PWideChar(ws);
16
Inc(sp, Start
-
1
);
17
CopyMemory(PWideChar(result), SP, len
*
2
);
18
end
;
低版本的delphi 处理Unicode 很麻烦,不可以用任何与string相关的函数,就是说,所有的控件,字符串函数得自己重写
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)