Bem vindo ao LifeGames Demo
Cadastre-se agora para ter acesso a todos os nossos recursos. Uma vez cadastrado e logado, você será capaz de criar tópicos, postar respostas a tópicos já existentes, a reputação de seus companheiros, começar seu próprio mensageiro privado, atualizações de status post, gerir o seu perfil e muito mais. Esta mensagem será removida assim que tiver logado.
Entrar Cadastre-se


Você não está conectado. Conecte-se ou registre-se

Erro na tela de cadastro

Ver o tópico anterior Ver o tópico seguinte Ir para baixo  Mensagem [Página 1 de 1]

1Erro na tela de cadastro Empty Erro na tela de cadastro Qui Abr 18, 2013 4:56 pm

Moedas Moedas : 12
Mensagens Mensagens : 8
Humor Humor : ^^
Reputação Reputação : 0
Quebra de regras:
Erro na tela de cadastro Left_bar_bleue0 / 1000 / 100Erro na tela de cadastro Right_bar_bleue

felipe.alima

felipe.alima

Novato

Novato

Pessoal,

é o seguinte:

Tenho uma tela de cadastro que separa a nacionalidade de clientes, exemplo: se o cara for angolano verifica se o documento de angola está preenchido ou não, se não for, valida o CPF, só que quando está marcado angolano, o sistema independente de o campo obrigatório estar preenchido ou não, deixa alterar ou confirmar, abaixo segue o trecho do código do botão de confirmar.

Código:

procedure TFrmCadCliente.BTConfirmarClick(Sender: TObject);
var RetCpf, NomeCliente, erroEmail: string;
    UltimoCodigo: integer;
