请问这句是什么意思?

zgplyl 2010-01-25 08:31:36
FFildList:TObjectList;//字段列表


TFieldElement = class(TObject)
private
FField:string;
FCaption:string;
end;



procedure TF_Find.InitField;
var
i:Integer;
FieldElement:TFieldElement;
begin
C_FieldList.Clear;
C_FieldList.OnChange := FieldChange;

for i:= 0 to FFildList.Count-1 do
begin
FieldElement := TFieldElement(FFildList.Items[i]);//请问这句什么意思?
if Trim(FieldElement.FCaption) <> '' then
C_FieldList.AddItem(FieldElement.FCaption,FieldElement)
else
C_FieldList.AddItem(FieldElement.FField,FieldElement);
end;

if FFildList.Count > 0 then
begin
C_FieldList.ItemIndex := 0;
C_FieldList.OnChange(C_FieldList);
end;
end;
...全文
74 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgplyl 2010-01-25
  • 打赏
  • 举报
回复
thanks!
CACACACACA 2010-01-25
  • 打赏
  • 举报
回复
简单来说吧。用户用TFieldElement对象封装了字段(或继承字段)。

wzwcn 2010-01-25
  • 打赏
  • 举报
回复
这叫类型转换。因为FFildList.Items[i]返回的是TObject类型,而里面装的是TFieldElement类型,所以要转一下
kfcoffe 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zgplyl 的回复:]
构造函数不是这样写的吗?TFieldElement.create;为什么搞成这样?
再有这句什么意思: C_FieldList.OnChange(C_FieldList);
[/Quote]
FieldElement := TFieldElement(FFildList.Items[i]);//请问这句什么意思?

这里是从TFieldElement对象列表中取1个元素 ,然后转换为该类型
C_FieldList.OnChange(C_FieldList); //C_FieldList 执行对象事件
zgplyl 2010-01-25
  • 打赏
  • 举报
回复
构造函数不是这样写的吗?TFieldElement.create;为什么搞成这样?
再有这句什么意思: C_FieldList.OnChange(C_FieldList);
wliaoc 2010-01-25
  • 打赏
  • 举报
回复
FieldElement := TFieldElement(FFildList.Items[i]);//请问这句什么意思?
TFieldElement这个类应该有个构造函数,上面就是构造函数代码

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