array

30/09/2005 - 15:43 por Enrique | Informe spam
hola a todos

Estoy creando un carrito de compra a partir de una pagina estatica. cuando
el usuario pincha a una categoria, aparece la pagina de productos de esta
categoria. cada producto tiene un hipervinculo para añadir este producto al
carrito de compra. se recibe correctamente el idProducto del producto pero
me hace falta tambien gestionar la cantidad (inicialmente 1 pero que debe
ser modificable) por lo que necesito un array de 2 columnas y numero
indeterminado de filas de forma que cada vez que el usuario añada un
producto al carrito de compra, se vaya rellenando el array y se muestre en
pantalla totalmente actualizado para por fin en el momento de la
formalizacion del pedido poder volcar los datos a la base de datos
subyacente.

el problema es que hasta ahora no he conseguido poder trabajar con este
array porque no consiguo ponerlo en ambito global. lo declaro en el global
asa. no se si es aqui que se debe declarar o en cualquier otra pagina. esta
claro que no se puede declarar en la pagina del carrito de compra porque
sino se declara cada vez que se ejecuta la pagina por lo que se
reinicializa, es decir: nace y muere con la pagina.

la idea es poder trabajar una estructura dinamica en memoria que puede
crecer y decrecer a nuestro entojo. me interesa cualquier idea,
planteamiento o alternativa

muchas gracias por su ayuda

Preguntas similare

Leer las respuestas

#1 Nuno Santos
30/09/2005 - 17:17 | Informe spam
Generalmente se utiliza variables de sesión para esos casos, ya tentastes
utilizar variáveis de sesión, recurda que puedes colocar sea çp que for
dentro de una variable de sesión...


dim obj
set obj = Server.CreateObject("MiDll.MiClasse")

session("MiSession") = obj 'la variable de sesión guarda el object obj que
hace referencia a la dll...


Nuno Santos

Nuno Santos
nunos7[REMOVER]@hotmail.com

"Enrique" wrote in message
news:
hola a todos

Estoy creando un carrito de compra a partir de una pagina estatica. cuando
el usuario pincha a una categoria, aparece la pagina de productos de esta
categoria. cada producto tiene un hipervinculo para añadir este producto
al
carrito de compra. se recibe correctamente el idProducto del producto pero
me hace falta tambien gestionar la cantidad (inicialmente 1 pero que debe
ser modificable) por lo que necesito un array de 2 columnas y numero
indeterminado de filas de forma que cada vez que el usuario añada un
producto al carrito de compra, se vaya rellenando el array y se muestre en
pantalla totalmente actualizado para por fin en el momento de la
formalizacion del pedido poder volcar los datos a la base de datos
subyacente.

el problema es que hasta ahora no he conseguido poder trabajar con este
array porque no consiguo ponerlo en ambito global. lo declaro en el global
asa. no se si es aqui que se debe declarar o en cualquier otra pagina.
esta
claro que no se puede declarar en la pagina del carrito de compra porque
sino se declara cada vez que se ejecuta la pagina por lo que se
reinicializa, es decir: nace y muere con la pagina.

la idea es poder trabajar una estructura dinamica en memoria que puede
crecer y decrecer a nuestro entojo. me interesa cualquier idea,
planteamiento o alternativa

muchas gracias por su ayuda




Respuesta Responder a este mensaje
#2 Enrique
30/09/2005 - 18:48 | Informe spam
gracias por tu ayuda pero me cuesta entender lo que me has puesto. segun lo
que entiendo, me intentas decir que una variable de sesion puede almacenar
un objeto que como tal proviene de una classe. ok, de acuerdo, una variable
de sesion puede recoger cualquier valor de tipo fundamental: numerico,
alfanumerico, fecha, moneda, booleano, tambien puede almacenar arrays y al
final object.

vale, pero lo que me interesa es trabajar con una estructura dinamica en
memoria. entiendo por una estructura dinamica una matriz que debe poder
crecer y decrecer sea mediante redimensionamiento (redim) o no (un objeto
como el dicionary)...

