D7环境下字符串函数问题(50分)

  • 主题发起人 主题发起人 erbbchen
  • 开始时间 开始时间
E

erbbchen

Unregistered / Unconfirmed
GUEST, unregistred user!
很普通的一句话:
ls_where = '进仓日期 = 2008-2-14'
ls_fieldname := midstr(ls_where, 1, pos(' ', ls_where)-1)
汉字长度我测试过,我使用showmessage看到的位置都是准确的,可是用截取就不行了 。
后来用固定数字测试了一下发现这样的结果:
在D6中pos读取汉子时算两个字符,midstr获取汉字是算两个字符,这样就吻合,但是D7中pos读取汉子时算两个字符,midstr获取汉字是算一个字符,这样获得的内容就不吻合,
现在就是在D7中如何解决上面例子的问题
 
const
ls_where = '进仓日期 = 2008-2-14';
var
s: WideString;
ls_fieldname: String;
begin
s := ls_where;
ls_fieldname := midstr(s, 1, pos(' ', s)-1);
Caption := ls_fieldname;
end;
 
引用StrUtils单元,用midbstr,以字节为单位操作
 
用widestring试试
 
接受答案了.
 
后退
顶部