小弟在学习Delphi的过程中,有一个问题总是分得不是很清楚,
同样是赋值方法:A:=Assign(B) 和 A:=B ,两者之间有什么区别,
什么情况下用Assign,什么情况下直接用A:=B呢?
请大虾赐教!
同样是赋值方法:A:=Assign(B) 和 A:=B ,两者之间有什么区别,
什么情况下用Assign,什么情况下直接用A:=B呢?
请大虾赐教!
解决方案 »
- 如何获取TListBox选定一行的值(字符串)?
- 庆祝CONVNET达到预期设计目标,放分
- sql语句中自己构造的字段不能编辑吗?
- 怎么样遍历注册表中某一项内的的所有项值?在线等待!!!
- RO+DataSnap No connection available
- 麻烦大家推荐一到两本DELPHI的书(详见内)
- 对不起,我才变态
- 谁知道哪一个API函数可以检测有多少台机器和我建立连接(或访问)。。好答案我将尽力加分。。。。
- 难道CSDN上已经没有高手了吗,帮忙看看此帖--http://www.csdn.net/expert/topic/196/196353.shtm
- 朋友们,介绍几个好控件给我吧!
- StrinGrid的Cell能否象DBGrid.Column那样可以通过设置PickList实现下拉选择?
- 怎么adoconnection.close后,程序仍然可以和数据库连接?!
Procedure Assign(Source : TPersistent) : Override
此方法是把某一类的属性等copy给另一类
一般都这么使用Series1.Assign( Series2 ) ;而A:=B不就是相同类型的直接赋值吗?
begin
CopySeries(DBChart2,DBChart1, self);
BitBtn1.Visible:=False;
end;
type TChartClass=class of TChart;
Procedure TForm1.CopySeries(DestChart,SourceChart:TChart; AOwner:TComponent);
Var tmpSeries:TChartSeries;
tmpS:TChartSeriesClass;
t:Longint;
begin
for t:=0 to SourceChart.SeriesCount-1 do
begin
tmpS:=TChartSeriesClass(SourceChart.Series[t].ClassType);
tmpSeries:=tmpS.Create(AOwner);
tmpSeries.Assign(SourceChart.Series[t]); tmpSeries.Name:=(SourceChart.Series[t].Name) + 'copy';
DestChart.AddSeries(tmpSeries);
end;
end;
a.assign(b);其中a是一个独立的对象,但其状态与b相同。
assign方法可以将对象属性进行深层复制。同样的方法还有assign to.