Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.02;
Скачать: CL | DM;

Вниз

Как создать компонент Edit динамически?   Найти похожие ветки 

 
WFS   (2007-11-04 19:24) [0]

собсна вопрос в теме


 
Anatoly Podgoretsky ©   (2007-11-04 19:25) [1]

> WFS  (04.11.2007 19:24:00)  [0]

Компоненты создаются с помощью Create


 
WFS   (2007-11-04 19:33) [2]

Какой параметр следует указать в скобках
TEdit.Create(?)


 
Anatoly Podgoretsky ©   (2007-11-04 19:35) [3]

> WFS  (04.11.2007 19:33:02)  [2]

F1


 
Efir   (2007-11-04 19:36) [4]

Родителя, я так понимаю в твоём случае это будет форма.

MyEdit:=TEdit.Create(Form1);
MyEdit.Parent:=Form1;


 
WFS   (2007-11-04 19:55) [5]

Тогда такой вопрос.
Если имеются много эдитов с номерами от 1 до 1000, то можно свойству Text каждого эдита в цикле присвоить значение?


 
Efir   (2007-11-04 19:59) [6]

Конечно можно.


 
WFS   (2007-11-04 20:02) [7]

Ну а как?
Он же не понимает Edit[i].text :)


 
Efir   (2007-11-04 20:10) [8]

Можно так:

var
 i:integer;
 Edit:TComponent;
begin
 for i:=1 to 5 do begin
   Edit:=FindComponent("Edit"+IntToStr(i));
   if Edit is TEdit then
     TEdit(Edit).Text:="12345";
 end;
end;


 
WFS   (2007-11-04 20:14) [9]

Ладно, спасибо:)


 
Галинка ©   (2007-11-04 21:51) [10]

WFS   (04.11.07 20:02) [7]

а в чем проблема? если параллельно будет существовать массив этих вновь созданных едитов, то можно и так.

var
MyEdits: array of TEdit;
i : integer;
curEdit : TEdit;

begin
 for i:=0 to 1000 do
  begin
   curEdit := TEdit.Create(Form1);
   SetLength(MyEdits, i+1);
   MyEdits[i] := TEdit.Create(Form1);
     with MyEdits[i] do
       begin
         Parent := Form1;
         Left = 10;
         Top := 10 + 25*i;
         Text = IntToStr(i);
       end;
  end;
end;


 
Amoeba ©   (2007-11-05 02:10) [11]

Лучше использовать не массив, а TObjectList.


 
Anatoly Podgoretsky ©   (2007-11-05 08:53) [12]

Лучше использовать Controls или Components, ни к чему плодить сущности.


 
Галинка ©   (2007-11-06 12:39) [13]

Да понятно, что лучше. Но можно. Если автор пока категориями массивов оперирует.

И вообще, когда надо большое количество однозначных эдитов, может сразу StringGrid взять, и не мучиться?


 
Ega23 ©   (2007-11-06 13:00) [14]


> Лучше использовать Controls или Components, ни к чему плодить
> сущности.


Кроме динамически создаваемых Эдитов могут быть и созданные в Design-time на данном контроле.
А Tag всего один...  :)


 
Leonid Troyanovsky ©   (2007-11-06 13:24) [15]


> Галинка ©   (06.11.07 12:39) [13]

> И вообще, когда надо большое количество однозначных эдитов,
> может сразу StringGrid взять

Сразу DrawGrid.

--
Regards, LVT.



Страницы: 1 вся ветка

Текущий архив: 2007.12.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.024 c
2-1194416145
XIO
2007-11-07 09:15
2007.12.02
Delphi .Net и XML


3-1184657924
Term
2007-07-17 11:38
2007.12.02
Создание TDataSet


15-1194039339
KilkennyCat
2007-11-03 00:35
2007.12.02
Вот, держу в руках дивиди. RAD STUDIO 2007 от CODE GEAR


2-1194634607
Dmitry_177
2007-11-09 21:56
2007.12.02
отловить клавишу Delete


15-1193901454
Игорь Шевченко
2007-11-01 10:17
2007.12.02
Кстати, о расчетах по кредитным картам :)