![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Помогите пожалуйста.
Есть TPageControl, на нем динамически созданы вкладки (количество может быть разное), на вкладках панели, на них TEdit Также, на форме динамически создаются TButton равное по количеству созданных вкладок. Цель такова: При заполнении всех существующих TEdit'ов в активной вкладке соответствующий TButton становится Enabled:=False Вот что сделал я: Код:
procedure Tform2.EditChangeButton(Sender: TObject); var w,i,q: integer; begin w:=StrToInt(Edit3.text);// кол. компонентов на вкладке i:=StrToInt(Edit1.text);// № Вкладки TTabSheet for q:=1 to w do if TEdit(TPanel(Tab1.FindComponent('Pa nel_Tabl'+IntToStr(i+1))).FindCompo nent('Date'+IntToStr(q))).Text<>'' then TButton(Form2.FindComponent('List'+ IntToStr(i+1))).Enabled:=False Else TButton(Form2.FindComponent('List'+ IntToStr(i+1))).Enabled:=True; end; Я предпологаю, что у меня не верно: for q:=1 to w do ... Еще делал и так: Код:
procedure Tform2.EditChangeButton(Sender: TObject); var w,q,i : Integer; Date: TPanel; ok: Boolean; begin w:=StrToInt(Edit3.text); i:=StrToInt(Edit1.text); Date:=(sender as TEdit).parent as TPanel; ok:=true; for q:=0 to Date.controlcount-1 do begin if Date.controls[q] is TEdit and ((Date.controls[q] as TEdit).Text<>'') then begin ok:=false else ok:=true; end; TButton(Form2.FindComponent('List'+IntToStr(i+1))).Enabled:=ok; end; А так: выполняется результат Enabled:=false при заполнении любого TEdit'a, опять же остальные не заполнены Код:
... for q:=1 to Date.controlcount-1 do begin if Date.controls[q] is TEdit and ((Date.controls[q] as TEdit).Text<>'') then ok:=false; end; TButton(Form2.FindComponent('List'+IntToStr(i+1))).Enabled:=ok; end; Помогите пожалуйста, может вообще нужно по другому делать? |