Fórum Delphi Erro de if/vetor. #595226
02/07/2018
0
Estou com problemas no validar os campos, a função "ValidarCampos" vai validar se as caixinhas estão vazias, porém logo abaixo
Tem "lachou := AchouCodigoVetor;" e o problema que ao invés de aparecer apenas o erro do "ValidarCampos" aparece também o erro " ERRO! Já existe um aluno cadastrado com esse código" junto.
if ValidarCampos then
begin
showmessage('ERRO! Preencha todos os campos!')
end else
lachou := AchouCodigoVetor;
if lachou then
begin
showmessage('ERRO! Já existe um aluno cadastrado com esse código')
end
else
begin
i := 1;
lachou := false;
while (i<=30) do
begin
if (vetaluno[i].nome = '') then
begin
lachou := true;
break;
end;
i := i+1;
end;
if lachou then
begin
//Adiciona no vetor
vetaluno[i].codigo := strtoint(codigo.Text);
vetaluno[i].nome := nome.Text;
vetaluno[i].cpf := cpf.Text;
vetaluno[i].email := email.Text;
vetaluno[i].celular := celular.Text;
vetaluno[i].idade := strtoint(idade.Text);
listar.Click;
end;
end;
end;
Tem "lachou := AchouCodigoVetor;" e o problema que ao invés de aparecer apenas o erro do "ValidarCampos" aparece também o erro " ERRO! Já existe um aluno cadastrado com esse código" junto.
if ValidarCampos then
begin
showmessage('ERRO! Preencha todos os campos!')
end else
lachou := AchouCodigoVetor;
if lachou then
begin
showmessage('ERRO! Já existe um aluno cadastrado com esse código')
end
else
begin
i := 1;
lachou := false;
while (i<=30) do
begin
if (vetaluno[i].nome = '') then
begin
lachou := true;
break;
end;
i := i+1;
end;
if lachou then
begin
//Adiciona no vetor
vetaluno[i].codigo := strtoint(codigo.Text);
vetaluno[i].nome := nome.Text;
vetaluno[i].cpf := cpf.Text;
vetaluno[i].email := email.Text;
vetaluno[i].celular := celular.Text;
vetaluno[i].idade := strtoint(idade.Text);
listar.Click;
end;
end;
end;
Gabriel
Curtir tópico
+ 0
Responder
Post mais votado
02/07/2018
não avaliei as condições utilizadas, mas acredito que o problema esteja nos aninhamentos if/begin. Tente assim:
if ValidarCampos then
showmessage('ERRO! Preencha todos os campos!')
else
begin
lachou := AchouCodigoVetor;
if lachou then
showmessage('ERRO! Já existe um aluno cadastrado com esse código')
else
begin
i := 1;
lachou := false;
for i := 1 to 30 do
begin
lachou := (vetaluno[i].nome = '')
if lachou then
break;
end;
if lachou then
begin
//Adiciona no vetor
vetaluno[i].codigo := strtoint(codigo.Text);
vetaluno[i].nome := nome.Text;
vetaluno[i].cpf := cpf.Text;
vetaluno[i].email := email.Text;
vetaluno[i].celular := celular.Text;
vetaluno[i].idade := strtoint(idade.Text);
listar.Click;
end;
end;
end;Emerson Nascimento
Responder
Gostei + 1
Clique aqui para fazer login e interagir na Comunidade :)