FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Sumar Dias a un fecha en Delphi 5
Hola, quiero sumarle a una fecha una cantidad de dias, en delphi 5, no esta la DateUtils asi que no se puede con IncDay.
Creo que es por el lado de Decodedate y Encodedate, si alguien tiene un ejemplo de como se ahce le agradeceria, la cantidad de dias a sumar la tengo en una variable, puede ser string o integer, pero lo que quiero es que sume pero valide que si pasa del mes le sume otro al mes, la verdad lo logre hacer pero cuando sumo mas dias del mes me sale Invalid Argument to date encode. el codigo lo tengo asi: procedure TFrmFacturaVenta.cxDBLPlazoPropertiesChange(Sender: TObject); var str,CodPl:String; //codpl para ubicar el plazo Ano,Mes,Dia:Word; fecfac,fecfacr:TDate; begin CodPl:=cxDBLPlazo.DataBinding.DataSource.DataSet.fieldbyname('FVCODPLAZO').AsString; str:='SELECT PL.plcantidad FROM tblplazo PL WHERE PL.plid ='+ codpl; DmGlobal.IBQy1.Close; DmGlobal.IBQy1.SQL.Text:=str; DmGlobal.IBQy1.Open; str:= DmGlobal.IBQy1.Fields[0].AsString; //Aqui asigno la cantidad de dias de plazo fecfac:=cxDateFechaFactura.Date; DecodeDate(fecfac,Ano,Mes,Dia); //decodifica la fecha Dia:=Dia + StrToInt(str); //le suma la cantidad de dias a la variable dia fecfacr:=EncodeDate(Ano,Mes,Dia); //recodifica la fecha cxDateFechaVence.date:=fecfacr; //la asigna al control dateedit end; De antemano muchas gracias si conocen otra manera de hacerlo. |
#2
|
|||
|
|||
perdon por poner depronto preguntas tan tontas, pero de verdad no sabia como, leyendo y leyendo me encontre con la solucion y es asi:
cxDateFechaVence.date := cxDateFechaFactura.date + StrToInt(str); Donde StrToInt(str) es la cantidad de dias a sumar sino que lo convierto en un integer para que lo deje sumar. tal ves esto le sirva a otra persona que como yo hasta ahora se este iniciando en Delphi. |
#3
|
||||
|
||||
en delphi 5 no se llama DateUtils, se llama DateUtil.
Saludos.
__________________
|
#4
|
|||
|
|||
Handling Dates and Time in Delphi
Gracias!
Como siempre, los lectores deben hacer lo que hizo Micheus e inmediatamente se refieren a la documentación de Delphi. Incluso si, como él, ya sabe bastante sobre el manejo de fechas en Delphi. Hay un montón de cosas útiles allí. Además, la unidad (s) que usted necesita para poner en su cláusula uses variar entre las versiones de Delphi. La unidad DateUtils se introdujo en Delphi 6. FPC utiliza DateUtils también. Para Delphi 5 y anteriores de todas las cosas es la fecha en la unidad del sistema. Por cierto, Micheus, gracias por esa función ingenioso! Que el error de punto flotante no es culpa de Delphi, aunque ... que es un problema común a todos los equipos digitales. La forma en que se maneja es brillante e instructivo! Por último, me gustaría añadir algunas reflexiones a la hora de leer la información de la fecha de una cadena. Si sabe que su entrada se llevará una de las varias formas distintas, puede utilizar pruebas .. salvo bloques hasta que llegue una fecha correcta. Por ejemplo: function read_date_format_1( s: string ): tDateTime; begin // this function tries to read dates formatted as '2007-12-31' end; function read_date_format_2( s: string ): tDateTime; begin // this function tries to read dates formatted as '2007 12 31' end; function read_date_format_3( s: string ): tDateTime; begin // this function tries to read dates formatted as '31/12/2007' end; function read_date( users_input: string ): tDateTime; begin try result := read_date_format_1( users_input ) except on EConvertError do try result := read_date_format_2( users_input ) except on EConvertError do result := read_date_format_3( users_input ) end end end; Este código es para la claridad y la ilustración. (Hay maneras mucho mejores de escribirlo.) Por cierto, Micheus, gracias por recibir mi nombre. |
#5
|
|||
|
|||
good job
good attempt
Cita:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
como sumar Dias a una fecha | esimon | OOP | 18 | 05-08-2008 16:50:50 |
sumar dias una fecha dada | Goyo | Varios | 3 | 25-05-2007 02:23:39 |
Sumar dias a una fecha inicial en delphi | bellota | Varios | 4 | 06-06-2006 16:42:40 |
SUmar dias a una fecha | raffagia | Varios | 1 | 04-10-2004 18:28:13 |
Sumar Dias a una fecha? | danytorres | SQL | 1 | 16-01-2004 05:04:15 |
|