Ir para conteúdo

Arquivado

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

Lucianorw

Consistência de campos

Recommended Posts

Ola,

Andando pela web, achei a rotina abaixo, que serve para testar se

determinado campo Requerid esta nulo, so que nao sei como usar

funções no delphi, ou seja, onde eu chamo a função abaixo, e tambem

gostaria de saber esta é a melhor forma para fazer consistência de

campos.

Grato

Luciano

D7

IB

Datamodule : SQLConnection, SimpleDataSet e DataSource

Formulario : TDBEdit

// FUNCAO PARA TESTAR CAMPOSfunction CampoObrigatorio(DataSet : TDataSet): Boolean;vari : integer;beginresult := true;with dados.sdsbanco dofor i := 0 to dados.sdsbanco.FieldCount -1 doif ((fields[i].required) and (not fields[i].IsBlob)) thenif fields[i].value = '' thenbeginshowmessage('O campo '+fields[i].displayname+' éobrigatório.');result := false;fields[i].FocusControl;exit;end;end;//
Obs.:Tem como fazer a validacao direto no datamodule, para nao ter q ficar copiando o codigo para todos forms?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando um campo requerido não é preenchido, ao tentar gravar, é gerado uma exceção (erro) . Por que não trata essa exceção ? Fica muito mais fácil .....[]´sAlphaBlend

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando um campo requerido não é preenchido, ao tentar gravar, é gerado uma exceção (erro) . Por que não trata essa exceção ? Fica muito mais fácil .....[]´sAlphaBlend

Ola,Grato pela atenção.O problema é q estou iniciando agora em delphi, ainda nao sei como tratar erros.Se puder dar mais uma dica referente ao assunto...GratoLuciano

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola,

Este codigo funciona perfeitamente em VBA (Access), como passo ele para o delphi?

Function Critica(Cancel As Integer, frm As Form)Dim ctl As ControlFor Each ctl In frm.ControlsIf ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Then    If ctl.Tag = "1" Then        If IsNull(ctl) = True Then            Beep            MsgBox "O campo " & ctl.Controls(0).Caption & " não pode conter valor nulo!", vbInformation            Cancel = -1            DoCmd.GoToControl ctl.Name            Exit For        End If    ElseIf ctl.Tag = "2" Then        If IsNull(ctl) = True Then            Beep            MsgBox "O campo " & ctl.Controls(0).Caption & " está nulo!", vbInformation        End If    End IfEnd IfNext ctlEnd Function
A logica é o seguinte:

No evento antes de atualizar do form coloco o código, ele faz um loop por todos os campos do form, e verifica as tag, se alguma obedecer a regra, ou bloqueia o lancamento até q seja informado os valores no campo ou apenas avisa, permitindo o lancamento.

Alguma ideia de como fazer esta "conversão".

Grato

Luciano

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.