Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.06.2011, 12:43
Barsdg Barsdg вне форума
Прохожий
 
Регистрация: 02.06.2011
Сообщения: 24
Репутация: 10
По умолчанию Поиск на заполнение ВСЕХ TEdit'ов

Помогите пожалуйста.
Есть 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;
Все работает, но не верно! т.е. поля не все заполнены а команда ...Enabled:=False выполняется.
Я предпологаю, что у меня не верно: 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;
но результат такой же как и в моем первом варианте, т.е. если заполнится один последний TEdit, а все остальные не заполнены то результат Enabled:=false;

А так: выполняется результат 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;

Помогите пожалуйста, может вообще нужно по другому делать?
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:40.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025