Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-12-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Hola:

¿no puedes usar un TDateTimePicker? es un control donde eliges la fecha directamente y no tienes que lidiar con errores como 30/02/2010.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #2  
Antiguo 10-12-2008
Avatar de paladincubano
paladincubano paladincubano is offline
Miembro
 
Registrado: jul 2007
Posts: 147
Poder: 19
paladincubano Va por buen camino
Cita:
Empezado por Lepe Ver Mensaje
Hola:

¿no puedes usar un TDateTimePicker? es un control donde eliges la fecha directamente y no tienes que lidiar con errores como 30/02/2010.

Saludos
Lepe, vuelve a leer mi pregunta, porque parece no has entendido.
Olvidate de fecha... No tengo fecha alguna, solo tengo un numero del 1 al 5 y otro del 1 al 12, el primero indica el NUMERO DE LA SEMANA del MES del segundo numero.
EJ: 3 y 10, significa, 3ra semana del mes de octubre.
y necesito:
de esos dos numeros, poder sacar el NUMERO de la semana del AÑO.
EJ: 3ra semana del mes de octubre = xx SEMANA DEL AÑO.
Gracias por tu comentario.
Responder Con Cita
  #3  
Antiguo 10-12-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola paladincubano,

si bien me parece que tienes toda la razon del mundo, creo que la agresividad estaba injustificada. Sobre como resolver tu duda, seria algo como :

Código Delphi [-]
var
       d,m,y : word;
       t : TDateTime;
       s : integer;
begin
       d  := 7*inttostr(ComboBoxSemana.Text);
       m  := inttostr(ComboBoxMes.Text);
       y  := 2000; 
       t  := EncodeDate(y,m,d);
       s  := WeekOf(t);
 end;

es posible que a d le tengas que sumar o restar uno, segun tus necesidades. Saludos.
Responder Con Cita
  #4  
Antiguo 10-12-2008
Avatar de paladincubano
paladincubano paladincubano is offline
Miembro
 
Registrado: jul 2007
Posts: 147
Poder: 19
paladincubano Va por buen camino
Muchas gracias, luego lo pruebo, ahora no estoy delante del ordenador. Con respecto a la agresividad, perdonenme si lo han entendido asi, pero afirmo, no hay agresividad ninguna en mis palabras, al menos es lo que siento, y cuando lo escribi, pues por supuesto no estab agresivo. Vuelvo y repito, si heri a alguien los sentimientos pues disculpadme pero no fue mi intencion.
Y menos en esta web que ayuda tanto a los demas y principalmente pues ami que lo necesito mucho de vez en cuando.
saludos y gracias por sus posts.
Responder Con Cita
  #5  
Antiguo 10-12-2008
fidel fidel is offline
Miembro
 
Registrado: mar 2005
Posts: 381
Poder: 22
fidel Va por buen camino
Hola:

Una pequeña idea que puedes ampliar, aunque quizás sea un poco enrevesada.

Semana del mes igual a 1 (el primer día)

Vas recorriendo día a día todos los días del mes pedido y cogiendo a que semana del año pertenece caa día.
Cuando cambie la semana del año a la que pertenece aumentas en uno la semana del mes y sabrás en que semana de ese més estás.
Comparas la semana del mes con la semana pedida y cuando coincida ya la tienes.

No se si se entiende muy bien en tan pocas líneas.

Un saludo.
Responder Con Cita
  #6  
Antiguo 10-12-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Lo que necesitas es la función EncodeDayOfWeekInMonth que te devuelve una fecha, ¿fecha?, ¿he dicho fecha? miedo me da pensar lo que puede decir nuestro amigo paladincubano como se enoje

Una vez tienes tienes la fecha usa weekOf y sacas el número de la semana.

La verdad, he estado a punto de no responder porque, para hallar la semana del año, necesitas saber el año en cuestión, y en tu mensaje original no dices nada del año, solo tienes el número de mes y el número de semana dentro del més. He querido aclarar esto no vaya a ser que....

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #7  
Antiguo 11-12-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Bueno, la verdad es que es bastante mas sencillo...

semanadelaño = (mes-1)*4 + numerosemanames

...mas o menos...

esto seria mas correcto :

Código Delphi [-]
function SemanadelAño(n,m : integer) : integer;
const
     diaspormes = [31,28,31,30,31,30,31,31,30,31,30,31]
begin
     result := 0;
     while m > 0 do
     begin
        result := result + diaspormes[m];
        dec(m);
     end;

     result := result div 7 + n;
end;

aunque tambien daria fallos segun bisiesto, 1 de enero domingo, etc...

Última edición por coso fecha: 11-12-2008 a las 16:55:31.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
formula.. truequeman Varios 3 20-01-2007 19:12:09
formula en dbgrid federicorl Varios 4 07-08-2006 18:58:36
Formula en Firebird jwmoreira Firebird e Interbase 4 17-05-2005 17:49:57
Almacenar una formula en una tabla jgutti Firebird e Interbase 1 09-09-2004 15:41:46
Campos calculados, fórmula mariajoiz Conexión con bases de datos 8 10-06-2003 14:10:10


La franja horaria es GMT +2. Ahora son las 19:29:25.


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