控件开发中的一个简单问题

arraiy 2009-05-22 10:05:37
大家好,请教大家:
我要从TPersistent继承一个新类Tabc,Tabc类型中有一个属性Count,

Tabc类型的一个变量abc,我要实现abc.Count和abc[0]这种效果,abc.Count好实现,现在不知道abc[0]是怎么实现的,在变量名后面跟[0],相当于数组,这种功能没做过,大家帮帮忙。abc是Tabc类型,可是abc[0]可能就是另一种类型了。不知道我表达的大家能不能看懂,先谢了!
...全文
67 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
arraiy 2009-05-22
  • 打赏
  • 举报
回复
To:zshsuming 谢谢你的方法,你的方法是简单,但不符合我的要求,我知道这样能实现SelectItems[0],SelectItems[1] ,但与我要的东西相差太远了。

而且你还没看清楚我的意思!
zshsuming 2009-05-22
  • 打赏
  • 举报
回复
貌似你下面这个有问题吧?
SelectItems :TSelectItems;
我不能这样调用:SelectItems[0]或SelectItems[1] ,而只能SelectItems.Items[0],我的目的就是要像TStringList一样,可以StringList[0]

你对数组的理解好像比我还差哦。
SelectItems:array[1..2] of TSelectItems;
SelectItems[0],SelectItems[1]

上面就是个意思,我对数组理解也比较差,不对的地方多多指点。。
arraiy 2009-05-22
  • 打赏
  • 举报
回复
To:Corn1 你的方法不行!谢谢!

我的意思是:


TSelectItems = class(TPersistent)
private
FData: TStringList;
FCount: integer;
function GetItems(Index: Integer): TSeat;
function GetCount: Integer;
public
property Items[Index: Integer]: TSeat read GetItems;
constructor Create;
destructor Destroy; override;
published
property Count: Integer read GetCount;
end;


用上面的类声明变量:

SelectItems :TSelectItems;
我不能这样调用:SelectItems[0]或SelectItems[1] ,而只能SelectItems.Items[0],我的目的就是要像TStringList一样,可以StringList[0]


大家明白我的意思了吗?
Corn1 2009-05-22
  • 打赏
  • 举报
回复
property abc[Index: Integer]: string read GetABC write PutABC; default;

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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