E

eche_lr73

Usuario (Argentina)

Primer post: 16 nov 2011Último post: 16 nov 2011
1
Posts
17
Puntos totales
0
Comentarios
Manejo de fechas en delphi
Manejo de fechas en delphi
Apuntes Y MonografiasporAnónimo11/16/2011

Manejo de fechas en delphifunciones para fechas delphi – TDate – TDateTime – TTime – rutinas de fechas en delphiEl siguiente articulo vamos a ver como manejar fechas y horas en delphilas funciones que veremos pertenecen a la unidad SysUtils y la mayoría en DateUtils que a partir de delphi 6 están con nosotros, con ellas podremos resolver dilemas como:• extraer parte de la fecha, año, mes, día• incrementar años, meses, días en una fecha y viceversa• comparar dos fechas• saber cuántos días faltan por una fecha• validar una fecha• saber si es un año bisiesto• día de la semana de una fechaDefinición de variables de tipo fechaPara manejar fechas en delphi necesitamos definir las variables con el tipo adecuado para fechas, para ello tenemos en disposición de tres tipos TDate – TTime y TDateTimeTDate Para almacenar una fecha día/mes/añoTTime Para almacenar una hora, hora: minuto: segundoTDateTime Es una combinación de las dos anteriores: día/mes/año hora: minuto: segundoEjemplo:varMiData: Tdate; //variable de data 00/00/00MiHora: TTime; //variable de hora 00:00:00MiFecha: TDateTime; //variable con data y hora 00/00/00 00:00:00Funciones básicas para obtener fechas unidad: SysUtilsdate() : devuelve la data actualtime() GetTime() : devuelve la hora actual now() : devuelve la data y hora actualOjo si utilizamos variables de tipo TDateTime y usamos time() o GetTime() el data por defecto es 30/12/1899Ejemplo:MiData := date(); //29/06/08 MiHora := time(); //14:08 MiFecha := now(); //29/06/08 14:08 MiFecha := GetTime(); // 30/12/1899 14:08 Funciones de salida para fechas “OUTPUT” Para mostrar una variable de contenedor fecha en pantalla, en un editbox,label,listbox etc.. tenemos que pasar la fecha en formato cadena “string”, para ello usaremos la funciones convertidoras de tipos “casting” apropiadasunidad: SysUtilsDateToStr :Convierte de Data a textoTimeToStr :Convierte de Hora a textoDateTimeToStr :Convierte de Data y Hora a textoEjemplo:edit1.text := DateToStr(MiData);edit1.text := TimeToStr(MiHora);edit1.text := DateTimeToStr(MiFecha);Funciones de entrada para fechas “INPUT” Podemos utilizar (StrToDate – STrToTime – StrToDateTime) para que el usuario puede agregar datas manualmente o bien para predeterminar la fecha o horaunidad: SysUtilsStrToDate :Convierte de texto a DataSTrToTime :Convierte de texto a HoraStrToDateTime :Convierte de texto a Data y HoraPara componer una fecha en delphi tenemos el siguiente formato Dia/Mes/Año Hora:Minuto:Segundo,MilisegundoEjemplo:MiData := StrToDate('01/06/2008');MiHora := StrToTime('10:20:30');MiFecha := StrToDateTime('01/06/2008 10:20:30,232');Nota: si se pasa una fecha o tiempo incorrecto salta una excepción de tipo EConvertErrorFunciones typecast validadoras de fechas Podemos usar el manejo de excepciones (try, except, finally) o bien usar la funciones TryStrToDate, TryStrToTime, TryStrToDateTime que veremos despuéscuando pasamos una fecha o tiempo incorrecto delphi salta con una excepción de tipo EConvertError la podemos capturar con “on EConvertError”EjemplovarMiFecha:Tdatetime;BeginTtry MiFecha := StrToDate('01/06/2008');Excepton EConvertError doShowMessage('Fecha incorrecta');End;End;Funciones TryStrToDate, TryStrToTime y TryStrToDateTime, todas se llaman de la siguiente manera nombrefuncion(donde_guardar,fecha_a_pasar) nos devuelve con un booleano si ha sido correcta o no la conversiónEjemplovarMiFecha:Tdatetime;cadena:string;Begincadena := '31/02/2009';If (TryStrToDateTime(cadena,mifecha)) thenshowmessage('conversion correcta')elseshowmessage('conversion incorrecta');end;Publicado por Pedro Oscar Cayetano Mares Rakzo Zeramhttp://rakzo-zeram.blogspot.com/

17
0
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.