PDA

Ver la Versión Completa : ayuda con array...


foetus
31-07-2007, 01:29:33
saludos estoy haciendo un array, para una fecha en ASP.

el problema es que me da un valor mayor al real..
el array es para los meses
por ejemplo:




mes=Array ("Enero","febrero"........ y asi hasta dicienbre )

fecha= Day(Now()) "de" mes(Month(Now)) "del" Year(Now())

Response.write FECHA



en este caso si el mes es 2 me devuelve: 12 de marzo del 2007

para esto, me invente lo siguiente...


fecha= Day(Now()) "de" mmes(Month(Now))-1 "del" Year(Now())
que si me da el mes que quiero.;) pero no se si siempre funcione....:rolleyes:

pero otro problema es que hice otro array con numeros y siempre me da un valor mas del real, es como si descartara el primer valor, eh tenido que dejar un valor en blanco ej."", para obtener lo que quiero siempre tengo que poner un valor demas...

hice la fecha en java y me funciona correctamente.

porque en ASP me pasa esto con los array..???? :confused:

roman
31-07-2007, 01:34:54
No tengo ni idea de ASP, pero como en muchos lenguajes, supongo que aquí también sucede que los índices de los arreglos comienzan en cero y no en uno:

mes(0) - enero
mes(1) - febrero
mes(2) - marzo

y de ahí el corrimiento.

// Saludos

foetus
31-07-2007, 01:41:41
ahh, eso me imaginaba.....

pero como lo comienzo en cero, si por ejemplo yo hago el array de esta forma....


mes= array("enero","febrero","marzo","abril","mayo","Junio", "julio", "agosto","septiembre","nobiembre",Diciembre")


de donde saco el valor cero. si yo utilizo la funcion Now() que me devuelve la fecha y la hora del sistema y Month(Now()) el mes en curso pero en numero: comienza de 1 y termina en 12..

egostar
31-07-2007, 01:48:02
Tampoco conozco de ASP, pero en tu código tienes esto


fecha= Day(Now()) "de" mmes(Month(Now))-1 "del" Year(Now())


no sería así


fecha= Day(Now()) "de" mmes(Month(Now)-1) "del" Year(Now())


Salud OS.

roman
31-07-2007, 01:48:43
Pues tal como lo tienes (creo) Es decir, el arreglo comienza en cero, pero si la función Month devuelve 1 para enero, 2 para febrero, 3 para marzo, etc. entonces, en efecto, tienes que restarle 1 para pasarlo al arreglo.

Como te digo, desconozco ASP, pero, por ejemplo, en PHP podrías forzar a q
los índices comenzaran en 1:


$meses = array(1 => 'enero', 'febrero', 'marzo', 'abril', etc);


// Saludos

foetus
31-07-2007, 01:54:40
bueno muchas gracias. cualquier cosa posteo denuevo y egostar , como lo pusiste es tal y como lo tengo en mi codigo, jajaj. tu sabes aveces posteamos un poco rapido y no nos fijamos muy bien, tambien la variable mmes esta mas es solo mes..

foetus
31-07-2007, 01:54:49
bueno muchas gracias. cualquier cosa posteo denuevo y egostar , como lo pusiste es tal y como lo tengo en mi codigo, jajaj. tu sabes aveces posteamos un poco rapido y no nos fijamos muy bien, tambien la variable mmes esta mas es solo mes..

Caral
31-07-2007, 01:58:26
Hola
Como vosotros menos se de ASP, pero un paseo por internet:
Podemos ver un ejemplo de uso aquí:

función llamada ubound().
dim meses(11)
meses (0) = "Enero"
meses (1) = "Febrero"
meses (2) = "Marzo"
meses (3) = "Abril"
meses (4) = "Mayo"
meses (5) = "Junio"
meses (6) = "Julio"
meses (7) = "Agosto"
meses (8) = "Septiembre"
meses (9) = "Octubre"
meses (10) = "Noviembre"
meses (11) = "Diciembre"

response.write ubound(meses)

Esto mostrará un 11 (que es el número de posiciones de la tabla o array) en la página web.
Saludos