simplemente no se como hacer que esta matriz sea global de forma que se
pueda no solo usar sino redimensionar en cualquier parte, ¿me puedes ayudar?




"Nuno Santos" <nunos7[REMOVE]@hotmail.com> escribió en el mensaje
news:
Generalmente se utiliza variables de sesión para esos casos, ya tentastes
utilizar variáveis de sesión, recurda que puedes colocar sea çp que for
dentro de una variable de sesión...


dim obj
set obj = Server.CreateObject("MiDll.MiClasse")

session("MiSession") = obj 'la variable de sesión guarda el object obj que
hace referencia a la dll...


Nuno Santos

Nuno Santos
nunos7[REMOVER]@hotmail.com

"Enrique" wrote in message
news:
> hola a todos
>
> Estoy creando un carrito de compra a partir de una pagina estatica.


cuando
> el usuario pincha a una categoria, aparece la pagina de productos de


esta
> categoria. cada producto tiene un hipervinculo para añadir este producto
> al
> carrito de compra. se recibe correctamente el idProducto del producto


pero
> me hace falta tambien gestionar la cantidad (inicialmente 1 pero que


debe
> ser modificable) por lo que necesito un array de 2 columnas y numero
> indeterminado de filas de forma que cada vez que el usuario añada un
> producto al carrito de compra, se vaya rellenando el array y se muestre


en
> pantalla totalmente actualizado para por fin en el momento de la
> formalizacion del pedido poder volcar los datos a la base de datos
> subyacente.
>
> el problema es que hasta ahora no he conseguido poder trabajar con este
> array porque no consiguo ponerlo en ambito global. lo declaro en el


global
> asa. no se si es aqui que se debe declarar o en cualquier otra pagina.
> esta
> claro que no se puede declarar en la pagina del carrito de compra porque
> sino se declara cada vez que se ejecuta la pagina por lo que se
> reinicializa, es decir: nace y muere con la pagina.
>
> la idea es poder trabajar una estructura dinamica en memoria que puede
> crecer y decrecer a nuestro entojo. me interesa cualquier idea,
> planteamiento o alternativa
>
> muchas gracias por su ayuda
>
>
>
>



Respuesta Responder a este mensaje
#3 William Rivera
30/09/2005 - 19:11 | Informe spam
Buenas,
Soy novato en ASP pero mirando un libro que es con el que estoy
aprendoendo encontre esto:

Si almacenamos una variable array a nivel de aplicación, para modificar sus
valores no podremos

hacerlo directamente, sino que se debe hacer a través de una variable
auxiliar, que será la que se

modificará y luego asignará a la variable de aplicación correspondiente.



y el ejemplo es

<%Dim vector(3)

vector(0)="Primer valor"

vector(1)="Segundo"

vector(2)="Tercero"

vector(3)="Ultimo Valor"

Application("valores")=vector



'Para modificar los valores recuperamos la variable

vectorAux=Application("valores")

vectorAux(2)="Elemento modificado"

Application("valores")=vectorAux

For i=0 to UBound(Application("valores"))

Response.Write

"Application('valores')("&i&")="&Application("valores")(i)&"<br>"

Next%>


Y el resultado de este código es:

Application('valores')(0)=Primer valor

Application('valores')(1)=Segundo

Application('valores')(2)=Elemento modificado

Application('valores')(3)=Ultimo Valor

Espero te ayude


William Rivera




"Enrique" wrote in message
news:
hola a todos

Estoy creando un carrito de compra a partir de una pagina estatica. cuando
el usuario pincha a una categoria, aparece la pagina de productos de esta
categoria. cada producto tiene un hipervinculo para añadir este producto
al
carrito de compra. se recibe correctamente el idProducto del producto pero
me hace falta tambien gestionar la cantidad (inicialmente 1 pero que debe
ser modificable) por lo que necesito un array de 2 columnas y numero
indeterminado de filas de forma que cada vez que el usuario añada un
producto al carrito de compra, se vaya rellenando el array y se muestre en
pantalla totalmente actualizado para por fin en el momento de la
formalizacion del pedido poder volcar los datos a la base de datos
subyacente.

