Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   problema con decodedatemonthweek (https://www.clubdelphi.com/foros/showthread.php?t=12928)

heinrich 31-07-2004 00:23:47

problema con decodedatemonthweek
 
AGRADEZCO MUCHO SUS COMENTARIOS Y ESPERO QUE LA PREGUNTA SEA UN POCO MAS EXPLICITA AQUI VA.

NECESITO EXTRAER EL DIA DE LA SEMANA EL NUMERO DE SEMANA EL MES Y EL AÑO DE UNA FECHA DADA POR EL USUARIO Y LUEGO CON ESOS DATOS PROGRAMAR LA SIGUIENTE FECHA ESTO DEPENDIENDO SI EL USUARIO QUIERE PROGRAMAR LAS FECHAS MENSUALMENTE, BIMESTRALMENTE, TRIMESTRALMENTE....

POR EJEMPLO SI EL USUARIO INGRESA LA SIG. FECHA:
08/JULIO/04 ->ESTA FECHA CORREESPONDE AL SEGUNDO JUEVES DEL MES
Y EL USUARIO PIDE PROGRAMAR UN SERVICIO MENSUALMENTE, LA FECHA O FECHAS DE RESPUESTA DEBEN DE SER: 12/AGOSTO/04, 9/SEPTIEMBRE/04 Y ESTO SE DEBE DE HACER POR EL NUMERO DE MESES QUE EL USUARIO ELIJA.

ESPERO QUE LA PREGUNTA ESTE MEJOR EXPLICADA AHORA.
Y AGRADEZCO DE ANTEMANO SU AYUDA.

ATTE: HEINRICH

DarkByte 31-07-2004 14:28:53

Mira, Por Qué No Pruebas A Escibir Nomal ? Así Será Más Fácil De Entenderte

jachguate 31-07-2004 17:38:23

Lo que no veo claro, es ¿cuál es la regla para numerar las semanas?

Si un mes inicia un miércoles... la primera semana terminará
¿el siguiente sabado?
¿el domingo?
¿el martes?

:confused:

marcoszorrilla 01-08-2004 09:49:18

Hola Heinrich:

Lo primero ten en cuenta que escribir todo en mayúsculas signfica chillar. Si entiendo bien tu pregunta, quieres que dada una fecha y teniendo en cuenta el día de la semana que le corresponde, obtener la fecha que le corresponde para el mes próximo una vez obtenida ésta, es decir sumándole 30 días, comprobamos si el día que le corresponde a dicha fecha es el mismo y sino lo incrementamos hasta hacerlo coincidir.

El ejemplo que te propongo solamente lo he hecho para el primer mes pero el resto sería tan facil como multriplicar 30 por el número de meses:

Para la prueba necesitas 2 DateTimePicker:
Código Delphi [-]
procedure TForm1.DateTimePicker1Change(Sender: TObject);
var
nDia:Integer;
begin
nDia:=DayOfWeek(DateTimePicker1.Date);//Guardamos el día
//le sumamos 30 días para pasar el mes próximo
DateTimePicker2.Date:=DateTimePicker1.date + 30;

{Sino cae el mismo día lo incrementamos hasta que sea igual}
  While DayOfWeek(DateTimePicker2.Date) <> nDia do
  begin
  DateTimePicker2.Date:= DateTimePicker2.Date +1;
  end;

end;

Me faltan menos de 3 horas para marchar de vacaciones así que es posible que no me conecte hasta dentro de unos días desde por lo que sino entiendes algo, será cualquiera de mis destacados compañeros foristas quién te lo explique.

Un Saludo.

heinrich 02-08-2004 21:09:49

Agradezco mucho tu ayuda marcoszorrilla, al parecer l que tu me comentaste servira a mis propositos, y en caso contrario espero que me puedan seguir ayudando. muchas gracias.


La franja horaria es GMT +2. Ahora son las 18:25:16.

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