Erro no meu código para habilitar botão
O código abaixo:
btnProcessar só pode estar habilitado, se as datas forem preenchidas corretamente. Acontece que nos meus testes aqui, eu preencho a data Final e deixo a inicial em branco e dou enter ou tab. Dá a mensagem referida a data inicial em branco, mas habilita o botão. O que está errado? Nem testei outras situações.
btnProcessar.Enabled := ((edtIni.Text <> ´ / / ´)and(edtFim.Text <> ´ / / ´))or
(dtFim > dtIni) or ((edtIni.Text = ´ / / ´)and(edtFim.Text <> ´ / / ´))or
((edtIni.Text <> ´ / / ´)and(edtFim.Text = ´ / / ´));
btnProcessar só pode estar habilitado, se as datas forem preenchidas corretamente. Acontece que nos meus testes aqui, eu preencho a data Final e deixo a inicial em branco e dou enter ou tab. Dá a mensagem referida a data inicial em branco, mas habilita o botão. O que está errado? Nem testei outras situações.
Paulo
Curtidas 0
Respostas
Paulo
21/08/2008
O erro está aqui: dtFim > dtIni, ou seja, essas variáveis são DateTime e se eu preencho a data final, mesmo que eu limpe depois, a variável já foi carregada e então a condição passa a ser verdadeira e habilita o botão. Verei como resolver isso e posto já.
GOSTEI 0
Marco Banaggia
21/08/2008
btnProcessar.Enabled := ((edtIni.Text <> ´ / / ´)and(edtFim.Text <> ´ / / ´))or
(dtFim > dtIni) or ((edtIni.Text = ´ / / ´)and(edtFim.Text <> ´ / / ´))
or
[color=red:b58463e8cf]((edtIni.Text <> ´ / / ´)and(edtFim.Text = ´ / / ´))[/color:b58463e8cf];
Aqui voce esta falando que vai habilitar se tiver vazio tb, e isso?
(dtFim > dtIni) or ((edtIni.Text = ´ / / ´)and(edtFim.Text <> ´ / / ´))
or
[color=red:b58463e8cf]((edtIni.Text <> ´ / / ´)and(edtFim.Text = ´ / / ´))[/color:b58463e8cf];
Aqui voce esta falando que vai habilitar se tiver vazio tb, e isso?
GOSTEI 0
Paulo
21/08/2008
Nem percebi isso. Valeu pela OBS.
GOSTEI 0
Paulo
21/08/2008
Fiz assim e funcionou:
btnProcessar.Enabled := (edtIni.Text <> ´ / / ´)and(edtFim.Text <> ´ / / ´);
GOSTEI 0
Marco Banaggia
21/08/2008
Fiz assim e funcionou:
[quote:b25e678616]btnProcessar.Enabled := (edtIni.Text <> ´ / / ´)and(edtFim.Text <> ´ / / ´);
[/quote:b25e678616]Beleza...
GOSTEI 0