el problema es que hasta ahora no he conseguido poder trabajar con este
array porque no consiguo ponerlo en ambito global. lo declaro en el global
asa. no se si es aqui que se debe declarar o en cualquier otra pagina.
esta
claro que no se puede declarar en la pagina del carrito de compra porque
sino se declara cada vez que se ejecuta la pagina por lo que se
reinicializa, es decir: nace y muere con la pagina.

la idea es poder trabajar una estructura dinamica en memoria que puede
crecer y decrecer a nuestro entojo. me interesa cualquier idea,
planteamiento o alternativa

muchas gracias por su ayuda




Respuesta Responder a este mensaje
#4 Nuno Santos
30/09/2005 - 19:21 | Informe spam
Mira la solución que te dá Wiiliam, pero em vez de utilizar variables de
aplicación te recomiendo que lo hagas con variables de sesión... lo que te
tenté explicar, pero mi español está muy malo e muchas vezes me faltan las
palabras...

Nuno Santos


Nuno Santos
nunos7[REMOVER]@hotmail.com

"Enrique" wrote in message
news:u$
gracias por tu ayuda pero me cuesta entender lo que me has puesto. segun
lo
que entiendo, me intentas decir que una variable de sesion puede almacenar
un objeto que como tal proviene de una classe. ok, de acuerdo, una
variable
de sesion puede recoger cualquier valor de tipo fundamental: numerico,
alfanumerico, fecha, moneda, booleano, tambien puede almacenar arrays y al
final object.

vale, pero lo que me interesa es trabajar con una estructura dinamica en
memoria. entiendo por una estructura dinamica una matriz que debe poder
crecer y decrecer sea mediante redimensionamiento (redim) o no (un objeto
como el dicionary)...

simplemente no se como hacer que esta matriz sea global de forma que se
pueda no solo usar sino redimensionar en cualquier parte, ¿me puedes
ayudar?




"Nuno Santos" <nunos7[REMOVE]@hotmail.com> escribió en el mensaje
news:
Generalmente se utiliza variables de sesión para esos casos, ya tentastes
utilizar variáveis de sesión, recurda que puedes colocar sea çp que for
dentro de una variable de sesión...


dim obj
set obj = Server.CreateObject("MiDll.MiClasse")

session("MiSession") = obj 'la variable de sesión guarda el object obj
que
hace referencia a la dll...


Nuno Santos

Nuno Santos
nunos7[REMOVER]@hotmail.com

"Enrique" wrote in message
news:
> hola a todos
>
> Estoy creando un carrito de compra a partir de una pagina estatica.


cuando
> el usuario pincha a una categoria, aparece la pagina de productos de


esta
> categoria. cada producto tiene un hipervinculo para añadir este
> producto
> al
> carrito de compra. se recibe correctamente el idProducto del producto


pero
> me hace falta tambien gestionar la cantidad (inicialmente 1 pero que


debe
> ser modificable) por lo que necesito un array de 2 columnas y numero
> indeterminado de filas de forma que cada vez que el usuario añada un
> producto al carrito de compra, se vaya rellenando el array y se muestre


en
> pantalla totalmente actualizado para por fin en el momento de la
> formalizacion del pedido poder volcar los datos a la base de datos
> subyacente.
>
> el problema es que hasta ahora no he conseguido poder trabajar con este
> array porque no consiguo ponerlo en ambito global. lo declaro en el


