有谁在用 Delphi.Net ,两个数组之间进行部分复制,有什么函数可以用?(感觉用Delphi.Net的非常少啊!) ( 积分: 100 )

  • 主题发起人 主题发起人 lich
  • 开始时间 开始时间
L

lich

Unregistered / Unconfirmed
GUEST, unregistred user!
Delphi.Win32 下面有个 Move 的函数,
Delphi.Net 下面有没有类似的函数啊,
C# 中的 Array.Copy 怎么找不到啊!
 
Delphi.Win32 下面有个 Move 的函数,
Delphi.Net 下面有没有类似的函数啊,
C# 中的 Array.Copy 怎么找不到啊!
 
procedure TWinForm.Button1_Click(sender: System.Object
e: System.EventArgs);
var
m, n: array of Byte;
begin
SetLength(m, 100);
SetLength(n, 200);
&Array.Copy(m, 0, n, 0, 10);
end;
 
&amp
是取地址吗,学习了
 
不是取地址,

在 Delphi.Net 里面,表示这个类(Delphi的关键字)是 .Net 中的类
 
在Win32里也可以用&
procedure TForm3.Button1Click(Sender: TObject);
var
&type: integer;
begin
&type := 1;
ShowMessage(IntToStr(&type));
end;
 
试了一下 Delphi 6 里面是不行的
 
我说的是D2006的Win32[:D][:D]
 
呵呵,我知道

我研究了一下 Delphi.Net 中的几个基本类型

string = &String = WideString

AnsiString 是一种Delphi 内置类型,从 Encoding.Default 和 String 进行转换
和类型 array of Byte 以及 TBytes 都兼容

array of Byte = C#中的 Byte[]
在Delphi 中,使用 SetLength 可以重新分配其空间,并复制原有数据

var
m, n: array of Byte;
ma: &Array;
begin
ma := &Array.CreateInstance(TypeInfo(Byte), 200);
MessageBox.Show(ma.GetType.ToString)
//System.Byte[]
SetLength(m, 300);
MessageBox.Show(TypeInfo(m).ToString)
//System.Byte[]
n := m;
if m = n then MessageBox.Show('ok')
//ok

SetLength(m, 500);
if m = n then MessageBox.Show('ok')
//no
end;
 
多人接受答案了。
 

Similar threads

回复
0
查看
978
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部