procedure Move( const Source; var Dest; count : Integer );
var
S, D: PChar;
I: Integer;
begin
S := PChar(@Source);
D := PChar(@Dest);
if S = D then Exit;
if Cardinal(D) > Cardinal(S) then
for I := count-1 downto 0 do
D[I] := S[I]
else
for I := 0 to count-1 do
D[I] := S[I];
end;这个是delphi自带的代码里面
Cardinal(D) > Cardinal(S) 这个看不懂
2个pchar转Cardinal到底什么意思,这个大小比较要是为什么?什么影响他们的大小呢???
只有10分了,请帮帮忙
var
S, D: PChar;
I: Integer;
begin
S := PChar(@Source);
D := PChar(@Dest);
if S = D then Exit;
if Cardinal(D) > Cardinal(S) then
for I := count-1 downto 0 do
D[I] := S[I]
else
for I := 0 to count-1 do
D[I] := S[I];
end;这个是delphi自带的代码里面
Cardinal(D) > Cardinal(S) 这个看不懂
2个pchar转Cardinal到底什么意思,这个大小比较要是为什么?什么影响他们的大小呢???
只有10分了,请帮帮忙
解决方案 »
- 测试ING
- 一个错误提示,这样的错误怎么改!
- Anders Hejlsberg去M$,搞出了个C#我们要不要...
- 国产olap工具软件,功能直逼BO,Brio,解决报表与数据分析的完美解决方案,免费下载使用
- 我的程序想实现如下的功能:点击最小化按钮时,使程序从任务栏上消失,当然系统托盘中是有的
- 谁有多余的QQ号码,我用300分交换。
- 大家看看这是什么问题呀?
- 如何得到某文件路径及拷贝?
- 一个very,very easy question,but i dont know.
- 如何查询一个指定文件夹下是否存在exe文件?
- 数据统计问题?
- 一个TList指针问题.昨天弄了一晚上都没有办法搞定,请高手帮忙.
如果D的位置在后,则从后拷到前,如果D的位置在前,则从前拷到后。可以优化效率吗,疑惑ing?
var
A : array [0..99] of byte;
begin
Move(A[0], A[10], 90); //此时必须从最后一个数组元素开始进行移动
Move(A[10], A[0], 90); //此时必须从第一个数组元素开始进行移动
end;