Fórum ComponentCount para apenas um tipo, é possível? #374336

31/08/2009

0

Saudações, estou me deparando com o seguinte probleminha..possuo uma form que contém um PageControl e este possui dez abas...ao todo todas as abas possuem 576 componentes mas realizo as atualizações de apenas uma aba por vez (as outras ficam desabilitadas até que a atual seja atualizada)...gostaria de saber se era possível realizar um ComponentCount apenas para os componentes do tipo DBcheckBox. Dessa forma que faço o sistema demora um pouco para exibir a tela (a validação destes componentes é realizada no OnShow do Form). Atualmente está assim:
For cont := 0 to ComponentCount - 1 do
     begin
       if Components[cont] is TDBCheckBox then
       begin
         with Components[cont] as TDBCheckBox do
         begin

É possível fazer isso? Agradeço dese já qualquer ajuda...


Zooropa

Zooropa

Responder

Posts

31/08/2009

Andcarpi

vc quer fazer as atualizacoes de somente uma aba, ou vc já faz por esse meio??

Caso vc já esteja fazendo somente da aba, nao sei, acho que este modo que voce apresentou é o mais rapido mesmo.

Outra coisa, eu qnd faco atualizacao de cada aba, eu uso tags, nao sei se melhoraria, mas filtraria bem o numero de atualizacoes eu acho.

Poe tag de cada componente das abas relativas ao index da aba, como componentes da aba 1, tag 1, e assim vai, ai voce faz a atualizacao comparando com o tabindex.

component[cont].tag = tabindex


Responder

Gostei + 0

31/08/2009

Osocram

Tenta fazer assim amigo...
o Panel1 seria as suas tabSheet entendeu?

Dae em vez de pegar os componentes que estão no form vc vai pegar os controles de cada componente na tela.
No seu caso ficaria assim Aba1.ControlCount

procedure TForm1.FormShow(Sender: TObject);
var
  i:integer;
begin
  RichEdit1.Clear;
  for i:=0 to Panel1.ControlCount-1 do begin
    RichEdit1.Lines.Append(Panel1.Controls[i].name);
  end;
end;



Responder

Gostei + 0

01/09/2009

Zooropa

Pessoal,
agradeço pela ajuda. Acredito que a resposta do Osocram seja a mais viável pois realmente os check´s estão em um único panel. Agradeço pela dica da tag mas acho que a leitura do count seria a mesma.
Muito obrigado pelas dicas.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar