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

matrices dinámicas

Estas en el tema de matrices dinámicas en el foro de ASP Clásico en Foros del Web. Hola, tengo una matriz cuyo tamaño quiero que cambie dinámicamente y no se cómo hacerlo. Se que para cambiar el tamaño está el comando Redim ...
  #1 (permalink)  
Antiguo 10/05/2004, 03:05
 
Fecha de Ingreso: enero-2002
Ubicación: Graná
Mensajes: 646
Antigüedad: 22 años, 5 meses
Puntos: 0
matrices dinámicas

Hola, tengo una matriz cuyo tamaño quiero que cambie dinámicamente y no se cómo hacerlo. Se que para cambiar el tamaño está el comando

Redim preserve matriz(20)

pero esto funciona para vectores, pero ¿y si quiero redimensionar sólo la primera fila de la matriz?
  #2 (permalink)  
Antiguo 10/05/2004, 07:17
 
Fecha de Ingreso: enero-2004
Mensajes: 396
Antigüedad: 20 años, 5 meses
Puntos: 0
¿REdimensionar la primera fila de la matriz?-- Creo que te estas haciendo un pequeño lio, no querras redimensionar solo una de las dimensiones de la matrix?
  #3 (permalink)  
Antiguo 10/05/2004, 08:20
 
Fecha de Ingreso: julio-2002
Ubicación: stgo rec
Mensajes: 438
Antigüedad: 21 años, 10 meses
Puntos: 3
Hola,

no se puede redimensionar la primera dimension de una matriz, solo es posible con la ultima.

Redim Preserve Matriz(3,I)

esta matriz queda de 3 columnas por I filas
__________________
Saludos
Leo
  #4 (permalink)  
Antiguo 10/05/2004, 08:55
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Cita:
Hola,

no se puede redimensionar la primera dimension de una matriz, solo es posible con la ultima.

Redim Preserve Matriz(3,I)

esta matriz queda de 3 columnas por I filas
No, no, leophp, en una matriz dimensionas primero las filas y luego las columnas, y según yo, si se pude redimensionar cualquiera de los dos elementos:

Dim arr()
f = 1 'filas
c = 3 'columnas

'Creamos una matriz de 1 fila por 3 renglones
redim arr(f, c)

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 10/05/2004, 10:18
 
Fecha de Ingreso: julio-2002
Ubicación: stgo rec
Mensajes: 438
Antigüedad: 21 años, 10 meses
Puntos: 3
Cita:
Mensaje Original por u_goldman


No, no, leophp, en una matriz dimensionas primero las filas y luego las columnas, y según yo, si se pude redimensionar cualquiera de los dos elementos:

Dim arr()
f = 1 'filas
c = 3 'columnas

'Creamos una matriz de 1 fila por 3 renglones
redim arr(f, c)

Salu2,
De que estamos hablando ???, si es de matrices estaticas si, eso es verdad, pero cuando tu necesitas redimensionar una matriz (dinamica) SIN PERDER LA INFORMACION QUE ESTA TIENE ese comado no te sirve por que al hacer el redim arr(f,c) la informacion se pierde.

en cambio con REDIM PRESERVE arr(3,I) te agrega el numero de filas deseado no perdiendo el valor de las otras filas
__________________
Saludos
Leo
  #6 (permalink)  
Antiguo 10/05/2004, 11:02
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
y la primera vez que redimensionas es necesario utilizar el preserve? checa el código, además el punto es que van primero las filas y luego las columnas....además, mi ejemplo es de una matríz dinámica, en fin no discutamos!

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 10/05/2004, 11:44
 
Fecha de Ingreso: julio-2002
Ubicación: stgo rec
Mensajes: 438
Antigüedad: 21 años, 10 meses
Puntos: 3
Para que sea dinamica debe mantener los datos.


EJ :
Redim Matriz(3,1)
For I=1 to 10
Redim Preserve Matriz(3,I)
Matriz(1,I )="Dato" & cstr(I)
Matriz(2,I )="Dato" & cstr(I)
Matriz(3,I )="Dato" & cstr(I)
Next

Me captas la idea, el vb no te hacepta redimensionar una matriz por otra dimension que no sea la ultima.

prueba y veras
__________________
Saludos
Leo
  #8 (permalink)  
Antiguo 10/05/2004, 12:02
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Cita:
Dim arr()
f = 1 'filas
c = 3 'columnas

'Creamos una matriz de 1 fila por 3 renglones
redim arr(f, c)
Cita:
y la primera vez que redimensionas es necesario utilizar el preserve?
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #9 (permalink)  
Antiguo 10/05/2004, 12:08
 
Fecha de Ingreso: julio-2002
Ubicación: stgo rec
Mensajes: 438
Antigüedad: 21 años, 10 meses
Puntos: 3
?????
__________________
Saludos
Leo
  #10 (permalink)  
Antiguo 10/05/2004, 12:32
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Exacto..!
calladito se ve más bonito
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #11 (permalink)  
Antiguo 10/05/2004, 13:00
 
Fecha de Ingreso: julio-2002
Ubicación: stgo rec
Mensajes: 438
Antigüedad: 21 años, 10 meses
Puntos: 3
no entiendi cual es tu idea ?
__________________
Saludos
Leo
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 01:45.