奇怪的问题(50分)

  • 主题发起人 主题发起人 babyrun
  • 开始时间 开始时间
B

babyrun

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟遇到一个奇怪的问题,请大家给点意见。

TempStr :='20040412问题';
TempStr := rightstr(TempStr,4);

为什么时而返回的值是'问题',时而返回的值是'12问题'???

Delphi中汉字不是占两个字节么???
 
TempStr :widestring;定义成这个类型的,就不用考虑字节问题了。
 
没有这么回事,我试过。返回‘问题’
 
是12啊
用两个字符的空间存储一个汉字
 
在vb中又把汉字转换成编码来计算长度的函数,在delphi中是如何处理地?
 
to:xuxiaohan
没遇到的问题,你不能否认其存在
 
TempStr定义成什么类型啊,
默认的有时候是shortstring,有时候是ansistring
看你有没有开huge strings编译开关的
 
如果你的TempStr定义成String返回得肯定是"问题";
如果你的TempStr定义成WideString返回得应该是"12问题";
 
我把TempStr定义成WideString返回也是'问题'啊
 
我在程序中是把TempStr定义成String型的
可是奇怪,在前几天返回的是'12问题',而下次再运行程序就变成了'问题'。

TO:wrl_001
huge strings编译开关的?
能否具体些???
 
鎴戞祴璇昇閬嶏紝娌℃湁杩欎釜闂??銆?
 
后退
顶部