Главная страница
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.046 c
1-1105858601
DDDeN
2005-01-16 09:56
2005.01.30
Защита программного пакета


14-1105611779
Ega23
2005-01-13 13:22
2005.01.30
У кого есть песня


11-1087067965
Андрей2
2004-06-12 23:19
2005.01.30
Не происходит переключение между формами


1-1104789712
Colonel
2005-01-04 01:01
2005.01.30
Меню рабочего стола


9-1097069654
.cpp
2004-10-06 17:34
2005.01.30
Создание анимации для управляемого спрайта