delphi 的 pos 函数 对中文支持不好。

delphi 的pos函数中文下有bug.

正常情况下:

  pos('a','abc') 返回 1;

bug示范,中文情况下:

  pos('胺','包装服务')=4 (⊙﹏⊙b汗);

  因为 s :='胺'; s[1]=#176,s[2]=#183;

s2 := '包装服务';

  s2[4] = #176('装'第二个字节);s2[5] =#183('服'第一个字节); 因此错误判断。呵呵。

注意:补充: 如果想要在中文环境下正确使用pos ,那就用widestring。

这个问题 估计很少人发现~~~~~(以上测试均在delphi7 里完成-_-|||)