Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Edit [D7, WinXP]


Poha ©   (2005-01-20 07:12:00) 

Люди подскажите пожалуйста, как можно 50 Editов очистить в цикле???


KADAN   (2005-01-20 15:19:00) [1]

в [4] изменить
 for I := 0 to Form1.ComponentCount-1 do
на
 for I := 1 to 50 do

:)


BiN   (2005-01-20 15:12:00) [2]

PZ   (20.01.05 14:46) [10]
Дорогой товарищ BIN, Вы заблуждаетесь. Проверте свой пример.


Да,действительно. Я сделал ошибочные выводы в своем примере. В моем примере Edit0 будет найден. Приношу свои извинения PZ и Панову.

А мой пример отыщен ВСЕ компоненты tEdit, кроме, естественно, любых других.

А вот с этим согласиться не могу. Таким ([4]) образом все равно не следует производить поиск. И дело не только в привязке к именам контролов; FindComponent внутри уже содержит цикл по всем элементам списка дочерних компонентов и является в нашем случае избыточным.

С уважением.


Kerk   (2005-01-20 15:08:00) [3]

PZ   (20.01.05 8:16) [4]
Код действительно бредовый. Здесь i - это не номер TEdit, а номер компонента ВООБЩЕ.


PZ   (2005-01-20 14:57:00) [4]

Но пример, который дал Grinders лучше моего, так как он ищет все компоненты TEdit, независимо от их имени.


PZ   (2005-01-20 14:46:00) [5]

Дорогой товарищ BIN, Вы заблуждаетесь. Проверте свой пример. А мой пример отыщен ВСЕ компоненты tEdit, кроме, естественно, любых других.


BiN   (2005-01-20 12:24:00) [6]

Alexander Panov ©   (20.01.05 11:30) [8]

Ничего подобного, этот код совершенно верен.


Этот код абсурден. Допустим на форме лежит 4 контрола:

0) Edit1
1) Button1
2) Edit2

Тогда процедура из [4] очистит лишь Edit2. Да и экземпляры типа TEdit не обязательно могут иметь имена формата Editxx, где xx - целочисленное.


Alexander Panov   (2005-01-20 11:30:00) [7]

BiN ©   (20.01.05 10:16) [7]
- бредовая строка.


Ничего подобного, этот код совершенно верен.


BiN   (2005-01-20 10:16:00) [8]

PZ   (20.01.05 08:16) [4]
...

    Comp := FindComponent('Edit'+ IntToStr(I));


- бредовая строка.

Нужно Comp := Components[i];


Style   (2005-01-20 09:04:00) [9]


> Comp := FindComponent('Edit'+ IntToStr(I));


Класс :)))


Poha   (2005-01-20 08:40:00) [10]

Всем огромное спасибо :)


PZ   (2005-01-20 08:16:00) [11]

procedure TForm1.Button1Click(Sender: TObject);
Var
 Comp : tComponent;
 I : Integer;
begin
 For I := 0 to Form1.ComponentCount-1 do
   begin
     Comp := FindComponent('Edit'+ IntToStr(I));
     If Comp is tEdit then
       With Comp as tEdit do Text := '';
   end;
end;


Grinders   (2005-01-20 08:01:00) [12]

Только в конце не
(Self.Components[i] is TEdit).Clear;
а
(Self.Components[i] as TEdit).Clear;


Grinders   (2005-01-20 08:00:00) [13]

var i:integer;

for i:=0 to Self.ComponentCount-1 do
if (Self.Components[i] is TEdit) then
(Self.Components[i] is TEdit).Clear;


Kerk   (2005-01-20 07:17:00) [14]

Поищи тему про заполнение 3x BitBtn.Caption в цикле. :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо