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

Вниз

Динамика   Найти похожие ветки 

 
Del_programmer ©   (2005-10-12 16:23) [0]

Как мне в цикле создать динамически N Эдитов?


 
MBo ©   (2005-10-12 16:25) [1]

А один, без цикла - умеешь?
А два или пять?


 
Del_programmer ©   (2005-10-12 16:27) [2]


> MBo ©   (12.10.05 16:25) [1]

да


 
TUser ©   (2005-10-12 16:33) [3]

for N:=N downto 1 do
 {создать один Edit так же, как и вне цикла}

Все - будет N edit"ов


 
Del_programmer ©   (2005-10-12 16:37) [4]


> TUser ©   (12.10.05 16:33) [3]

дА.....и имена у них будут одинаковые......и налеплены один на другой....СУПЕР....


 
Del_programmer ©   (2005-10-12 16:38) [5]

Удалено модератором
Примечание: Дубль


 
Игорь Шевченко ©   (2005-10-12 16:41) [6]


> дА.....и имена у них будут одинаковые......и налеплены один
> на другой....СУПЕР....


Ну вот видишь, ты уже знаешь, что нужно исправить, чтобы стало так, как надо тебе. Вопрос, я надеюсь, решен ?


 
Del_programmer ©   (2005-10-12 16:44) [7]


> Вопрос, я надеюсь, решен ?

Нет....Как в цикле задавать разные имена для них?
С позицией там всё ясно....


 
MBo ©   (2005-10-12 16:51) [8]

>Как в цикле задавать разные имена для них?
ОК, следующий шаг - как ты без цикла задаешь имя одному, или двум, или пяти Edit-ам?


 
Del_programmer ©   (2005-10-12 16:55) [9]


> как ты без цикла задаешь имя одному, или двум, или пяти
> Edit-ам?

я создаю 1-5 едитов сразными именами, вручную.....................
.......А В ЦИКЛЕ КАК ЭТО?


 
MBo ©   (2005-10-12 17:00) [10]

>я создаю 1-5 едитов сразными именами, вручную
Ну напиши пример. И подумай, какую закономерность ты использовал, чтобы задать эти имена, и как это можно автоматизировать


 
Del_programmer ©   (2005-10-12 17:01) [11]

нет............я чувствую вы меня не понимаете (или наоборот)..........


 
TUser ©   (2005-10-12 17:07) [12]

Если не надо обращаться к эдитам после их создания, то тело цикла будет таким
with TEdit.Create(Self) do begin
// назначаем св-ва Top, Left, Parent и любые другие
end;
Self - это хозяин этого эдита, эдит будет разрушен при вызове деструктора этого хозяина. Такой код можно поместитить в какой-нибудь метод класса TForm1, тогда Self - это конкретный экземпляр формы. Обычно - тот, на который помещают эдиты.

Если же придется к этим эдитам обращаться в коде где-нибудь еще, то нужна переменная, которая указывает на этот эдит. Их надо организовать в виде массива и написать такой цикл
var Edits: array [0..N-1] of TCustomEdit;
   i: integer;
begin
 for i:=0 to N-1 do begin
   Edits[i]:=TEdit.Create (Application);
   with Edits[i] do begin
     // назначаем значения св-вам
   end;
   end;
end;


 
-=S..S=-   (2005-10-12 17:07) [13]

Если с позициами ясно то почему не ясно с именами ?


 
erika ©   (2005-10-12 17:11) [14]

а  почеиу   нельзя  в  имени  edit  использовать i,т.е. у  тебя  будет  edit1, edit2... editN


 
jack128 ©   (2005-10-12 17:23) [15]

erika ©   (12.10.05 17:11) [14]
Ну вот... Такая загадка была, а ты народу развлечение испортила...


 
atruhin ©   (2005-10-12 17:37) [16]

>>Ну вот... Такая загадка была, а ты народу развлечение испортила...
Ну объясните мне наконец, зачем Edit-ам имена задавать? А то тупой я, никак не могу придумать!


 
Leonid Troyanovsky ©   (2005-10-12 17:42) [17]


> atruhin ©   (12.10.05 17:37) [16]

> Ну объясните мне наконец, зачем Edit-ам имена задавать?


Ну, например, для последующего FindComponent.

--
Regards, LVT.


 
jack128 ©   (2005-10-12 17:53) [18]

Leonid Troyanovsky ©   (12.10.05 17:42) [17]
Ну, например, для последующего FindComponent.


А зчем использовать FindComponent, если созданные эдиты можно в массив или TList сохранить??


 
MBo ©   (2005-10-12 18:00) [19]

>зачем Edit-ам имена задавать?
Да конечно,  это в редких случаях может понадобиться.
Но ведь должен же человек научиться решать такую задачу, верно?


 
Digitman ©   (2005-10-12 18:05) [20]


> Del_programmer ©   (12.10.05 16:37) [4]
> налеплены один на другой....СУПЕР


ты дурень или где ? ты Паскаль знаешь или куда ?

for i := 0 to N do
begin
 Компонент := .. создать компонент ..:
 Компонент.Name := "MyDummyComponent" + IntToStr(i);
end;

?!


 
Leonid Troyanovsky ©   (2005-10-12 18:08) [21]


> jack128 ©   (12.10.05 17:53) [18]

> Ну, например, для последующего FindComponent.

> А зчем использовать FindComponent, если созданные эдиты
> можно в массив или TList сохранить??


Можно, конечно. Но, если очень хочется, то можно и FindComponent.
А можно, вообще, нигде не сохранять. Достаточно присвоить им Parent.
И, далее, EnumChildWindows & FindControl.
Т.е., z-order отразит их естественный порядок.

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2005-10-12 18:12) [22]


> Digitman ©   (12.10.05 18:05) [20]

> ты дурень или где ? ты Паскаль знаешь или куда ?


Эх..хе. Не положено так.
Назвавший своего брата безумным достоин геены огненной.

--
Regards, LVT.


 
Digitman ©   (2005-10-12 18:27) [23]


> Leonid Troyanovsky ©   (12.10.05 18:12) [22]


там и варимся) ... давно уже)


 
Anatoly Podgoretsky ©   (2005-10-12 19:35) [24]

Del_programmer ©   (12.10.05 17:01) [11]
А я чувствую, что это не мы



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

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

Наверх




Память: 0.52 MB
Время: 0.033 c
2-1129221370
kami
2005-10-13 20:36
2005.11.06
Как отладить ActiveX - объект ? (Shell Extension - IQueryInfo)


9-1118904983
DGT
2005-06-16 10:56
2005.11.06
Vertex lighting in Glscene


14-1129553071
Игорь Шевченко
2005-10-17 16:44
2005.11.06
Почти по Екклезиасту...


14-1129225171
spotter
2005-10-13 21:39
2005.11.06
Простенькая задачка на прологе.


14-1129206183
Dust
2005-10-13 16:23
2005.11.06
Блин, народ достали меня делфячие баги меня это уже просто БЕСИТ