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

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

про Edit [D7, XP]


MIXER ©   (2006-02-15 14:47:00) 

на форме много Editов. вводятся числа, совершается работа.потом
мужно очистить все Editы для ввода новых данных.
есть ли общая процедура типа Form1.allEdit.text=' ' или для каждого нужно писать отдельно


Ega23   (2006-02-17 14:46:00) [1]


> Только не говори, что этим вообще нельзя


Дык и гланды через задницу можно доставать. А смысл?


КаПиБаРа   (2006-02-17 14:30:00) [2]

Неуверенный   (17.02.06 14:25) [13]
Можно. Однако вопрос вполне логичный.


Неуверенный   (2006-02-17 14:25:00) [3]


> Ega23 ©   (15.02.06 15:14) [4]
>
> > Или FindwindowEx
>
>
> Это-то нафига???


Только не говори, что этим вообще нельзя


Vlad   (2006-02-15 18:59:00) [4]


> Ega23 ©   (15.02.06 18:55) [11]


> Здесь ты не прав. Не путай ControlCount с ComponentCount


Да, тут ошибочка


Ega23   (2006-02-15 18:55:00) [5]


> Тоже самое. Это справедливо только для случая, когда все
> Edit-ы лежат на форме. Если один лежит на TPanel (к примеру),
>  то он не очистится.
>
> Я думаю, рекурсивная функция поможет.
>


Здесь ты не прав. Не путай ControlCount с ComponentCount


Vlad   (2006-02-15 18:13:00) [6]


> mr. Den   (15.02.06 18:05) [8]

а если parent у кнопки - TPanel ? А она в свою очередь вложена в еще несколько?


> MIXER   (15.02.06 16:01) [5]
> var
> i: Integer;
> begin
> with form do
> for i := 0 to ComponentCount - 1 do
> if (Components[i] is TEdit) then
> (Components[i] as TEdit).Text := '';
>
> во как!!!!


Тоже самое. Это справедливо только для случая, когда все Edit-ы лежат на форме. Если один лежит на TPanel (к примеру), то он не очистится.

Я думаю, рекурсивная функция поможет.


Ega23   (2006-02-15 18:07:00) [7]


> А если так вот ? :)


Не получится. Точнее, не всегда будет работать.
Пример:
Форма, на ней панель, на ней ещё две панели, на каждой панели - 100 эдитов.


mr. Den   (2006-02-15 18:05:00) [8]


> Ega23 ©   (15.02.06 16:16) [7]
>
> > with form do
>
>
> Ну и как только объект будет называться не form, то, естественно,
>  ничего не получится.


А если так вот ? :)

procedure TForm1.Button1Click(Sender: TObject);
var i : integer;
begin
 for i:=0 to (sender as TControl).Parent.ControlCount - 1 do
   if (sender as TControl).Parent.Controls[i].InheritsFrom(TEdit) then
     TEdit((sender as TControl).Parent.Controls[i]).Text := '';
end;


Ega23   (2006-02-15 16:16:00) [9]


> with form do


Ну и как только объект будет называться не form, то, естественно, ничего не получится.


Stakan   (2006-02-15 16:09:00) [10]


> (Components[i] as TEdit)

TEdit(Components[i])
Вот так лучше


MIXER   (2006-02-15 16:01:00) [11]

var
i: Integer;
begin
with form do
for i := 0 to ComponentCount - 1 do
if (Components[i] is TEdit) then
(Components[i] as TEdit).Text := '';

во как!!!!


Ega23   (2006-02-15 15:14:00) [12]


> Или FindwindowEx


Это-то нафига???


КаПиБаРа   (2006-02-15 14:58:00) [13]

Что то глючит яндекс
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1139820130&n=0&p=1


Неуверенный   (2006-02-15 14:53:00) [14]

Может, Findcomponent?
Или FindwindowEx
А там еще кнопка F1 есть...


КаПиБаРа   (2006-02-15 14:53:00) [15]

http://www.yandex.ru/yandsearch?text=Delphi+Edit+%EE%F7%E8%F1%F2%E8%F2%FC&stype=www


Наверх

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