Текущий архив: 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.5 MB
Время: 0.044 c