可能没大说清楚,举个例子:
ShowMessageFmt('wide:%d ansi:%d',[Pos('1','四季度1'),Pos('1',widestring('四季度1'))]);
这样得到的wide是4而ansi是7,现在我有一个函数,返回的数值是以ansipos的,但我想把这个数值转换成以widestring
pos的,怎么办?
ShowMessageFmt('wide:%d ansi:%d',[Pos('1','四季度1'),Pos('1',widestring('四季度1'))]);
这样得到的wide是4而ansi是7,现在我有一个函数,返回的数值是以ansipos的,但我想把这个数值转换成以widestring
pos的,怎么办?
var
s: String;
n,k: Integer;
p: PChar;
begin
s := '四季度1';
n := 7;
p := PChar(s);
k := 0;
while (p <> nil) and (p < pchar(s) + n) do
begin
p := CharNextExA(CP_OEMCP,p,0);
Inc(k);
end;
Caption := IntToStr(k);
end;