
31.10.2011, 11:53
|
 |
Let Me Show You
|
|
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
|
|
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TRSSChannelItem = class(TCollectionItem)
private
FTitle: String;
FLink: String;
FDescription: String;
public
property Title: String read FTitle write FTitle;
property Link: String read FLink write FLink;
property Description: String read FDescription write FDescription;
constructor Create(Collection: TCollection); override;
destructor Destroy; override;
end;
TRSSChannel = class(TCollection)
private
function GetItem(Index: Integer): TRSSChannelItem;
procedure SetItem(Index: Integer; Value: TRSSChannelItem);
public
property Items[Index: Integer]: TRSSChannelItem read GetItem write SetItem; default;
constructor Create(ItemClass: TCollectionItemClass);
function Add: TRSSChannelItem;
function Insert(Index: Integer): TRSSChannelItem;
end;
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
FRSSChannel: TRSSChannel;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TRSSChannelItem }
constructor TRSSChannelItem.Create(Collection: TCollection);
begin
inherited Create(Collection);
FTitle:='';
FLink:='';
FDescription:='';
end;
destructor TRSSChannelItem.Destroy;
begin
inherited Destroy;
end;
{ TRSSChannel }
constructor TRSSChannel.Create(ItemClass: TCollectionItemClass);
begin
inherited Create(ItemClass);
end;
function TRSSChannel.GetItem(Index: Integer): TRSSChannelItem;
begin
Result:=TRSSChannelItem(inherited GetItem(Index));
end;
procedure TRSSChannel.SetItem(Index: Integer; Value: TRSSChannelItem);
begin
inherited SetItem(Index, Value);
end;
function TRSSChannel.Add: TRSSChannelItem;
begin
Result:=TRSSChannelItem(inherited Add);
end;
function TRSSChannel.Insert(Index: Integer): TRSSChannelItem;
begin
Result:=TRSSChannelItem(inherited Insert(Index));
end;
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
FRSSChannel:=TRSSChannel.Create(TRSSChannelItem);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
FRSSChannel.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
with FRSSChannel.Add do
begin
Title:=IntToStr(GetTickCount);
Link:='http://';
Description:=IntToStr(Random(100));
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if FRSSChannel.Count>0 then
begin
with FRSSChannel.Items[0] do
ShowMessage(Title+#13#10+Link+#13#10+Description);
FRSSChannel.Delete(0);
end;
end;
end.
__________________
Пишу программы за еду.
__________________
|