begin
  RetCpf := SubstituirCaracteres(SubstituirCaracteres(SubstituirCaracteres(DBCpf.Text, '.', '0'), '-', '0'), '/', '0');
  erroEmail := '';
  erroEmail := EmailValido(DBEmail.Text);


  if Trim(DBNome.Text) = '' then
  begin
    Application.MessageBox('O nome do cliente não pode ficar em branco', 'INFORMAÇÃO', MB_ICONINFORMATION + MB_OK);
    PageControl1.ActivePageIndex := 0;
    DBNome.SetFocus;
  end
  else if (trim(DBEmail.Text) <> '') and (erroEmail <> '') then
  begin
    Application.MessageBox(Pchar(erroEmail), 'INFORMAÇÃO', MB_ICONINFORMATION + MB_OK);
    PageControl1.ActivePageIndex := 0;
    DBEmail.SetFocus;
  end
  else if DBDataNascimento.Date > Today then
  begin
    Application.MessageBox('A Data de Nascimento não pode ser maior que a data atual.', 'INFORMAÇÃO', MB_ICONINFORMATION + MB_OK);
    PageControl1.ActivePageIndex := 0;
    DBDataNascimento.SetFocus;
  end


  else if DBDataNascimento.Date > Today then
  begin
    Application.MessageBox('A Data de Nascimento não pode ser maior que a data atual.', 'INFORMAÇÃO', MB_ICONINFORMATION + MB_OK);
    PageControl1.ActivePageIndex := 0;
    DBDataNascimento.SetFocus;
  end;


  if (DBLookupNacionalidade.Text = 'ANGOLANA') or (DBLookupNacionalidade.Text = 'ANGOLANO') or
  (DBLookupNacionalidade.Text = 'ANGOLANO(A)') or (DBLookupNacionalidade.Text = 'ANGOLANA(O)') then
  begin
    if Trim(DBBilheteIdentidade.Text) = '' then
    begin
      Application.MessageBox('O Bilhete de Identidade não pode ficar em branco', 'INFORMAÇÃO', MB_ICONINFORMATION + MB_OK);
      PageControl1.ActivePageIndex := 0;
      DBBilheteIdentidade.SetFocus;
    end
    else  if (DBLookupNacionalidade.Text <> 'ANGOLANA') then
    begin

      if (Trim(DBNatureza.Value) = '') then
      begin
        Application.MessageBox('A natureza do cliente não pode ficar em branco', 'INFORMAÇÃO', MB_ICONINFORMATION + MB_OK);
        PageControl1.ActivePageIndex := 0;
        DBNatureza.SetFocus;
      end
      else if Trim(DBCpf.Text) = '' then
      begin
        Application.MessageBox('O CPF/CNPJ do cliente não pode ficar em branco', 'INFORMAÇÃO', MB_ICONINFORMATION + MB_OK);
        PageControl1.ActivePageIndex := 0;
        DBCpf.SetFocus;
      end;
    end;
  end;


  if ControlePessoa = 'NOVO' then
  begin

    while (QueryLocate.Locate('CODIGO', UltimoCodigo, []) = true) do
    begin
      UltimoCodigo := UltimoCodigo + 1;
    end;

   
    qryClienteIDCLIENTE.AsInteger := RetornaCodigoProximoCliente;

    InserirObservacaoAlerta;
    PessoaDepoisAlterar := qryClienteIDCLIENTE.AsString;
    NomeCliente := DBNome.Text;
    qryClienteTIPOCLIENTE.AsString := '0';
    qryCliente.Post;

    with QuerySelect do
    begin
      Close;
      SQL.Clear;
      SQL.Add('INSERT INTO TBFAC (ID_CLIENTE,CODFAC)  VALUES (:IDCLIENTE,0)');
      ParamByName('IDCLIENTE').AsString := PessoaDepoisAlterar;
      ExecSQL;
    end;

    with QuerySelect do
    begin
      Close;
      SQL.Clear;
      SQL.Add('UPDATE TBFAC SET CODFAC = (SELECT ID_FAC FROM TBFAC WHERE ID_CLIENTE = :IDCLIENTE)  ');
      SQL.Add('WHERE TBFAC.ID_CLIENTE = :IDCLIENTE                                                ');
      ParamByName('IDCLIENTE').AsString := PessoaDepoisAlterar;
      ExecSQL;
    end;

    qryClienteNavigator.Locate('IDCLIENTE', PessoaDepoisAlterar, []);
    AtualizarImovel;
    SelectObsAlerta;
    AtualizarTelas;
    InserirOcorrencia('CLIENTE', 'INSERIR', 'CADASTROU O CLIENTE ' + PessoaDepoisAlterar + ' - ' + NomeCliente + '.');
    Application.MessageBox('Cliente cadastrado com sucesso', 'INFORMAÇÃO', MB_OK + MB_ICONINFORMATION);
    NacionalidadeAngolana;
  end
  else if ControlePessoa = 'ALTERAR' then
  begin
    PessoaDepoisAlterar := qryClienteIDCLIENTE.AsString;
    NomeCliente := DBNome.Text;
    InserirObservacaoAlerta;
    qryCliente.Post;
    qryClienteNavigator.Locate('IDCLIENTE', PessoaDepoisAlterar, []);
    AtualizarImovel;
    SelectObsAlerta;
    AtualizarTelas;
    InserirOcorrencia('CLIENTE', 'ALTERAR', 'ALTEROU O CLIENTE ' + PessoaDepoisAlterar + ' - ' + NomeCliente + '.');
    Application.MessageBox('Cliente alterado com sucesso', 'INFORMAÇÃO', MB_OK + MB_ICONINFORMATION);
    NacionalidadeAngolana;
  end;
end;
Antes de mais nada, valeu pela ajuda pessoal

2Erro na tela de cadastro Empty Re: Erro na tela de cadastro Qui Abr 18, 2013 5:24 pm

Moedas Moedas : 201
Mensagens Mensagens : 92
Humor Humor : *-*
Reputação Reputação : 5
Quebra de regras:
Erro na tela de cadastro Left_bar_bleue0 / 1000 / 100Erro na tela de cadastro Right_bar_bleue

hacker fts315

hacker fts315

Moderador Informática

Moderador Informática

tipo mano teria como postar um printscreen do erro? fica mais facil para indentifica-lo

https://www.facebook.com/hacker.fts315

3Erro na tela de cadastro Empty Re: Erro na tela de cadastro Sex Abr 19, 2013 10:14 am

