Erro no meu código para habilitar botão

21/08/2008

1

O código abaixo:
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.


Responder

Posts

21/08/2008

Paulo

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á.


Responder

21/08/2008

Marco Banaggia

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?


Responder

21/08/2008

Paulo

Nem percebi isso. Valeu pela OBS.


Responder

21/08/2008

Paulo

Fiz assim e funcionou:
btnProcessar.Enabled := (edtIni.Text <> ´ / / ´)and(edtFim.Text <> ´ / / ´);



Responder

21/08/2008

Marco Banaggia

Fiz assim e funcionou: [quote:b25e678616]btnProcessar.Enabled := (edtIni.Text <> ´ / / ´)and(edtFim.Text <> ´ / / ´);
[/quote:b25e678616]

Beleza...


Responder