Ir al contenido


Foto

fechas con datetimepicker


  • Por favor identifícate para responder
2 respuestas en este tema

#1 FELIX

FELIX

    Advanced Member

  • Miembros
  • PipPipPip
  • 123 mensajes

Escrito 27 abril 2012 - 04:51

Hola a todos. EStoy realizando un calculo automático donde al escoger una fecha en un datatimepicker, me muestre en un dbedit el resultado de mi calculo.
a mis dias debo sumarle 7, a los meses restar 3 y al año sumarle 1 . Tengo este codigo pero no me sirve



delphi
  1.   DateTimePicker3.Date:=IncDay(DateTimePicker3.Date,7);
  2.   DateTimePicker3.Date:= IncMonth(DateTimePicker3.Date,-3);
  3.   DateTimePicker3.Date:=IncYear(DateTimePicker3.Date,1);
  4.   DBEdit80.Text:= DateToStr(DateTimePicker3.Date);

 

Tengo este otro pero si el dia es 25 o mayor el resultado va a hacer 32 y deberia ser 1



delphi
  1. mes := StrToInt(formatdatetime('mm',DateTimePicker3.Date));
  2. dia:= StrToInt(formatdatetime('dd',DateTimePicker3.Date));
  3. ano:= StrToInt(formatdatetime('yyyy',DateTimePicker3.Date));
  4.  
  5. Dia1:=dia + 7;
  6. mes1:=mes+9;
  7. ano1:= ano;
  8. total:= IntToStr(dia1)+ '/'+IntToStr(mes1)+ '/'+IntToStr(ano1);
  9. DBEdit80.Text:= intToStr(total);



Me podrian dar alguna ayuda o alguna luz

  • 0

#2 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.111 mensajes
  • LocationMadrid - España

Escrito 27 abril 2012 - 06:35

¿Algo así?



delphi
  1. var
  2.   D, M, Y: WORD;
  3. begin
  4.   DecodeDate(DateTimePicker1.Date, Y, M, D);
  5.   D:= (D+7) mod 31;
  6.   M:= (M+9) mod 12;
  7.   inc(Y, 1);
  8.   DateTimePicker1.Date:= EncodeDate(Y, M, D);
  9. end;




Saludos.
  • 0

#3 FELIX

FELIX

    Advanced Member

  • Miembros
  • PipPipPip
  • 123 mensajes

Escrito 30 abril 2012 - 07:39

funciono perfecto, gracias por tu ayuda Escafandra  :cheesy:
  • 0




IP.Board spam blocked by CleanTalk.