ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 低调看直播体育app软件下载 >> Delphijrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 >> delphi 升级到xe7后的一些个人经验(一)...慢慢更新中

delphi 升级到xe7后的一些个人经验(一)...慢慢更新中

来源:网络整理     时间:2015-01-09     关键词:

本篇文章主要介绍了"delphi 升级到xe7后的一些个人经验(一)...慢慢更新中",主要涉及到方面的内容,对于Delphijrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下: 一: 关于string; xe7中string默认的是unicodestring,所以计算一些中英文的字符串长度会出现不同,unicodestring中每个...

一: 关于string;

   xe7中string默认的是unicodestring,所以计算一些中英文的字符串长度会出现不同,

unicodestring中每个字符已2个字节存储,长度为2,即使是英文也会填充空格弥补.

ansistring中汉子长度为2,英文为1.

比如如下代码:

var

s: string;
i: integer;
begin
  s:= edit1.Text;
 //s:= '啊是的1a';{啊和是中间有空格}
  label1.Caption:= s +'(sizeof)' + ':' + inttostr(sizeof(s));{4} 
  label2.Caption:= s +'(length)' + ':' + inttostr(length(s));{8}

end;

但如果现在是想得到他们长度为9怎么办?可以使用如下方法;

1:  引用AnsiStrings单元.

    a: 引用AnsiStrings单元, 如果不引用该单元,即便编译不报错,实际上是用的还是Unicode版本的函数,会有隐式的转化。不信打开参数自动完成,看看IDE提示的类型是什么?天啊AnsiLowerCase参数竟然还是String,而不是AnsiString。看来Delphi2010太迫切的要抛弃Ansi字符串了,以至于你不引用AnsiStrings单元,所有Ansixxxx函数实际上还是Unicode版本。

    b: 把s改为ansistring; 

2:自己写了一个函数

function GetLen(str:string): integer;
var
i,k: integer;
begin
  k:= 0;
  for i := 1 to length(str) do
  begin
    if (ord(str[i])>128) then
    begin
      k := k+2;
    end else
      k:= k+1;
  end;
result := k;
end;

二 Timage控件,现在已经支持GIF和PNG了,但JPEG还是需要引用JPEG单元.

以上就介绍了delphi 升级到xe7后的一些个人经验(一)...慢慢更新中,包括了方面的内容,希望对Delphijrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_105157.html

相关图片

相关文章