Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lucas Faller

Campo obrigatório para preencher e mensagem de aviso

Recommended Posts

Estou criando um sistema para gerenciar a empresa, queria saber qual código coloco para na hora de inserir um cadastro, colocar um aviso ao clicar inserir aparecer mensagem dizendo que tais campos devem ser preenchidos, e não inserir até que sejam preenchidos, como exemplo (razão social-cnpj-incrição).

Puxei do form DBEdit com seus Data Sources já ligados com a tabela no banco de dados.

 

Aguardo ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Lucas, antes da resposta uma Obs, não use somente letras maiúsculas no titulo do tópico.

 

Vamos lá... você pode declarar a seguinte função:

function TemCampoEmBranco: Boolean;
Var
  Cont : Byte; // Variável que controlará o laçõ em todos os Fields do DataSet
begin
   Result := False; // Supõe que todos os campos estejam preenchidos
   With(DataSourceGrid.DataSet)Do
   Begin
	  For Cont := 0 To FieldCount -1 Do // Faz um laço em todos os Fields a procura de fields que são requeridos e estão
	  Begin							 // em branco(não foi preenchido) e que tenha a tag = 0(zero). Caso encontre, o sistema entrará na rotina abaixo.
										// Todos os fields que são primary key terão sua propriedade requerid como false, pois os mesmos não deverão entrar nesta rotina,
										// já que seus velores são gerados pela rotina "AutoIncrementar()".
			If((Trim(Fields[Cont].AsString) = '')And(Fields[Cont].Required))Then
			Begin
			   MessageBeep(64);
			   MessageDlg(Format('Preencha o campo ''%s''',[Fields[Cont].DisplayLabel]),mtInformation,[mbOk],0);
			   Fields[Cont].FocusControl; // Focaliza o cursor no Fields que não foi preenchido.
			   Result := True; // Informa que existem campos requeridos que não forão preenchidos.
			   Break; // Sai do laço
			   Exit;  // Sai da Rotina
			End;
		 End;
   End;
end;

Está função verifica no DataSet (ClientDataSet, Table, etc) os campos que são "required=True". Para deixar um campo como obrigatório, vá no fieldEditor, adicione todos os campos e selecione um por um. Aqueles que desejar deixar como obrigatórios deixe como Required=True. Altere também o displayLabel dos campos, será este o nome a ser exibido na mensagem de obrigatoriedade.

 

Para usar, faça assim no botão salvar:

procedure TFrmModelo.AcSalvarExecute(Sender: TObject);
begin
  if not (TemCampoEmBranco) then
  SalvarRegistro;//Chama a Procedure para Salvar Registro
end;

 

Bom, isso deve resolver a sua dúvida

 

Att

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.