Очистить несколько edit полей по нажатию кнопки
В общем есть форма(From1) на ней лежит PageControl,на самой первой странице лежит GroupBox1,а на самом GroupBox1 лежат 9 полей Edit.Нужно чтобы по нажатию на кнопку(которая тоже лежит в GroupBox1) очищались все Edit поля лежащие в GroupBox1.
_SERGEYX_
var i: Integer;
begin
For i:= 0 to GroupBox1.ControlCount - 1 do
if GroupBox1.Controls is TEdit then
( GroupBox1.Controls as TEdit).Text := '';
end;
Похожие статьи
- Очистить все edit’ы на форме
- Прозрачный Edit (Делфи)
- Добавить строку с верха вниз StringGrid
- Скопировать данные из Edit в Word
- Среднеарифметическое значение из Edit
- Как сделать что бы в Edit был прозрачный текст который при введение в Editисчез
- Если ввести значение в edit, и нажать Enter, то система воспроизводит звук, как от него избавиться?
- Получить числовое значение из edit
- Соединить 2 edit линией
- Как при нажатии на button создавать новый edit
Купить рекламу на сайте за 1000 руб
пишите сюда — alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
- Форум Web программирование (веб)
-
- Форум Python (питон)
- Форум PHP (пхп)
- Форум Perl (перл)
- Форум Ruby (руби)
- Форум JavaScript (яваскрипт)
- Форум Ajax (аякс)
- Форум SQL (эскюэл)
- Форум HTML (хтмл)
- Форум CSS (сиэсэс)
- Форум XML (иксмл)
- Форум JSON (джсон)
- Форум Pascal (паскаль)
- Форум Delphi (делфи)
- Форум C++ (си плюс плюс)
-
- Форум C++ Builder (си билдер)
- Форум Visual C++ (визуал си)
- Форум .NET (точка нет)
- Форум ASP.NET (асп нет)
- Форум Windows Forms (виндовс формс)
- Форум базы данных ADO.NET (адо нет)
- Форум .NET Framework WPF, UWP, WinRT, XAML ()
- Форум Java Android (джава андроид)
- Форум Java web (джава веб)
- Форум Kotlin (котлин)
- Форум Assembler (ассемблер)
- Форум WinApi (вин апи)
- Форум Excel (эксель)
- Форум Word (ворд)
- Форум Access (аксесс)
- Форум по администрированию ОС
- Форум по администрированию серверов и VDS
- Форум Windows
- Форум Ubuntu
- Форум Android
Очистить все edit’ы на форме
Мне нужно, чтобы если я закрыл форму на крестик, форма подгружалась чистой. Всё дело в том что на второй форме куча элементов, поработав с ними, пользователь закрывает форму, но если он её опять откроет, то форма должна быть полностью первоначальной.
Алексей_2012
var i:integer
begin
for i := 0 to ComponentCount - 1 do
begin
if (Components is TEdit) then
begin
(Components as TEdit).Clear;end;
end;
end;Похожие статьи
- На форме есть 10 Edit’ов и необходимо сравнить их значения
- Очистить несколько edit полей по нажатию кнопки
- Массив чекбоксов, как в PHP узнать, какой из чекбоксов выбран?
- Прозрачный Edit (Делфи)
- Как передать значение из в action формы
- Добавить строку с верха вниз StringGrid
- Скопировать данные из Edit в Word
- Запретить выход курсора за API форму
- Среднеарифметическое значение из Edit
- Как создать дочернее окно при нажатии на кнопку?
Купить рекламу на сайте за 1000 руб
пишите сюда — alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту- Форум Web программирование (веб)
-
- Форум Python (питон)
- Форум PHP (пхп)
- Форум Perl (перл)
- Форум Ruby (руби)
- Форум JavaScript (яваскрипт)
- Форум Ajax (аякс)
- Форум SQL (эскюэл)
- Форум HTML (хтмл)
- Форум CSS (сиэсэс)
- Форум XML (иксмл)
- Форум JSON (джсон)
- Форум Pascal (паскаль)
- Форум Delphi (делфи)
- Форум C++ (си плюс плюс)
-
- Форум C++ Builder (си билдер)
- Форум Visual C++ (визуал си)
- Форум .NET (точка нет)
- Форум ASP.NET (асп нет)
- Форум Windows Forms (виндовс формс)
- Форум базы данных ADO.NET (адо нет)
- Форум .NET Framework WPF, UWP, WinRT, XAML ()
- Форум Java Android (джава андроид)
- Форум Java web (джава веб)
- Форум Kotlin (котлин)
- Форум Assembler (ассемблер)
- Форум WinApi (вин апи)
- Форум Excel (эксель)
- Форум Word (ворд)
- Форум Access (аксесс)
- Форум по администрированию ОС
- Форум по администрированию серверов и VDS
- Форум Windows
- Форум Ubuntu
- Форум Android
Как очистить edit в delphi
procedure TForm1.Button1Click(Sender: TObject); var i: integer; begin for i := 0 to ComponentCount - 1 do if (Components[i] is TEdit) and ((Components[i] as TEdit).Parent = Panel1) then (Components[i] as TEdit).Clear; end;Все тривиальное просто
Пользователь
Регистрация: 21.09.2012
Сообщений: 35
Хе-хе, точно! Спасибо!
Регистрация: 09.01.2008
Сообщений: 26,238
а если мне надо очистить выборочно как вариант, у компонента TEdit есть свойство tag (челочисленное). Можно присвоить определённое значение тем Edit’ам на форме, которые надо почистить.
например, пусть мы в дизайнере в поле tag нужным полям занесли tag = 222
тогда:procedure TForm1.Button1Click(Sender: TObject); var i: integer; begin for i := 0 to ComponentCount - 1 do if (Components[i] is TEdit) and ((Components[i] as TEdit).tag = 222) then (Components[i] as TEdit).Clear; end;p.s. конечно, вариант с панелью ничем не лучше и не хуже, использование поля tag просто другой способ решить ту же задачу.
Serge_Bliznykov Посмотреть профиль Найти ещё сообщения от Serge_Bliznykov Регистрация: 06.08.2007
Сообщений: 2,239
Ну я это написал и пользуюсь:
function IsList(Name_ :string; List_ :array of string):Boolean; var I,II :LongInt; Buf0 :string; begin Result := False; if Length(List_) 0 then begin for I := 0 to II - 1 do begin Buf := Com0.Components[I].Name; if IsList(Buf, ListName) then begin Com1 := Com0.Components[I]; try TControl(Com1).Enabled := Enabl; except end; end; end; end; end; //Использование: EnabDisabComponent(Form1, ['sLabel12', 'Edit1', 'sLabel13', 'Edit2', 'sLabel14', 'Edit3', 'sLabel15', 'Edit4', 'ChBox3'], ChBox1.Checked);Переделано специально для очистки, если не охото менять код сверху
var Form1: TForm1; function IsList(Name_ :string; List_ :array of string):Boolean; procedure SetEdtTxtCtrl(StartComponent :TComponent; ListName :array of string; Txt :string = ''); implementation function IsList(Name_ :string; List_ :array of string):Boolean; var I,II :LongInt; Buf0 :string; begin Result := False; if Length(List_) 0 then begin for I := 0 to II - 1 do begin Buf := Com0.Components[I].Name; if IsList(Buf, ListName) then begin Com1 := Com0.Components[I]; if (Com1 is TEdit) then try TEdit(Com1).Text := Txt; except end; end; end; end; end; procedure TForm1.Button1Click(Sender: TObject); begin SetEdtTxtCtrl(Form1, ['Edit1', 'Edit2', 'Edit3', 'Edit4', 'Edit5', 'Edit6', 'Edit7', 'Edit8', 'Edit9', 'Edit10', 'Edit11', 'Edit12', 'Edit13', 'Edit14', 'Edit15', 'Edit16', 'Edit17', 'Edit18', 'Edit19', 'Edit20'], ''); end;Последний раз редактировалось Alter; 27.09.2012 в 19:13 .
Как очистить edit в delphi
← →
Zhenka ( 2003-02-16 11:53 ) [0]Или Присвоить хинтам всех Кнопок их Кэпшены.
Спасибо.← →
Cr@sh ( 2003-02-16 11:56 ) [1]если у всех эдитов имена типа edit1, edit2 и тд.
Тогда
for i:=1 to 10 do
(form1.findcomponent(«edit»+inttostr(i)) as TEdit).text:=»»;← →
Cr@sh ( 2003-02-16 11:58 ) [2]2)
for i:=1 to 10 do
(form1.findcomponent(«button»+inttostr(i)) as TButton).hint:=(form1.findcomponent(«button»+inttostr(i)) as TButton).caption;← →
Zhenka ( 2003-02-16 12:00 ) [3]Спасибл за совет
← →
Anatoly Podgoretsky ( 2003-02-16 12:07 ) [4]Оформить отдельным методом, потребуется два
ClearAllEdits
SetAllButtonsHintsvar
i: integer;
begin
for i:=0 to Form1.ComponentCount-1 do
if Form1.Components[i].ClassType=TEdit then (Form1.Components[i] as TEdit).Text:=»»;А так не легче .
← →
Shadow ( 2003-02-16 12:09 ) [6]И соответственно:
var
i: integer;
begin
for i:=0 to Form1.ComponentCount-1 do
if Form1.Components[i].ClassType=TButton then (Form1.Components[i] as TButton).Hint:=(Form1.Components[i] as TButton).Caption;← →
Zhenka ( 2003-02-16 12:10 ) [7]`Спасибо всем за всё. :ъ)
← →
drpass ( 2003-02-16 12:11 ) [8]Если у всех эдитов имена любые, то
for i:=0 to ComponentCount-1 do
if Components[i] is TEdit then TEdit(Components[i]).Text:=»»;
← →
Юрий Зотов ( 2003-02-16 12:11 ) [9]for i := 0 to ComponentCount — 1 do
if Сomponents[i] is TEdit then
TEdit(Сomponents[i]).Text := «»
else
if Сomponents[i] is TButton then
with TButton(Сomponents[i]) do Hint := Caption;Это вариант намного быстрее и не зависит от имен компонентов и их количества.
← →
Shadow ( 2003-02-16 12:11 ) [10]2Zhenka
Не за что← →
drpass ( 2003-02-16 12:12 ) [11]Ну, кто еще чего посоветует 🙂
← →
Zhenka ( 2003-02-16 12:18 ) [12]2drPass
Ага не думал, что так много способов реализации
← →
Shadow ( 2003-02-16 12:22 ) [13]2Юрий Зотов
Почти тоже, что и я предложил← →
Anatoly Podgoretsky ( 2003-02-16 12:29 ) [14]Эффективнее использовать метод Clear для TEdit и эстетичнее.
Юрий Зотов © (16.02.03 12:11)
Очистка может использоваться многократно и независимо от установки хинта, с этой точки зрения лучше разделить эти операции по отдельным методам.
Может еще потребоваться очистка и других компонент, тогда будет легко создать обобщенный метод из которого удобно вызывать специализированные.
В моей практике это часто встречается. По самому коду конечно нет возражений.← →
Anatoly Podgoretsky ( 2003-02-16 12:31 ) [15]Разве что еще в некоторых случаях лучше использовать Controls
← →
Shadow ( 2003-02-16 12:31 ) [16]2Anatoly Podgoretsky
Мы ж не телепаты. На конкретный вопрос — конкретный ответ.← →
Юрий Зотов ( 2003-02-16 12:36 ) [17]> Shadow © (16.02.03 12:22)
Замечание относилось к двум первым ответам — когда я писал, других еще не было.
По Вашему варианту тоже есть 2 замечания.
1. Он сработает только для TButton и не сработает для потомков. Нужно использовать IS или InheritsFrom, а не прямое сравнение.
2. Если класс уже проверен, то зачем еще AS (к тому же, в двух местах)? Надо использовать прямое приведение типа, такой код будет быстрее и компактнее.
← →
Zhenka ( 2003-02-16 12:38 ) [18]дА сКОЛЬКО МНОГО НЬЮАНСОВ
← →
Shadow ( 2003-02-16 12:42 ) [19]2Юрий Зотов
Вы эстет. Вы правы. Ну писал на скорую руку даже без проверки. Но в вопросе четко указано: Кнопок. Мы ж не телепаты.← →
Anatoly Podgoretsky ( 2003-02-16 12:44 ) [20]А насчет нюансос, вот два примера
with TButton.Create(Form1) do begin
Parent := Form1;
.
end;with TButton.Create(Application) do begin
Parent := Form1;
.
end;На досуге разобраться, что даст правильный результат Components или Controls
← →
Юрий Зотов ( 2003-02-16 12:45 ) [21]> Shadow © (16.02.03 12:42)
TBitBtn — тоже кнопка.
← →
Shadow ( 2003-02-16 13:45 ) [22]2Юрий Зотов
Нет. Она называется — кнопка с картинкой(may be).← →
MsGuns ( 2003-02-16 14:35 ) [23]ИМХО, для достаточно «нагруженной» формы или для MDI-форм метод «повальной» модификации свойств однотипных контролов неудобен. Рекомендую использовать спец.процы типа SetStatusControls(opt: boolean), в которых просто перечисляются операторы присвоения ссотв.свойств нужным контролам, например, кнопкам, экшинам, и т.д. Лучше потому что:
1. Все делается «зряче»
2. Вполне читабелен алгоритм, что позволяет без особого труда контролировать отладку и вности изменения.
3. Просто правильнее с точки зрения семантики программы.← →
Юрий Зотов ( 2003-02-16 14:47 ) [24]> Shadow © (16.02.03 13:45)
Как она называется — неважно. Важно вот что:
TBitBtn = class(TButton).И этим все сказано.