| 
| 
 | Вопрос # 6 566/ вопрос решён / | 
 |  Здравствуйте!Искал что такое класс TComponentList или TObjectList .
 Нашел только в одном месте http://zoo-mania.ru/delphi/tobjectlist/index.html, но этот пример не работает:
 Приложение:Переключить в обычный режим unit main; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  type  TfrmCallbase = class(TForm)     Edit1: TEdit;    Edit2: TEdit;     procedure FormCreate(Sender: TObject);     procedure FormDestroy(Sender: TObject);  private    { Private declarations }  public    { Public declarations }  end; typeTEditList = class(TObjectList)  private    function GetItems(Index: Integer): TEdit;    procedure SetItems(Index: Integer; const Value: TEdit);  published  public    property Items[Index: Integer]: TEdit read GetItems write SetItems; default;  end;var  frmCallbase: TfrmCallbase;  EditList: TEditList; implementation {$R *.dfm}      { TEditList }  procedure TfrmCallbase.FormCreate(Sender: TObject);begin  EditList := TEditList.Create();  EditList.Add(Edit1);  EditList.Add(Edit2);   for i:=0 to EditList.Count - 1 do  EditList[i].Text = 'default';end;   procedure TfrmCallbase.FormDestroy(Sender: TObject);begin EditList.Free;end; function TEditList.GetItems(Index: Integer): TEdit;begin Result := TEdit(inherited GetItem(Index));end; procedure TEditList.SetItems(Index: Integer; const Value: TEdit);begin  inherited SetItem(Index, Value);end; end.{Error in module main: Declaration of class TForm1 is missing or incorrect.  } type  TForm1 = class(TForm) // ??????????? 
Примечание #1 (13 октября 2014, 18:56): Как это вставить? Или покажите работающую программу, где всё понятно для меня. 
 
|  |   Вопрос задал: zvygin1964 (статус: Посетитель)Вопрос отправлен: 13 октября 2014, 18:55
 Состояние вопроса: решён, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 1; последнее сообщение — 14 октября 2014, 19:31; участников в обсуждении: 1. 
|   | zvygin1964 (статус: Посетитель), 14 октября 2014, 19:31 [#1]:Спасибо за ответ min@y™ unit main; 
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Contnrs;
 
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button1: TButton;
    Edit4: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
    type
 TEditList = class(TObjectList)
  private
    function GetItems(Index: Integer): TEdit;
    procedure SetItems(Index: Integer; const Value: TEdit);
  published
  public
    property Items[Index: Integer]: TEdit read GetItems write SetItems; default;
  end;
 
var
  Form1: TForm1;
  EditList: TEditList;
 
 
 
implementation
 
{$R *.dfm}  { TEditList }
function TEditList.GetItems(Index: Integer): TEdit;
begin
   Result := TEdit(inherited GetItem(Index));
end;
 
procedure TEditList.SetItems(Index: Integer; const Value: TEdit);
begin
  inherited SetItem(Index, Value);
end;
 
procedure TForm1.FormCreate(Sender: TObject);
 var
   i: Integer;
begin
  EditList := TEditList.Create();
  for i:= 0 to ComponentCount - 1 do
  if Components[i] is TEdit
    then EditList.Add(Components[i]);
 
    for i:=0 to EditList.Count - 1 do
    begin
     EditList[i].Text := 'default';
    end;
 
  end;
 
procedure TForm1.FormDestroy(Sender: TObject);
begin
   EditList.Free;
end;
 
end. |  14 октября 2014, 19:32: Статус вопроса изменён на решённый (изменил автор вопроса — zvygin1964): Решение дал min@y™ . Оценка 5. Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |