Foros del Web » Programando para Internet » ASP Clásico »

Redimension De Arreglos En Asp.

Estas en el tema de Redimension De Arreglos En Asp. en el foro de ASP Clásico en Foros del Web. Saludos a todos los colaboradores del foro: tengo el siguiente problema: tengo 2 ciclos for, estos son para hacer una gestion de cobranza, resulta que ...
  #1 (permalink)  
Antiguo 28/08/2005, 19:22
Avatar de g33k.gu  
Fecha de Ingreso: agosto-2005
Mensajes: 22
Antigüedad: 18 años, 9 meses
Puntos: 0
Redimension De Arreglos En Asp.

Saludos a todos los colaboradores del foro:
tengo el siguiente problema:

tengo 2 ciclos for, estos son para hacer una gestion de cobranza, resulta que mi cliente puede pagar mensual o anualmente, (la ultima parte fue pan comido), ahora, el verdadero problema es cuando mi cliente paga por mes, ya que el puede pagar el mes que se le antoje, del año anterior y pagar la mensualidad de su casillero en ese año o esperarse hasta el año siguiente, para hacer su pago, ahora, yo tengo este caso

mi cliente paga en marzo de 2004, y decide pagar hasta agosto de 2005
entonces, de marzo a diciembre, hay 9 meses, hasta ahi, va todo correcto, por que solo tiene 9 meses por devengar, (numericamente manejo los meses del 1 al 12), entonces, cuando termina de pagar 2004, osea hasta diciembre del 2004, viene enero, febrero, marzo, >> hasta agosto de 2005, mi pregunta es,

iTempAnosQueDebe = jAnoHoy - parseInt(iUltimoAnioPagadoCatalogo) if(iTempAnosQueDebe > 0){
iMensualidadesAnoAnterior = (12 - parseInt(iUltimoMesPagadostrCatalogo) * iTempAnosQueDebe)
iDebeMensualidades = iMensualidadesAnoAnterior + sMesActual
}else{
iDebeMensualidades = jMesHoy - (parseInt(iUltimoMesPagadostrCatalogo))
}
for(l=0;l<iDebeMensualidades;l++){
for(k=1;k<arrMesesID.length;k++){
if(¡arrMesesID[k] > 12){
var Mes = arrMesesID[k]
}else{
arrMesesID[k] = 0
****-----------EN ESTA PARTE ^^^
necesito hayar la forma de decirle a mi arreglo que tome el valor 0 en caso de que el indice del arrelgo “[k]” si es mayor a (12: Diciembre); utilice ya la sentencia “Redim” Arreglo(INDICENUEVO), y luego “Preserve”, para mantener la matriz dentro de este, pero no funciona, creo que esas palabras reservadas son para ASP – VBScript, yo tengo mi Server cofigurado (IIS) con ASP – Javascript, por lo tanto no funciona.

}
}
}

Previamente, he cargado los meses en un array con la bd, desde un catalogo de meses, asi como los años desde 1900 hasta 2100, igual y no llega hasta esa fecha mi programa, jajaj, pero necesito que funcione cuando menos hoy, ;)
Alguien conoce una forma de hacer esto ¿?, alguien sabe, como se hace, por favor respondan a [email protected]

Me urge, eso es todo mil gracias

Espero que haya algun colaborador habilidoso que ya haya resuelto este problemita, MIL GRACIAS nuevamente Dios los bendiga
----MAKE THE SOURCE BE WITH YOU -------#####G33K.......#######
  #2 (permalink)  
Antiguo 29/08/2005, 06:34
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Bueno si te urgía lo más seguro es que ya hayas encontrado el como hacerlo, dado que es muy sencillo de encontrar en google. Pero por si no, pues igual ahí te va:

http://webreference.com/javascript/r...ref/array.html

En esa liga encontraras que basta con asignar un valor a cierta casilla de posición X y el arreglo independientemente de el valor de su propiedad lenght (que asignando un valor mayor a esta, supongo tambien funcionaría), se incrementará a dicho valor.

Ahora, para tu problema general no te podría comentar nada respecto a tu código por que no le entiendo, jejeje, o yo por lo menos no he entendido que papel juega el vectorcito ¡arrMesesID.

Saludos
  #3 (permalink)  
Antiguo 29/08/2005, 19:18
Avatar de g33k.gu  
Fecha de Ingreso: agosto-2005
Mensajes: 22
Antigüedad: 18 años, 9 meses
Puntos: 0
Exclamación Redimension De Arreglos En Asp.

Respecto a lo del vector de arrMesesID este vector lo lleno de la siguiente manera: observa

var sSQLMeses = " SELECT * FROM Catalogos WHERE Sec_ID = 21 "
var arrMesesID = new Array(0)
var arrMesesNombre = new Array(0)
var rsSQLMeses = AbreTabla(sSQLMeses,1,0)
var iContadorMeses = 0
if(!rsSQLMeses.EOF){
while(!rsSQLMeses.EOF){
iContadorMeses++
arrMesesID[iContadorMeses] = rsSQLMeses.Fields.Item("Cat_Descripcion").Value
arrMesesNombre[iContadorMeses] = rsSQLMeses.Fields.Item("Cat_Nombre").Value
rsSQLMeses.MoveNext()
}
}
rsSQLMeses.Close()


como se haria en el llenado de cualquier arreglo, no lo crees, ahora el codigo que uso, ya esta algo maleado, puesto a que siempre hay necesidad de abrir tablas y crear recordsets, hice un tipo kernel, donde declaro mis funciones con sus parametros y como es un archivo de inclusion siempre y por default en cualquier pagina, excepto alguna que solo sea pintado de algun texto, lo omito, y esa es mi forma de trabajar.

ahora, he revisado ya el contenido de webreference, y google, me ha dado 7 ideas, pero sigo sin encontrar la forma, ya que si lo condiciono a "x < 13" x despues de 12 siempre sera 13, yo busco redimensionar esto.. a que despues de 12 siga 1 y no 13, me explico?

Gracias de antemano, por cierto web reference es muy instructiva ;)
  #4 (permalink)  
Antiguo 30/08/2005, 07:23
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Lo siento, no alcanzo aún a entender su algorítmo.
Por lo de "ya que si lo condiciono a "x < 13" x despues de 12 siempre sera 13, yo busco redimensionar esto.. a que despues de 12 siga 1 y no 13"
¿No te sirve algo como if(iContadorMeses==12) iContadorMeses=1 ?

PD. El sustantivo "kernel", esta mal empleado en tu mensaje de arriba.
  #5 (permalink)  
Antiguo 30/08/2005, 22:51
Avatar de g33k.gu  
Fecha de Ingreso: agosto-2005
Mensajes: 22
Antigüedad: 18 años, 9 meses
Puntos: 0
respuesta

mira, la parte no es cambiar una variable de valor, sino un INDICE de valor, tomando en cuenta que el indice se auto-incrementa, cuando el for, da la vuelta; respecto a lo del kernel... que te puedo decir.
Kernel, como lo dice el diccionario, es un NUCLEO, asi mismo el archivo que es el NUCLEO de todas mis paginas, es como si fuese el NUCLEO de algun sistema operativo, incluso tiene un FORK ;).

ah! Y, si ya lo intente, pero el Indice, no responde, y cuando el
if(variable == 12){
indice = 1
}
el valor de el mismo, no cambia, y como sigue INCREMENTANDO entonces, si pitagoras, no miente, 12 + 1 (1 es el incremento solicitado) es igual a 13 y entonces, de ahi en adelante, todos cambian a 1... como ves?
  #6 (permalink)  
Antiguo 31/08/2005, 06:23
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Bueno no intento cambiar la aplicación que le das tu al concepto de kernel, eso lo puse para que si alguien que no tenga claro el concepto de kernel en la jerga informática lo lee, pues no se confunda.

Y si lo que te causa problemas es que lo que quieres modificar es LA VARIABLE que utilizas como INDICE y por alguna extremadamente extraña razón no puedes, pues ya no uses el for y usa algún otro ciclo que no incremente de forma automática dicha variable y tu maneja la regla de salida con algún condicional. O mejor aún, usa una variable para el for y otra como índice del vector.

that's all for me
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:10.