Fórum Rotina para configurar a propriedade tag #5817

20/05/2009

0

Ola Pessoal   criei uma rotina para nao ter ficar escrevendo codigo em todos os formularios do projeto mais nao ta funcionando   essa rotina simplesmete verifica o tag       type
 tservicos =class(tform)
 class procedure TServicos.tag(xform: TForm);
end ;   -- na implementacao da classe class procedure TServicos.tag(xform: TForm);
var
  I, Y: integer;
  S: string; begin
  for y := 0 to ComponentCount - 1 do
  begin
    if (Components[y] is TComboBox) then
      if Components[y].Tag = 1 then
        if TComboBox(Components[y]).Text = EmptyStr then
        begin
          S := S + TComboBox(Components[y]).ImeName + #13;
        end;   end;
  for I := 0 to ComponentCount - 1 do
  begin
    if (Components[i] is TEdit) then
      if Components[i].Tag = 1 then
        if TEdit(Components[i]).Text = EmptyStr then
        begin
          S := S + TEdit(Components[i]).ImeName + #13;         end;
  end;   if S <> EmptyStr then
  begin
    raise
      Exception.Create('Informe:'
      +
      #13 + S);
  end;     tambem usei o refectore para adicionar as units da tcombobox e tedits mais nao sei pq nao funcionou  
Carlos Faria

Carlos Faria

Responder

Posts

20/05/2009

Carlos Faria

vamos la esqueci de comentar eu acho que esta tudo certo porem da o seguinte erro     propriedade componentcount inacessivel daqui ?
Responder

Gostei + 0

20/05/2009

Rodrigo Mourão

Segue a rotina correta. Voce esqueceu de colcar o parametro do form antes do componentcount. Esta em vermelho.

class procedure TServicos.tag(xform: TForm);
var
  I, Y: integer;
  S: string; begin
  for y := 0 to xform.ComponentCount - 1 do
  begin
    if (xform.Components[y] is TComboBox) then
      if xform.Components[y].Tag = 1 then
        if TComboBox(xform.Components[y]).Text = EmptyStr then
        begin
          S := S + TComboBox(xform.Components[y]).ImeName + #13;
        end;   end;
  for I := 0 to xform.ComponentCount - 1 do
  begin
    if (xform.Components[i] is TEdit) then
      if xform.Components[i].Tag = 1 then
        if TEdit(xform.Components[i]).Text = EmptyStr then
        begin
          S := S + TEdit(xform.Components[i]).ImeName + #13;         end;
  end;   if S <> EmptyStr then
  begin
    raise
      Exception.Create('Informe:'
      +
      #13 + S);
  end;     tambem usei o refectore para adicionar as units da tcombobox e tedits mais nao sei pq nao funcionou  
Responder

Gostei + 0

20/05/2009

Carlos Faria

ola deu tudo certo la do botao incluir do formulario tal como que eu faço para chamar a rotina antes do insert    
Responder

Gostei + 0

20/05/2009

Rodrigo Mourão

No seu formulario vc deve ter algum botão de Inserir ou entao Salvar. No evento onclick dele coloque o seguinte evento:

Tservico.Tag(self);

Simples assim !!!

Abs !!!
Responder

Gostei + 0

20/05/2009

Carlos Faria

certo aqui vc pode dar um ok no chamado
Responder

Gostei + 0

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

Aceitar