Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2012, 15:26   #1
Mrsqler
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 146
Вопрос Очищение отдельных Edit полей.

В общем есть форма(From1) на ней лежит PageControl,на самой первой странице лежит GroupBox1,а на самом GroupBox1 лежат 9 полей Edit.Нужно чтобы по нажатию на кнопку(которая тоже лежит в GroupBox1) очищались все Edit поля лежащие в GroupBox1.
Вот код,но или ничего не происходит,или выдается ошибка,[Pascal Error] Kramer.pas(139): E2003 Undeclared identifier: 'TabSheet1'

Код:
For i:= 0 to Form1.PageControl1.TabSheet1.GroupBox1.ComponentCount - 1 do
 if Form1.PageControl1.TabSheet1.GroupBox1.Components[i] is TEdit then
  (Form1.PageControl1.TabSheet1.GroupBox1.Components[i] as TEdit).Text := '';
end;
Что не так?
Mrsqler вне форума Ответить с цитированием
Старый 25.03.2012, 15:51   #2
Karych
Пользователь
 
Регистрация: 17.12.2011
Сообщений: 49
По умолчанию

эдиты принадлежат форме!

Код:
For i:= 0 to Form1.ComponentCount - 1 do
 if Form1.Components[i] is TEdit then
  TEdit(Form1.Components[i] as TEdit).clear;
Karych вне форума Ответить с цитированием
Старый 25.03.2012, 16:00   #3
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,051
По умолчанию

Ну или так
Код:
var
I : Integer;
begin
with Form1 do
begin
for I := 0 to ComponentCount - 1 do
begin
if (Components[i] is TEdit) then
begin
if I in [1..9] then
(Components[i] as TEdit).Text := '';
end;
Application.ProcessMessages;
end;
end;
end;
Таким же способом можно сразу задать один текст для всех Edit путем редактирования строки
Код:
(Components[i] as TEdit).Text := 'тут_Ваш_текст';
Noor вне форума Ответить с цитированием
Старый 25.03.2012, 16:12   #4
Mrsqler
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 146
По умолчанию

Это не совсем то,он очищает абсолютно все Edit которые есть на Form1.Дело в том,что у меня на этой форме лежит два групбокса, GroupBox1 и GroupBox2 .
И в каждом из них есть поля Edit.Так вот мне нужно,чтобы очищались поля Edit только в первом гупбоксе GroupBox1,а во втором всё оставалось без изменения.
Mrsqler вне форума Ответить с цитированием
Старый 25.03.2012, 16:33   #5
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Эх, можно бы догадаться заменить
with Form1 do
на
with GroupBox1 do
_SERGEYX_ вне форума Ответить с цитированием
Старый 25.03.2012, 16:59   #6
Mrsqler
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 146
По умолчанию

Заменял,но ничего не происходит,Edit не изменяется.
Код:
begin
For i:= 0 to  GroupBox1.ComponentCount - 1 do
 if  GroupBox1.Components[i] is TEdit then
  ( GroupBox1.Components[i] as TEdit).Text := '';
end;
Mrsqler вне форума Ответить с цитированием
Старый 25.03.2012, 17:32   #7
demigod82
Пользователь
 
Регистрация: 16.01.2012
Сообщений: 35
По умолчанию

В крайнем случае можно прописать все Edit , но это будет не очень хорошо.
demigod82 вне форума Ответить с цитированием
Старый 25.03.2012, 17:47   #8
Mrsqler
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 146
По умолчанию

Да я знаю,поэтому и пришел сюда)
Mrsqler вне форума Ответить с цитированием
Старый 25.03.2012, 18:20   #9
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

А так?
Код:
var i: Integer;
begin
For i:= 0 to  GroupBox1.ControlCount - 1 do
 if  GroupBox1.Controls[i] is TEdit then
  ( GroupBox1.Controls[i] as TEdit).Text := '';
end;
_SERGEYX_ вне форума Ответить с цитированием
Старый 25.03.2012, 19:29   #10
Mrsqler
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 146
По умолчанию

Да,так всё работает)Благодарю.
Mrsqler вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очищение ADOTable nickel-j БД в Delphi 4 15.05.2010 13:50
Как выводить значения отдельных полей таблицы при выборе записи в DBGrid Sinker БД в Delphi 9 25.03.2009 12:28
Очищение книги Волк Microsoft Office Excel 4 26.02.2009 14:00
возможно ли выводить данные из полей типа Edit, ComboBox, ... и отчетах Rave ГОСЕАН БД в Delphi 2 05.03.2008 13:28