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

¿Matrices?

Estas en el tema de ¿Matrices? en el foro de ASP Clásico en Foros del Web. Holas, tengo una duda.. quiero hacer algo así <% dim i, numero numero = 4 for i = 1 to numero var1 = request.form("var"&i) var2 ...
  #1 (permalink)  
Antiguo 02/08/2003, 03:39
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 5 meses
Puntos: 3
¿Matrices?

Holas, tengo una duda.. quiero hacer algo así

<%
dim i, numero
numero = 4
for i = 1 to numero
var1 = request.form("var"&i)
var2 = request.form("var"&i)
var3 = request.form("var"&i)
var4 = request.form("var"&i)
next
%>

pero una vez vi algo así

<%
dim i, numero
numero = 4
for i = 1 to numero
var(i) = request.form("var"&i)
var(i) = request.form("var"&i)
var(i) = request.form("var"&i)
var(i) = request.form("var"&i)
next
%>

he intendado hacer eso pero me sale este error:

No coinciden los tipos: 'var

cómo puedo hacer? es q el problema es q yo en verdad no sé cual puede ser el valor de "numero"
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #2 (permalink)  
Antiguo 02/08/2003, 03:40
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 5 meses
Puntos: 3
perdón, creo q no me expliqué muy bien, el primer código si funciona, pero el segundo no.. y me sale el error:

No coinciden los tipos: 'var'
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #3 (permalink)  
Antiguo 02/08/2003, 06:00
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 7 meses
Puntos: 4
La verdad es que no entiendo muy bien ese código, ya que me parece que en cada vuelta del bucle se reescriben la variables y siempre con el mismo valor.

Si lo que pretendes es que la variable 1 tenga el valor correspondiente del campo 1, la 2 el del 2, ... debrías hacer esto si no me equivoco.

Código:
<%
dim i, numero, var()
numero = 4
for i = 1 to numero
  if i=1 then
    Redim var(i)
  else
    Redim Preserve var(i)
  end if

var(i) = request.form("var"&i)

next
%>
De esta manera defines la matriz var() sin una longitud determinada y si quieres cambiar dinámicamente el valor de numero, no habrá problemas, porque en cada vuelta la matriz se redimensionará conservando los valores anteriores.

Prueba después a escribir los valores de las variables para comprobar qeu se han recogido los datos correctamente.

Código:
<%
for i=1 to numero
  Response.Write(var(i)&"<br>")
next
%>
Sobre lo de los tipos, es posible que con Request.Form estés recogiendo datos tipo texto, aunque sean números, y lo intente guardar en la variable var que es de tipo numérico:

Prueba entonces esto:

Código:
var(i) = CSng(Request.Form("var"&i))
Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #4 (permalink)  
Antiguo 02/08/2003, 06:04
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 7 meses
Puntos: 4
Se me olvidaba, para saber el tipo de datos de una variable has de escribir:

Response.Write(varType(variable))

Te devoverá un número. Los números correspondientes para cada tipo de dato los tienes aquí si estás trabajando con Visual Basic Script:

http://www.desarrolloweb.com/articulos/165.php?manual=1

Un saludo de nuevo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
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:50.