global
> asa. no se si es aqui que se debe declarar o en cualquier otra pagina.
> esta
> claro que no se puede declarar en la pagina del carrito de compra
> porque
> sino se declara cada vez que se ejecuta la pagina por lo que se
> reinicializa, es decir: nace y muere con la pagina.
>
> la idea es poder trabajar una estructura dinamica en memoria que puede
> crecer y decrecer a nuestro entojo. me interesa cualquier idea,
> planteamiento o alternativa
>
> muchas gracias por su ayuda
>
>
>
>








Respuesta Responder a este mensaje
#5 Enrique
30/09/2005 - 19:36 | Informe spam
gracias por tu ayuda. esto lo encontre en
http://www.asptutor.com/asp/vart.asp?id& y la verdad es que es interesante
ver como una variable de sesion o de aplicacion puede almacenar cualquier
tipo de datos e incluso matrices.

mi problema (carrito de compra), es que no se de antemano cuantos productos
me va a pedir un cliente. por eso, debo usar un array dinamico, es decir un
array en el que no se conocen el numero de valores de antemano, eso es su
tamaño,. a su vez significa que cada vez que el cliente pida un nuevo
producto, se incremente una variable de sesion tipo:
session("num_articulos") = session("num_articulos")+1 que da la nueva
dimension de nuestro array dinamico. lo puedo redimensionar en la misma
pagina del carrito de compra pero ¿donde declaro mi matriz dinamica para que
sea global y se puede redimensionar en mi carrito de compra?

gracias por tu respuesta




"William Rivera" escribió en el mensaje
news:
Buenas,
Soy novato en ASP pero mirando un libro que es con el que estoy
aprendoendo encontre esto:

Si almacenamos una variable array a nivel de aplicación, para modificar


sus
valores no podremos

hacerlo directamente, sino que se debe hacer a través de una variable
auxiliar, que será la que se

modificará y luego asignará a la variable de aplicación correspondiente.



y el ejemplo es

<%Dim vector(3)

vector(0)="Primer valor"

vector(1)="Segundo"

vector(2)="Tercero"

vector(3)="Ultimo Valor"

Application("valores")=vector



'Para modificar los valores recuperamos la variable

vectorAux=Application("valores")

vectorAux(2)="Elemento modificado"

Application("valores")=vectorAux

For i=0 to UBound(Application("valores"))

Response.Write

"Application('valores')("&i&")="&Application("valores")(i)&"<br>"

Next%>


Y el resultado de este código es:

Application('valores')(0)=Primer valor

Application('valores')(1)=Segundo

Application('valores')(2)=Elemento modificado

Application('valores')(3)=Ultimo Valor

Espero te ayude


William Rivera




"Enrique" wrote in message
news:
> hola a todos
>
> Estoy creando un carrito de compra a partir de una pagina estatica.


cuando
> el usuario pincha a una categoria, aparece la pagina de productos de


esta
> categoria. cada producto tiene un hipervinculo para añadir este producto
> al
> carrito de compra. se recibe correctamente el idProducto del producto


pero
> me hace falta tambien gestionar la cantidad (inicialmente 1 pero que


debe
> ser modificable) por lo que necesito un array de 2 columnas y numero
> indeterminado de filas de forma que cada vez que el usuario añada un
> producto al carrito de compra, se vaya rellenando el array y se muestre


en
> pantalla totalmente actualizado para por fin en el momento de la
> formalizacion del pedido poder volcar los datos a la base de datos
> subyacente.
>
> el problema es que hasta ahora no he conseguido poder trabajar con este
> array porque no consiguo ponerlo en ambito global. lo declaro en el


global
> asa. no se si es aqui que se debe declarar o en cualquier otra pagina.
> esta
> claro que no se puede declarar en la pagina del carrito de compra porque
> sino se declara cada vez que se ejecuta la pagina por lo que se
> reinicializa, es decir: nace y muere con la pagina.
>
> la idea es poder trabajar una estructura dinamica en memoria que puede
> crecer y decrecer a nuestro entojo. me interesa cualquier idea,
> planteamiento o alternativa
>
> muchas gracias por su ayuda
>
>
>
>



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida