Delphi的2个问题.
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi的2个问题.相关的知识,希望对你有一定的参考价值。
最近在自学Delphi,买了本Delphi2006从入门到精通的书看的,有2个问题看不懂.
(1) Var
IMAX,IMIN:integer;
Result:real;
begin
imax:=128;
imin:=3;
Result:=imax/iminl;
end;
这里的Result 定义成实数型,是因为相除得到的值可能含有小数,而整形不能表示是吗?
(2)还有就是对象问题, 对象是整体还是个体, 什么继承,封装,不太懂,高手解说下,谢谢.
2、对象是一个个体,类是一个整体,人类是一个类好比类,你就是一个对象,一个实实在在的个体,从整体里实例化了。人类就是一个封装,封装了人共有的属性,比如人的特有特征啊,基本特征啊。继承嘛,就是你继承了人类这个整体的属性,人类的属性,在你这个对象身上都具有,这个就是继承,delphi的继承是单继承的,你继承了人类,具备了人类所有的属性和特征,但你不能再去继承植物这个类,delphi的特点就是单继承。 参考技术A 你的完全对~整形INTEGER是不能表示小数的~所以要结果要定义成实数型才可以表示~
至于你第2个问题楼上说的很对~对象就是整体,但是实例化后就分成了若干个个体,其个体继承了整体的属性、功能及方法等~原来一些Object Pascal版本是不能被实例化的,因为有些类的虚函数是供子类重载,该类并不会调用。
封装主要是对自己编写的程序而言的~编写好程序后就可以封装了~ 参考技术B 1,是的。整形不能表示小数点的
2、这个一言难尽了。对象就是一个整体,实例化后成为个体了,但此个体有整体的属性、方法等,可以自己定义事件。 具体还是看看面向对象的书吧! 参考技术C 整形 可以自动转化过去吧
你好,请教个问题,就是delphi中DBGridEh的统计行数据如何实现的
参考技术A 这事可以在设计期指定,也可以在运行期由代码来指定.运行期指定就把DBGridEh搞埃了,不灵活,说起来比较麻烦,你还不易搞懂.就说用代码吧:DBGrideh1.FooterRowCount:=1;//新添加一行脚注
DBGrideh1.SumList.Active:=true;
for i:=0 to DBGrideh1.Columns.Count-1 do//一共有多少列
begin
DBGrideh1.Columns[i].Footer.FieldName:=DBGrideh1.Columns[i].Title.Caption;
if i=0 then//指定第一列显示标题名
begin
DBGrideh1.Columns[i].Footer.ValueType:=fvtStaticText;
DBGrideh1.Columns[i].Footer.Value:='项目合计';
DBGrideh1.Columns[i].Footer.Alignment:=tacenter;
end
else
begin //其它列都显示数据,求和,当然也可是计数,求均值等等
DBGrideh1.Columns[i].Footer.ValueType:=fvtSum;
end;
因此,完全套用本代码时要注意,除第一列是显示标题文本外,其它列都应该是数字,否则会出错.
当然你把.ValueType:=fvtSum中fvtSum改成其它的也可.
if i<2 then
DBGrideh1.Columns[i].Width :=70
else
DBGrideh1.Columns[i].Width :=50;
end;
以上是关于Delphi的2个问题.的主要内容,如果未能解决你的问题,请参考以下文章