Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-06-2010
darkborrego darkborrego is offline
Miembro
 
Registrado: jun 2010
Posts: 18
Poder: 0
darkborrego Va por buen camino
Descomponer Fecha

Hola,

he estado buscando por el foro pero no encuentro exactamente lo que necesito. Tengo un archivo de tipo date el cual necesito descomponer en años, meses y dias, es decir, tengo por ejemplo 22/07/2010 y necesito sacar una variable dia que contenga 22, una variable mes que contenga 07 y una variable año que contenga 2010.

Estoy empezando con Delphi y no tengo mucha idea de Pascal por eso me gustaría que me ayudarais.

Muchas gracias.
Responder Con Cita
  #2  
Antiguo 26-06-2010
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
En delphi presiona F1 y busca las siguientes funciones:

DecodeDate
DecodeDateTime
EncodeDate
EncodeDateTime
Saludos.
__________________

Responder Con Cita
  #3  
Antiguo 26-06-2010
Gamael Hdez Gamael Hdez is offline
Miembro
 
Registrado: mar 2010
Ubicación: Cd Carmen, Campeche
Posts: 10
Poder: 0
Gamael Hdez Va por buen camino
a mi se me oscurre una forma rapida con el formatdatetime('dd',strtodate('22/07/2010')) ahi obtienes el 22 , formatdatetime('mm',strtodate('22/07/2010')) el 07 y formatdatetime('yyyy',strtodate('22/07/2010')) el 2010 , es una manera facil, rapida y sencilla.
Responder Con Cita
  #4  
Antiguo 26-06-2010
darkborrego darkborrego is offline
Miembro
 
Registrado: jun 2010
Posts: 18
Poder: 0
darkborrego Va por buen camino
jeje, si, el único problema es que no puedo ver la ayuda por el Windows 7 de los...
Responder Con Cita
  #5  
Antiguo 26-06-2010
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
bueno, para eso están los enlaces... y si no, puedes bajar la herramienta para ver archivo hlp en windows 7....
__________________

Responder Con Cita
  #6  
Antiguo 26-06-2010
darkborrego darkborrego is offline
Miembro
 
Registrado: jun 2010
Posts: 18
Poder: 0
darkborrego Va por buen camino
Cita:
Empezado por Gamael Hdez Ver Mensaje
a mi se me oscurre una forma rapida con el formatdatetime('dd',strtodate('22/07/2010')) ahi obtienes el 22 , formatdatetime('mm',strtodate('22/07/2010')) el 07 y formatdatetime('yyyy',strtodate('22/07/2010')) el 2010 , es una manera facil, rapida y sencilla.
Funciona perfecta esa forma, muchas gracias.


Ahora resulta que he hecho lo siguiente para poder escribir el mes en letras que es lo que necesitaba.

Como es la primera vez que trabajo con Pascal no se pasarlo a función, ¿podría alguién decirme como se pasaría a una función el siguiente código?


Código:
 if formatdatetime('mm',DateTimePicker1.Date)='01' then
      begin
        recibos.MesLoc.Caption:='Enero';
        recibos.MesVis.Caption:='Enero';
      end;
    if formatdatetime('mm',DateTimePicker1.Date)='02' then
      begin
        recibos.MesLoc.Caption:='Febrero';
        recibos.MesVis.Caption:='Febrero';
      end;
    if formatdatetime('mm',DateTimePicker1.Date)='03' then
      begin
        recibos.MesLoc.Caption:='Marzo';
        recibos.MesVis.Caption:='Marzo';
      end;
    if formatdatetime('mm',DateTimePicker1.Date)='04' then
      begin
        recibos.MesLoc.Caption:='Abril';
        recibos.MesVis.Caption:='Abril';
      end;
    if formatdatetime('mm',DateTimePicker1.Date)='05' then
      begin
        recibos.MesLoc.Caption:='Mayo';
        recibos.MesVis.Caption:='Mayo';
      end;
    if formatdatetime('mm',DateTimePicker1.Date)='06' then
      begin
        recibos.MesLoc.Caption:='Junio';
        recibos.MesVis.Caption:='Junio';
      end;
    if formatdatetime('mm',DateTimePicker1.Date)='07' then
      begin
        recibos.MesLoc.Caption:='Julio';
        recibos.MesVis.Caption:='Julio';
      end;
    if formatdatetime('mm',DateTimePicker1.Date)='08' then
      begin
        recibos.MesLoc.Caption:='Agosto';
        recibos.MesVis.Caption:='Agosto';
      end;
    if formatdatetime('mm',DateTimePicker1.Date)='09' then
      begin
        recibos.MesLoc.Caption:='Septiembre';
        recibos.MesVis.Caption:='Septiembre';
      end;
    if formatdatetime('mm',DateTimePicker1.Date)='10' then
      begin
        recibos.MesLoc.Caption:='Octubre';
        recibos.MesVis.Caption:='Octubre';
      end;
    if formatdatetime('mm',DateTimePicker1.Date)='11' then
      begin
        recibos.MesLoc.Caption:='Noviembre';
        recibos.MesVis.Caption:='Noviembre';
      end;
    if formatdatetime('mm',DateTimePicker1.Date)='12' then
      begin
        recibos.MesLoc.Caption:='Diciembre';
        recibos.MesVis.Caption:='Diciembre';
      end;
Responder Con Cita
  #7  
Antiguo 26-06-2010
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Cita:
Empezado por Gamael Hdez Ver Mensaje
a mi se me oscurre una forma rapida con el formatdatetime('dd',strtodate('22/07/2010')) ahi obtienes el 22 , formatdatetime('mm',strtodate('22/07/2010')) el 07 y formatdatetime('yyyy',strtodate('22/07/2010')) el 2010 , es una manera facil, rapida y sencilla.
dime tu que es más facil:

