Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-10-2007
Avatar de UREÑA
UREÑA UREÑA is offline
Miembro
 
Registrado: feb 2007
Posts: 75
Poder: 18
UREÑA Va por buen camino
Red face sumar semanas al la fecha actual

hola amigos buen dia!!!

tengo un problema

tengo un catalogo de materias y cada una tiene un campo que se llama semanas dependiendo del valor del campo de semanas es la duracion de la materia

como poder sumar las semanas a la fecha actual??
la verdad no se me ocurre algo por no todos los meses traen los mismos dias

gracias por su atencion
Responder Con Cita
  #2  
Antiguo 05-10-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Desde Delphi puedes hacer algo como esto:

Código Delphi [-]
uses DateUtils;

begin
  //Incrementamos 5 semanas a la fecha actual...
  FechaMasNSemanas := IncWeek(Now, 5)
end;


Saludos...
Responder Con Cita
  #3  
Antiguo 05-10-2007
Avatar de UREÑA
UREÑA UREÑA is offline
Miembro
 
Registrado: feb 2007
Posts: 75
Poder: 18
UREÑA Va por buen camino
Thumbs up

gracias maeyanes

deja lo checo y te aviso
Responder Con Cita
  #4  
Antiguo 05-10-2007
Avatar de UREÑA
UREÑA UREÑA is offline
Miembro
 
Registrado: feb 2007
Posts: 75
Poder: 18
UREÑA Va por buen camino
hola maeyanes me marca un error

esto lo puse en uses hasta arriba de mi codigo
DateUtils

me dice que no funciona el archivo DateUtils.dcu
estoy usando delphi 5 y firebird
Responder Con Cita
  #5  
Antiguo 05-10-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Uh!!

Es por eso que es buena idea siempre especificar que versión de Delphi usas cuando haces tus preguntas...

Esto que te mencioné funciona en las versiones de Delphi 6 en adelante... para tu mala suerte, en Delphi 5 la unidad DateUtils no existe...

Habrá que buscar otra solución a tu problema...

Checa aquí a ver si encuentras algo que te sirva: http://delphi.newswhat.com/geoxml/fo...ps.borland.com
Responder Con Cita
  #6  
Antiguo 15-10-2007
Avatar de UREÑA
UREÑA UREÑA is offline
Miembro
 
Registrado: feb 2007
Posts: 75
Poder: 18
UREÑA Va por buen camino
hola amigos despues de un buen rato ya solucuione mi problema por si alguien le sirve de algo!!

o si tengo errores para que me ayuden a mejorar mi codigo
gracias

Código SQL [-]
var     //CALCULA LA CANTIDAD DE DIAS DEL MES ACTUAL
   PrimerDiaMes, PrimerDiaMesSiguiente   : TDateTime;
   anyo, mes, dia: Word;
   fechasistema, dias, resulta, restodias, id_periodo, resulta2: String;
   e, a, c, calcula, fechafinal : integer;
begin      //cantidad de dias que dura la materia
   calcula := frm_DataModule.qry_este.Fields[1].AsInteger;
   calcula := calcula * 7;
   Edit1.Text := DateTimeToText(date);
   DecodeDate( date, anyo, mes, dia );
   primerDiaMes := EncodeDate(anyo, mes, 1);
   primerDiaMesSiguiente := IncMonth(primerDiaMes, 1);
   for e := 0 to 31 do
   begin
   primerDiaMes := primerDiaMes + 1;
   if PrimerDiaMes = PrimerDiaMesSiguiente then
   begin
   a := 1;
   a := a + e;
   fechasistema := DateTimeToStr(date); //toma el dia del sistema
   dias := copy(fechasistema, 1,2);
   restodias := copy(fechasistema, 3, 10);
   //suma dias a fecha actual
   c := StrToInt(dias) + calcula;
   end;
   end;
   if c <= a then   //si la duracion de la materia no supera la fecha de fin del mes
   begin
   fechafinal := calcula + StrToInt(dias);
   resulta2 := DateToStr(PrimerDiaMes);
   Delete(resulta2, 1, 2);
   Edit2.Text := IntToStr(fechafinal) + resulta2;
   id_periodo := edit1.Text +'-'+ Edit2.Text;
   edit3.Text :=  id_periodo;
   end
   else
   begin
   c := a - StrToInt(dias);  //si la duracion de la materia abarca hasta el siguinete mes
   fechafinal := calcula - c;
   resulta := DateToStr(PrimerDiaMesSiguiente);
   delete(resulta,1,2);
   Edit2.Text := IntToStr(fechafinal) + resulta;
   id_periodo := edit1.Text +'-'+ Edit2.Text;
   edit3.Text :=  id_periodo;

   end;

calcula la cantidad de dias del mes en curso y asigna la fecha de fin de una materia dependiendo de la duracion


muchas gracias a todos pero en especial a maeyanes
Responder Con Cita
  #7  
Antiguo 15-10-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cita:
Empezado por UREÑA
...o si tengo errores para que me ayuden a mejorar mi codigo
gracias...
Como observación al post, usa la etiqueta DELPHI y no así SQL para enmarcar tu código pues así como está sin tabulacion no es muy comprensible.

Como observación al hilo en general; Now es una variable de tipo TDateTime = Doble, lo que significa que tiene una parte entera y una parte decimal... la parte ENTERA es la cantidad de días que pasaron desde 1900 (creo), entonces si a la parte entera le añades 7 estas sumandole una semana independientemente de la cantidad de días que tenga el mes en curso. Lo mismo con la parte decimal solo que ahora estamos hablando de milisegundos desde las 0 horas del día actual.

Con tales datos podríamos decir que la respuesta a tu hilo hubiese sido:

Código Delphi [-]
 En3Semanas := Now + 7*3;

Pruébalo ahora con 5 semanas:

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
 Caption := DateToStr(Now) + ' / ' + DateToStr(Now + 7*5);
end;

Saludos.
Responder Con Cita
  #8  
Antiguo 17-10-2007
Avatar de UREÑA
UREÑA UREÑA is offline
Miembro
 
Registrado: feb 2007
Posts: 75
Poder: 18
UREÑA Va por buen camino
Thumbs up

gracias chacall

perdon por el acomodo del codigo es que como me meti a esto de la programada asi nomas sin saber los fundamentos ni la estructuracion de codigos pero no lo vuelvo a hacer, que pena
bueno hechando a perder se aprende gracias!!!

despues de tantas lineas de codigo me lo vinister a solucionar con una, lo que es no saber, bueno pero poco a poco voy aprendiendo
acepto cualquier tipo de ayuda un manualito una web etc

gracias !!!

un saludo!!
Responder Con Cita
  #9  
Antiguo 17-10-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cita:
Empezado por UREÑA Ver Mensaje
gracias chacall

perdon por el acomodo del codigo es que como me meti a esto de la programada asi nomas sin saber los fundamentos ni la estructuracion de codigos pero no lo vuelvo a hacer, que pena
bueno hechando a perder se aprende gracias!!!

despues de tantas lineas de codigo me lo vinister a solucionar con una, lo que es no saber, bueno pero poco a poco voy aprendiendo
acepto cualquier tipo de ayuda un manualito una web etc

gracias !!!

un saludo!!
Por la forma de "acomodar" el código... no te fijes, solo fue un comentario inocente y si tu codigo fuente tiene ese aspecto procura tabularlo para que en el futuro, tú misma lo puedas entender.

Lo de "solucionar con una línea", tampoco creo que sea por "no saber"... fíjate ésto.

Saludos
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
Obtener fecha actual. JuanErasmo .NET 1 26-12-2006 22:38:05
Inserta fecha actual zvf OOP 4 06-04-2006 01:23:16
Fecha Actual en DateTimePicker Barzaugc Varios 1 15-11-2005 17:29:20
Comparar una fecha de n campo date contra fecha actual amadis SQL 2 27-06-2005 21:37:41
Función de fecha actual en SQL mutant09 SQL 1 18-05-2004 09:51:22


La franja horaria es GMT +2. Ahora son las 10:26:41.


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