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

Вниз

Edit   Найти похожие ветки 

 
Poha   (2005-01-20 07:12) [0]

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


 
Kerk ©   (2005-01-20 07:17) [1]

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


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

var i:integer;

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


 
Grinders   (2005-01-20 08:01) [3]

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


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

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;


 
Poha ©   (2005-01-20 08:40) [5]

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


 
Style ©   (2005-01-20 09:04) [6]


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


Класс :)))


 
BiN ©   (2005-01-20 10:16) [7]

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

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


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

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


 
Alexander Panov ©   (2005-01-20 11:30) [8]

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


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


 
BiN ©   (2005-01-20 12:24) [9]

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

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


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

0) Edit1
1) Button1
2) Edit2

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


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

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


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

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


 
Kerk ©   (2005-01-20 15:08) [12]

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


 
BiN ©   (2005-01-20 15:12) [13]

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


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

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

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

С уважением.


 
KADAN ©   (2005-01-20 15:19) [14]

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

:)



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

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

Наверх




Память: 0.49 MB
Время: 0.028 c
1-1105889648
Exit
2005-01-16 18:34
2005.01.30
RichEdit


4-1102306451
TankMan
2004-12-06 07:14
2005.01.30
А как заставить работать WMI на 9х?


14-1105440071
hawkins
2005-01-11 13:41
2005.01.30
в чем разница между Shareware программой и триалом


10-1082451010
Dmitrij_K
2004-04-20 12:50
2005.01.30
Word Basic


4-1102595459
serg128
2004-12-09 15:30
2005.01.30
Как на WinAPI переименовать файл?