Ver Mensaje Individual
  #4  
Antiguo 01-08-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Reputación: 10
marcoszorrilla Va por buen camino
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.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita