Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Numero de Semana y Numero de Mes (https://www.clubdelphi.com/foros/showthread.php?t=84040)

nefore 01-09-2013 17:06:37

Numero de Semana y Numero de Mes
 
Hola me podrían ayudar con algunos cálculos de fechas?

Tengo una variable de tipo Fecha, a la cual quisiera calcularle a que número de mes pertenece y que número de semana pertenece, intente con las que están en la unidad DateUtils, pero me tira error pues las funciones tienen como parámetros constantes y no variables.

Muchas gracias por su atencion

Casimiro Notevi 01-09-2013 19:54:08

http://www.delphibasics.co.uk/ByUnit.asp?Unit=DateUtils

nefore 01-09-2013 20:00:14

Hola muchas gracias por tu tiempo.

Si esas son justamente las que estan en la unidad DateUtils, pero el problema es que no me deja tomar variables tipo fecha, solo constantes
Aca te dejo un ejemplo del DateUtils

Código Delphi [-]
function DaysInAMonth(const AYear, AMonth: Word): Word;
begin
  Result := MonthDays[(AMonth = 2) and IsLeapYear(AYear), AMonth];
end;

Nose como hacer para que me tome variables

Casimiro Notevi 01-09-2013 20:07:46

No entiendo lo que preguntas :confused:

Por cierto, recuerda poner los tags al código fuente, ejemplo:



Gracias :)

nefore 01-09-2013 20:19:28

Ah Disculpa el tag, ehm o sea esas funciones, me tiran error si paso como parametro una variable de tipo TDateTime. Lo que necesito es alguna funcion que acepte variables del tipo mencionado y que calcule el numero de semana de un mes y el numero de mes del año de acuerdo a una fecha que yo ingrese

Casimiro Notevi 01-09-2013 21:52:01

En el enlace que te he pasado vienen ejemplos:

En este caso devuelve el número del mes:
Código Delphi [-]
var
  myDate : TDateTime;
begin
  myDate := EncodeDate(2002, 10, 29);
  ShowMessage('The month of the year  = '+
              IntToStr(MonthOfTheYear(myDate)));
 end;

En cuanto al número de semana de un mes, ¿será semana del año, no?

nefore 01-09-2013 22:44:22

Cita:

Empezado por Casimiro Notevi (Mensaje 466298)
En cuanto al número de semana de un mes, ¿será semana del año, no?

Mmm en tambien podria ser, pero para la funcion semana del año la dividiria en 12 para sacar a que mes pertenece

Casimiro Notevi 01-09-2013 22:51:13

Una simple búsqueda por los foros devuelve varias entradas. no las he mirado, pero haz una búsqueda si no te sirven.
http://www.clubdelphi.com/foros/showthread.php?t=62021
http://www.clubdelphi.com/foros/showthread.php?t=43370
http://www.clubdelphi.com/foros/showthread.php?t=17186

AzidRain 03-09-2013 02:01:01

Está más que claro Casimiro, lo que pasa es que el amigo quiere que le pongamos exactamente lo que quiere para que solo copie y pegue...vaya con tanta info que se le dio. Desde su post se ve que no tiene idea de que quiere ni nada: "Solo acepta constantes", lo cual es falso, los parámetros que se marcan con "const" indican que no cambiarán dentro de la función o procedimiento. El mismo lo dice: "...que no me deja tomar variables tipo fecha, solo constantes...", pues es obvio que la función así está definida. Acepta un año y un mes y devuelve cuantos días tiene el mes en el año que se indica en los parámetros, nada que ver con lo que quiere, el numero de mes está muy simple y el número de semana no indica si se refiere a la semana del mes o del año, de cualquier forma todos los enlaces le dan información que dice necesitar. ¿Por que ya nadie se quiere molestar en leer un poco?

nefore 03-09-2013 06:15:01

Cita:

Empezado por AzidRain (Mensaje 466350)
Está más que claro Casimiro, lo que pasa es que el amigo quiere que le pongamos exactamente lo que quiere para que solo copie y pegue...vaya con tanta info que se le dio. Desde su post se ve que no tiene idea de que quiere ni nada: "Solo acepta constantes", lo cual es falso, los parámetros que se marcan con "const" indican que no cambiarán dentro de la función o procedimiento. El mismo lo dice: "...que no me deja tomar variables tipo fecha, solo constantes...", pues es obvio que la función así está definida. Acepta un año y un mes y devuelve cuantos días tiene el mes en el año que se indica en los parámetros, nada que ver con lo que quiere, el numero de mes está muy simple y el número de semana no indica si se refiere a la semana del mes o del año, de cualquier forma todos los enlaces le dan información que dice necesitar. ¿Por que ya nadie se quiere molestar en leer un poco?

Mmm, primero que nada te agradezco por tomarte tu tiempo para leer, y aclarar que no es mi intencion crear quilombo por esto, pero es necesario que explique (al menos asi lo creo) y que este sera el unico mensaje para aclarar y no desvirtuar el hilo.
Lo que queria saber es si habia alguna funcion diseñada en Delphi para calcular entre fechas variables, y si es que vengo a preguntar a este impresionante foro (en el cual me han tratado de maravilla y me han ayudado en todo), es porque he estado buscando la solucion en varias partes (siempre trato de usar dicho foro como ultimo recurso), te informo que intente las funciones del DateUtils y me salta error de "EAccesViolation" acompañado de unos numero sraros (que creo es hexadecimal) cuando intento poner una variable, pero en cambio si coloco algo constante como '02/08/13' me funcionaba de maravilla. En fin, no todos nacemos sabiendo, espero lo tengas en cuenta para la proxima...
Saludos!

nefore 03-09-2013 06:23:19

Cita:

Empezado por Casimiro Notevi (Mensaje 466301)
Una simple búsqueda por los foros devuelve varias entradas. no las he mirado, pero haz una búsqueda si no te sirven.
http://www.clubdelphi.com/foros/showthread.php?t=62021
http://www.clubdelphi.com/foros/showthread.php?t=43370
http://www.clubdelphi.com/foros/showthread.php?t=17186

Muchas gracias por la data! el segundo link me ha funcionado, pero veo que esta usando las funciones del DateUtils, y no me salta error con las variables fecha al menos con esa funcion. (Indagare sobre ello)
Muchas gracias por tu tiempo y paciencia
Saludos!


La franja horaria es GMT +2. Ahora son las 22:36:53.

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