Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.016 c
15-1193813295
ZeroDivide
2007-10-31 09:48
2007.12.02
Программа для учета персональных финансов - бесплатно...


1-1189486061
Inorica
2007-09-11 08:47
2007.12.02
Drag n Drop любого текста из любой проги в мою прогу!


11-1178473386
Dmitry___
2007-05-06 21:43
2007.12.02
KOLProject - Build := TRUE


15-1194093107
Булат Шакиров
2007-11-03 15:31
2007.12.02
Бушков А.А. как историк ;)


9-1117351615
Toljan
2005-05-29 11:26
2007.12.02
программирование логических игр




   Наверх