delphi10和delphi2010区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi10和delphi2010区别相关的知识,希望对你有一定的参考价值。

如题
delphi10和delphi2010有区别吗?还是本来就是一样的!

参考技术A delphi10就是delphi2007,delphi2010是现在的最新版,基本功能肯定相同,但肯定又扩展了一些新的功能,并且有些地方进一步优化了。本回答被提问者采纳 参考技术B DELPHI10,s是很早出的,DELPI2010是2009年,出的,有区别,功能更强大了,你到网上搜搜吧,不过现在用的最多的还是D7

delphi中move 和 strpcopy区别

lstr := 'come on!123';Move(lstr, Data, Length(lstr));StrPCopy(@data[0], 'come on!123');结果差别很大,求教

string保存具体字符的内存对用户其中存放连续的字符。
是透明的, 由Delphi管理它的分配, 复制和释放, 用户不能干预(其实也可以, 不过是通过非法途径)。
Move(ABuffer^,P^, Sizeof(TArrayByte))。
Move(ABuffer^,P^, Sizeof(TArrayByte)); //复制内存块。
参考技术A var
lstr:PAnsiChar;
data:PAnsiChar;
begin
lstr := 'come on!123';
Move(lstr, Data, Length(lstr));
ShowMessage(data); lstr := 'come on!123';
GetMem(data,length(lstr));
StrPCopy(data,lstr);
ShowMessage(data);
end;
参考技术B 1)Move是复制byte,用Length来计算字符串的长度的时,有可能不准确。
在Delphi 2010 的情况下,Length('中国'),长度为2,但是其实是4个Byte,复制就会丢失。
例如:
var
lstr: AnsiString;
PStr: array [0 .. 20] of AnsiChar;
begin
lstr := 'come,1234';
Move(lstr[1], PStr, Length(lstr));
ShowMessage(PStr);
end;

2)StrPCopy是复制一个AnsiString 或 WideString到PAnsiChar 或 PWideChar,不会做长度检查.
var
Data: PAnsiChar; //这是一个指针
begin
GetMem(Data,20);
StrPCopy(Data, 'come on!123');
ShowMessage(Data);
FreeMem(Data);

//也可以这样
Data:=PAnsiChar('come on!123');
end;

以上是关于delphi10和delphi2010区别的主要内容,如果未能解决你的问题,请参考以下文章

radstudio delphi/c++ builder berlin 10.1 update2怎么进行调试

delphi 2010 没有QuickRpt问题

使用 indy 10.5.8 在 Delphi 2010 中设置 KeepAlive 超时

Delphi 7:在 Win XP 或 Windows Server 2003 下编译有啥区别?

delphi2010在win7系统下怎么装Suipack控件

将 Delphi 6 第三方组件添加到 Delphi 2010?