Método 1:
Código Delphi [-]
....
var Year, Month, Day: Word;
...

Year := StrToInt(FormatDateTime('yyyy', Now));
Month := StrToInt(FormatDateTime('mm', Now));
Day := StrToInt(FormatDateTime('dd', Now));
.......

Método 2:

Código Delphi [-]
....
var Year, Month, Day: Word;
...
DecodeDate(Now, Year, Month, Day);
.......
__________________

Responder Con Cita
  #8  
Antiguo 26-06-2010
Gamael Hdez Gamael Hdez is offline
Miembro
 
Registrado: mar 2010
Ubicación: Cd Carmen, Campeche
Posts: 10
Poder: 0
Gamael Hdez Va por buen camino
asi es mas facil: formatdatetime('mmmm',DateTimePicker1.Date)
ahi te pone: ENERO,FEBRERO, etc dependiendo de el numero de mes
showmessage(formatdatetime('mm',strtodate('22/02/2010')))
muestra: Febrero
Responder Con Cita
  #9  
Antiguo 26-06-2010
Gamael Hdez Gamael Hdez is offline
Miembro
 
Registrado: mar 2010
Ubicación: Cd Carmen, Campeche
Posts: 10
Poder: 0
Gamael Hdez Va por buen camino
Cita:
Empezado por darkborrego Ver Mensaje
Funciona perfecta esa forma, muchas gracias.


Ahora resulta que he hecho lo siguiente para poder escribir el mes en letras que es lo que necesitaba.

Como es la primera vez que trabajo con Pascal no se pasarlo a función, ¿podría alguién decirme como se pasaría a una función el siguiente código?


Código:
 if formatdatetime('mm',DateTimePicker1.Date)='01' then
      begin
        recibos.MesLoc.Caption:='Enero';
        recibos.MesVis.Caption:='Enero';
      end;
    if formatdatetime('mm',DateTimePicker1.Date)='02' then
      begin
        recibos.MesLoc.Caption:='Febrero';
        recibos.MesVis.Caption:='Febrero';
      end;
    if formatdatetime('mm',DateTimePicker1.Date)='03' then
      begin
        recibos.MesLoc.Caption:='Marzo';
        recibos.MesVis.Caption:='Marzo';
      end;
    if formatdatetime('mm',DateTimePicker1.Date)='04' then
      begin
        recibos.MesLoc.Caption:='Abril';
        recibos.MesVis.Caption:='Abril';
      end;
    if formatdatetime('mm',DateTimePicker1.Date)='05' then
      begin
        recibos.MesLoc.Caption:='Mayo';
        recibos.MesVis.Caption:='Mayo';
      end;
    if formatdatetime('mm',DateTimePicker1.Date)='06' then
      begin
        recibos.MesLoc.Caption:='Junio';
        recibos.MesVis.Caption:='Junio';
      end;
    if formatdatetime('mm',DateTimePicker1.Date)='07' then
      begin
        recibos.MesLoc.Caption:='Julio';
        recibos.MesVis.Caption:='Julio';
      end;
    if formatdatetime('mm',DateTimePicker1.Date)='08' then
      begin
        recibos.MesLoc.Caption:='Agosto';
        recibos.MesVis.Caption:='Agosto';
      end;
    if formatdatetime('mm',DateTimePicker1.Date)='09' then
      begin
        recibos.MesLoc.Caption:='Septiembre';
        recibos.MesVis.Caption:='Septiembre';
      end;
    if formatdatetime('mm',DateTimePicker1.Date)='10' then
      begin
        recibos.MesLoc.Caption:='Octubre';
        recibos.MesVis.Caption:='Octubre';
      end;
    if formatdatetime('mm',DateTimePicker1.Date)='11' then
      begin
        recibos.MesLoc.Caption:='Noviembre';
        recibos.MesVis.Caption:='Noviembre';
      end;
    if formatdatetime('mm',DateTimePicker1.Date)='12' then
      begin
        recibos.MesLoc.Caption:='Diciembre';
        recibos.MesVis.Caption:='Diciembre';
      end;
queda asi:

recibos.MesLoc.Caption:=formatdatetime('mmmm',DateTimePicker1.Date);
recibos.MesVis.Caption:=formatdatetime('mmmm',DateTimePicker1.Date);
Responder Con Cita
  #10  
Antiguo 26-06-2010
darkborrego darkborrego is offline
Miembro
 
Registrado: jun 2010
Posts: 18
Poder: 0
darkborrego Va por buen camino
Cita:
Empezado por Gamael Hdez Ver Mensaje
asi es mas facil: formatdatetime('mmmm',DateTimePicker1.Date)
ahi te pone: ENERO,FEBRERO, etc dependiendo de el numero de mes
showmessage(formatdatetime('mm',strtodate('22/02/2010')))
muestra: Febrero

jeje, muchísimas gracias, perfecto así .

Duda resuelta.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Descomponer cadena @String Alejo15x Varios 3 04-02-2010 03:23:21
Descomponer nombre y apellidos lgarcia SQL 4 15-04-2009 22:16:37
Descomponer un numero con 7 digitos Camilo Varios 3 05-11-2007 21:58:02
Desde la fecha inicio hasta la fecha final que me grabe los meses contenidos Renis SQL 4 01-10-2007 17:21:44
Ayuda, Como calcular fecha de vencimiento mensual a partir de una fecha x en delphi Renis Impresión 4 23-08-2007 23:45:14


La franja horaria es GMT +2. Ahora son las 05:08:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi