Fórum Data (15 ou 30) #291926

16/08/2005

0

Pessoal, eu tenho um formulario com um DateTimePicker e MaskEdit com formato de Data ´ / / ´, quando o usuario selecionar uma data no DateTimePicker que igual ou antes do dia 15/08/2005, o MaskEdit ira mostrar a data 30/08/2005, agora se o usuario selecionar uma data depois do 15/08/2005,(Ex: 20/08/2005) o MaskEdit irá mostrar 15/09/2005, isso será padrão, o MaskEdit terá que mostrar 15 ou 30 dentros respectivos mesês.

Obrigado


Leandrosl

Leandrosl

Responder

Posts

16/08/2005

Rjun

Fiz algo meio sem testar. Provavelmente você tera que adicionar um controle pra fevereiro.

var
  Dia, Mes, Ano: word;
  DataFutura: TDateTime;
begin
  Dia := DayOf(DateTimePicker.Date);
  Mes := MonthOf(DateTimePicker.Date);
  Ano := YearOf(DateTimePicker.Date);

  if Dia <= 15 then
    Dia := 30;
  end
  else
  begin
    Dia := 15;

    if Mes = 12 then
    begin
      Mes := 1;
      Ano := Ano + 1;
    end
    else
      Mes := Mes + 1;
  end;

  DataFutura := EncodeDate(Ano, Mes, Dia);
  MaskEdit1.Text := DateToStr(DataFutura);
end;



Responder

Gostei + 0

16/08/2005

Leandrosl

Rjun eu testei e é issi mesmo que eu quero, mais só que é o seguinte, se a data for igual a 15( Ex:15/08/2005), então o MaskEdit vai mostrar (Ex:30/08/2005), e no seu codigo ele está colocando (Ex:30/09/2005)

Obrigado


Responder

Gostei + 0

16/08/2005

Rjun

Você tem certeza que digitou o código corretamente. Veja no código que ele so executa alguma mudança no mes se o dia for superior a 15.


Responder

Gostei + 0

16/08/2005

Leandrosl

Rjun eu vo testar com mais calma e posto o resultado aqui, mais mesmo assim muito obrigado

Falou !!!!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar