Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.035 c
14-1129551136
syte_ser78
2005-10-17 16:12
2005.11.06
чек в ДБриде


2-1129109140
L*D
2005-10-12 13:25
2005.11.06
Как спрятать консолевое приложение?


2-1129185673
stone
2005-10-13 10:41
2005.11.06
FreeLibrary


3-1125919576
Monk
2005-09-05 15:26
2005.11.06
Права доступа на базы в BDE


6-1121686897
SergeyDon
2005-07-18 15:41
2005.11.06
как лучше организовать ожидание в потоке?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский