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

Matriz en session

Estas en el tema de Matriz en session en el foro de ASP Clásico en Foros del Web. ¿Alguien podria ayudarme y decirme que esta mal en este codigo? if Session("archivo")=nothing then redim Session("archivo")(0) else redim preserve Session("archivo")(Ubound(Session("archivo"))+1) end if Session("archivo")(Ubound(Session("archivo")))=Fil eName Ell ...
  #1 (permalink)  
Antiguo 13/04/2007, 02:11
 
Fecha de Ingreso: abril-2007
Mensajes: 18
Antigüedad: 17 años, 2 meses
Puntos: 0
Matriz en session

¿Alguien podria ayudarme y decirme que esta mal en este codigo?
if Session("archivo")=nothing then
redim Session("archivo")(0)
else
redim preserve Session("archivo")(Ubound(Session("archivo"))+1)
end if

Session("archivo")(Ubound(Session("archivo")))=Fil eName


Ell error que me sale es el siguiente:
Error de compilación de Microsoft VBScript error '800a0401'

Se esperaba un final de instrucción

/fdr/archivo.asp, línea 128

If IsEmpty(Session("archivo")) Then ReDim Session("archivo")(0)
  #2 (permalink)  
Antiguo 13/04/2007, 02:39
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: Matriz en session

No se puede redimensionar una sesion. Tienes que asignarle una variable y trabajar sobre ella. Una vez que has hecho las operaciones pertinentes con la variable matriz, vuelve a asignarsela a la sesion:

Dim ar(), l

l = 0
if isArray(session("archivo")) then
ar = Session("archivo")
l = Ubound(ar)+1
Redim Preserve ar(l)
end if
ar(l) = FileName

Session("archivo") = ar



Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #3 (permalink)  
Antiguo 13/04/2007, 03:02
 
Fecha de Ingreso: abril-2007
Mensajes: 18
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Matriz en session

Muchisimas gracias por contestar, el tema de las matrices se me atasca mucho, he probado como me comentas pero me sale este error ahora:

Error de Microsoft VBScript en tiempo de ejecución error '800a0009'

El subíndice está fuera del intervalo


Gracias otra vez
  #4 (permalink)  
Antiguo 13/04/2007, 04:03
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: Matriz en session

Ups. Un despiste. Saca el Redim Preserve de la sentencia If...then

Código:
Dim ar(), l

l = 0
if isArray(session("archivo")) then 
     ar = Session("archivo")
     l = Ubound(ar)+1
end if
 Redim Preserve ar(l)
ar(l) = FileName

Session("archivo") = ar

Mis disculpas
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #5 (permalink)  
Antiguo 13/04/2007, 04:34
 
Fecha de Ingreso: abril-2007
Mensajes: 18
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Matriz en session

Te agradezo mucho tu ayuda, ahora el primer valor parece que lo guarda bien pero cuando va a guardar el segundo valor me da este error:

No coinciden los tipos

en la linea 123 que es esta:
ar = Session("archivo")

es complicadillo esto....grrr
Gracias
  #6 (permalink)  
Antiguo 13/04/2007, 04:51
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: Matriz en session

No, no lo es. Es falta de tiempo (y, por ende, falta de concentracion en lo que hago :( )

Esto es lo correcto:

Código:
Dim s, x, arIn, arOut()


s = 0
if isArray(session("archivo")) then
    arIn = Session("archivo")
    s = Ubound(arIn)
    Redim arOut(s)
    for x = 0 to s
        arOut(x) = arIn(x)
    next
    s = s + 1
end if
Redim Preserve arOut(s)
arOut(s) = FileName

Session("archivo") = arOut
Deberia haberlo hecho bien desde el principio pero ando liadillo



Disculpame y un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #7 (permalink)  
Antiguo 13/04/2007, 05:08
 
Fecha de Ingreso: abril-2007
Mensajes: 18
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Matriz en session

Muchisimas gracias, asi si parece que es, ahora le dare vueltas como recoger todos los valores para enviarlos con un Mail.AddAttachment
El FileName era el nombre de los archivos que voy subiendo al servidor.
Muchisimas gracias otra vez por haberme dado tu tiempo.

No consigo recoger los datos....una manita?

Última edición por ignacioel; 13/04/2007 a las 05:58
  #8 (permalink)  
Antiguo 13/04/2007, 06:39
 
Fecha de Ingreso: abril-2007
Mensajes: 18
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Matriz en session

tammander una ultima ayuda por favor,

¿como le voy asignando el nombre de los ficheros recogidos?

Mail.AddAttachment (Server.Mappath("/adjuntos/"&¿¿¿¿¿variables del array?????&""))


gracias por toda la ayuda
  #9 (permalink)  
Antiguo 13/04/2007, 07:02
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: Matriz en session

No se que componente mail usas pero, a grosso modo, podría ser asi:

Código:
dim arIn
arIn = session("archivo")

if isArray(arIn) then
    for x = 0 to UBound(arIn)
         Mail.AddAttachment (Server.Mappath("/adjuntos/""" & arIn(x) & """"))
    next
end if


Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #10 (permalink)  
Antiguo 13/04/2007, 07:28
 
Fecha de Ingreso: abril-2007
Mensajes: 18
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Matriz en session

Conseguido, muchisimas gracias....eres una maquina, sobraban cuatro comillas pero lo demas funciona perfecto, GRACIASSSSSSSS
Mail.AddAttachment (Server.Mappath("/adjuntos/" & arIn(x) & ""))

Da gusto encontrarse gente como tu creeme.
Saludos
  #11 (permalink)  
Antiguo 13/04/2007, 07:42
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: Matriz en session

Cita:
Iniciado por ignacioel Ver Mensaje
sobraban cuatro comillas pero lo demas funciona perfecto,
Cierto. Maldito despiste

Cita:
Iniciado por ignacioel Ver Mensaje
Da gusto encontrarse gente como tu creeme.
Saludos

Gracias


Saludos
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
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 17:56.