Uso do IfThen com datas
Pessoal, estou aqui revisando um código antigo e ao mesmo tempo deixando ele mais enxuto.
Podemos trocar o codigo acima por este que tem o mesmo efeito
No meu caso, tenho datas e não achei uma forma de fazer
if edt1.text = EmptyStr then edt1.text := 'Informe valor' else edt1 .Text := 'Valor valido';
Podemos trocar o codigo acima por este que tem o mesmo efeito
edit1.text := IfThen(edt1.text = EmptyStr,'Informe valor','Valor valido');
No meu caso, tenho datas e não achei uma forma de fazer
if DayOfWeek(Date) = 2 then dtpInicio.Date := Date - 2 else dtpInicio.Date := Date;
Renan
Curtidas 0
Respostas
Arthur Heinrich
16/08/2024
Você pode construir a sua própria função.
Ou, se o seu objetivo é identificar o domingo (início da semana), pode calcular diretamente sem o IF.
function ifthen_date( condition : boolean; date1, date2 : tdatetime):tdatetime; begin if condition then Result:=date1 else Result:=date2; end;
Ou, se o seu objetivo é identificar o domingo (início da semana), pode calcular diretamente sem o IF.
dtpInicio.Date := Date - DayOfWeek(Date);
GOSTEI 0
Renan
16/08/2024
Olá, Arthur.
Na verdade eu uso esse código para preencher o DateTimePicker, de acordo com o dia da semana.
No caso acima, se for segunda-feira, vou preencher o DateTimePicker com a data de sexta-feira e se for outro dia da semana, o DateTimePicker recebe a data atual.
Na verdade eu uso esse código para preencher o DateTimePicker, de acordo com o dia da semana.
No caso acima, se for segunda-feira, vou preencher o DateTimePicker com a data de sexta-feira e se for outro dia da semana, o DateTimePicker recebe a data atual.
GOSTEI 0
Natanael Ferreira
16/08/2024
Pessoal, estou aqui revisando um código antigo e ao mesmo tempo deixando ele mais enxuto.
Podemos trocar o codigo acima por este que tem o mesmo efeito
No meu caso, tenho datas e não achei uma forma de fazer
if edt1.text = EmptyStr then edt1.text := 'Informe valor' else edt1 .Text := 'Valor valido';
Podemos trocar o codigo acima por este que tem o mesmo efeito
edit1.text := IfThen(edt1.text = EmptyStr,'Informe valor','Valor valido');
No meu caso, tenho datas e não achei uma forma de fazer
if DayOfWeek(Date) = 2 then dtpInicio.Date := Date - 2 else dtpInicio.Date := Date;
Você pode usar o IfThen também com datas.
Adicione Math na uses.
Teste este código:
dtpInicio.Date := IfThen(DayOfWeek(Date) = 2, Date - 2, Date);
GOSTEI 0
Renan
16/08/2024
Obrigado, Natanael.
GOSTEI 0
Renan
16/08/2024
Natanael, seria possível ativar e desativar itens do MainMenu com o ifThen?
A ideia seria reduzir essas 4 linhas em 1 linha.
tentei assim, mas não funciona
A ideia seria reduzir essas 4 linhas em 1 linha.
if FieldByName('FLUXO_CAIXA').AsString <> 'S' then FrmPrincipal.FluxodeCaixa1.Enabled := False else FrmPrincipal.FluxodeCaixa1.Enabled := True;
tentei assim, mas não funciona
FrmPrincipal.FluxodeCaixa1.Enabled := ifThen(FieldByName('FLUXO_CAIXA').AsString <> 'S', False, True);
GOSTEI 0
Natanael Ferreira
16/08/2024
Nesse caso, você não precisa usar o IfThen.
Teste assim:
Teste assim:
FrmPrincipal.FluxodeCaixa1.Enabled := FieldByName('FLUXO_CAIXA').AsString = 'S';
GOSTEI 0
Renan
16/08/2024
Nesse caso, você não precisa usar o IfThen.
Teste assim:
Teste assim:
FrmPrincipal.FluxodeCaixa1.Enabled := FieldByName('FLUXO_CAIXA').AsString = 'S';
Natanael,
Sim, obrigado pela ajuda. Ficou ótimo.
GOSTEI 0