Moedas Moedas : 12
Mensagens Mensagens : 8
Humor Humor : ^^
Reputação Reputação : 0
Quebra de regras:
Erro na tela de cadastro Left_bar_bleue0 / 1000 / 100Erro na tela de cadastro Right_bar_bleue

felipe.alima

felipe.alima

Novato

Novato

Cara, este é o problema, o sistema não gera erro, simplesmente informa que não foi preenchido o campo, mas mesmo assim insere a informação no banco de dados.

4Erro na tela de cadastro Empty Re: Erro na tela de cadastro Sex Abr 19, 2013 12:31 pm

Moedas Moedas : 278
Mensagens Mensagens : 1177
Idade Idade : 26
Humor Humor : Forever Alone T.T
Reputação Reputação : 28
Quebra de regras:
Erro na tela de cadastro Left_bar_bleue0 / 1000 / 100Erro na tela de cadastro Right_bar_bleue

RodrigoNunes

RodrigoNunes

Admin

Admin

Olá, sempre que for postar um código, utilize o comando [code] pois isso facilita na visualização dos comandos.
Pode tirar um print da mensagem que recebe ao clicar no botão enviar? P
Até +

https://www.facebook.com/DarkGamesBrasil Youtube LinkedIn esqueci

5Erro na tela de cadastro Empty Re: Erro na tela de cadastro Seg Abr 22, 2013 4:16 pm

Moedas Moedas : 12
Mensagens Mensagens : 8
Humor Humor : ^^
Reputação Reputação : 0
Quebra de regras:
Erro na tela de cadastro Left_bar_bleue0 / 1000 / 100Erro na tela de cadastro Right_bar_bleue

felipe.alima

felipe.alima

Novato

Novato

Rodrigo, foi malz, primeira postagem, já aprendi... sim, o erro que você quer que eu print, não é gerado, o sistema simplesmente não considera se o campo está em branco ou não.

6Erro na tela de cadastro Empty Re: Erro na tela de cadastro Ter Abr 23, 2013 6:22 pm

Moedas Moedas : 278
Mensagens Mensagens : 1177
Idade Idade : 26
Humor Humor : Forever Alone T.T
Reputação Reputação : 28
Quebra de regras:
Erro na tela de cadastro Left_bar_bleue0 / 1000 / 100Erro na tela de cadastro Right_bar_bleue

RodrigoNunes

RodrigoNunes

Admin

Admin

Sem problemas ^^
Quanto ao programa, irei te ajudar sábado pois é o único dia da semana que tenho para poder acessar meu pc que está instalado o delphi. Esse aqui não tem e eu nem penso em instalar kkk

https://www.facebook.com/DarkGamesBrasil Youtube LinkedIn esqueci

7Erro na tela de cadastro Empty Re: Erro na tela de cadastro Qua Abr 24, 2013 3:29 pm

Moedas Moedas : 12
Mensagens Mensagens : 8
Humor Humor : ^^
Reputação Reputação : 0
Quebra de regras:
Erro na tela de cadastro Left_bar_bleue0 / 1000 / 100Erro na tela de cadastro Right_bar_bleue

felipe.alima

felipe.alima

Novato

Novato

Pessoal, consegui resolver por aqui... inseri duas vezes a rotina de inserção no banco. Uma no if que verifica o dblookupnacionalidade e outra no else.

Pode não ser a maneira mais perfeita, mas, pelo menos funciona e verifica se os campos estão preenchidos ou não.

8Erro na tela de cadastro Empty Re: Erro na tela de cadastro Qua Abr 24, 2013 6:56 pm

Moedas Moedas : 278
Mensagens Mensagens : 1177
Idade Idade : 26
Humor Humor : Forever Alone T.T
Reputação Reputação : 28
Quebra de regras:
Erro na tela de cadastro Left_bar_bleue0 / 1000 / 100Erro na tela de cadastro Right_bar_bleue

RodrigoNunes

RodrigoNunes

Admin

Admin

kk tudo bem, tópico trancado!

https://www.facebook.com/DarkGamesBrasil Youtube LinkedIn esqueci

Conteúdo patrocinado



Ver o tópico anterior Ver o tópico seguinte Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos