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

Declarar variables de manera dinamica

Estas en el tema de Declarar variables de manera dinamica en el foro de ASP Clásico en Foros del Web. Hola: Genere un formulario donde los textbox los creo con un For, asi que varian por lo tanto al asignarles nombre lo hice con un ...
  #1 (permalink)  
Antiguo 18/03/2011, 12:03
Avatar de citaem  
Fecha de Ingreso: agosto-2005
Mensajes: 218
Antigüedad: 19 años, 2 meses
Puntos: 0
Declarar variables de manera dinamica

Hola:

Genere un formulario donde los textbox los creo con un For, asi que varian por lo tanto al asignarles nombre lo hice con un prefijo "txt1" + el consecutivo del for.

Ahora mi problema es para recuperar dichas variables:

de entrada requiero declarar variables por ejemplo

Código ASP:
Ver original
  1. Dim "txt1"+Replace(grMatricesGlobales(1,b)," ","")
o algo parecido, pero me causa error, una vez que logre declarar de manera dinamica, supongo que sera algo similar para recuperar el valor del objeto en el formulario con algo asi:

"txt1"+Replace(grMatricesGlobales(1,b)," ","") = load.GetValue("txt1" + el consecutivo)

Pero no lo tengo muy claro y no me funcion....

¿me ayudan?...

GRACIAS
  #2 (permalink)  
Antiguo 18/03/2011, 12:17
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 18 años, 10 meses
Puntos: 8
Respuesta: Declarar variables de manera dinamica

este tema ya esta en el foro

http://www.forosdelweb.com/1113128-post122.html
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
  #3 (permalink)  
Antiguo 18/03/2011, 14:13
Avatar de citaem  
Fecha de Ingreso: agosto-2005
Mensajes: 218
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: Declarar variables de manera dinamica

mc_quake :

Pues la opcion que me das no me soluciona mucho, ya que las variables las generas dinamicamente, pero al invocarlas lo haces en codigo duro... si en ese ejemplo yo intento invocarla de forma dinamica con

Código ASP:
Ver original
  1. ' En este caso tu le das el nombre de la variable en codigo duro y le pides el valor...
  2. response.write variable_0 & "<br/>"
  3.  
  4. ' pero yo requiero seguir invocando a la variable de forma dinamica, asi...
  5.  
  6. Response.write "variable_" & x

lo que me imprime en pantalla, no es el valor contenido en la variable, si no el nombre de la variable....

variable_0
variable_1
variable_2
variable_3
variable_4
variable_5
variable_6
variable_7
variable_8
variable_9
variable_10

y es que todo mi proceso esta dinamico, no puedo obligarlo con codigo duro, ya que los catalogos de los cuales genero el formulario original y los objetos cambia constantemente, por ello requiero que lo maneje dinamico....

¿ALGUNA OTRA SUGERENCIA?... te lo agradeceria mucho...
  #4 (permalink)  
Antiguo 18/03/2011, 15:13
Avatar de Julcar  
Fecha de Ingreso: noviembre-2007
Ubicación: C:\inetpub\wwwroot\Guayaquil
Mensajes: 1.507
Antigüedad: 17 años
Puntos: 54
Respuesta: Declarar variables de manera dinamica

puedes publicar un poco mas de codigo? se me ocurre que no puedes declarar variables desde un for y con valores de un array, eso es imposible.
__________________
Linux no es el único S.O. libre, conoce a ReactOS el Windows Libre!
"Si mis respuestas te dan la calma, espárceme un poco de karma"
  #5 (permalink)  
Antiguo 18/03/2011, 16:31
Avatar de citaem  
Fecha de Ingreso: agosto-2005
Mensajes: 218
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: Declarar variables de manera dinamica

Este tabla es mi formulario


Código ASP:
Ver original
  1. Dim b
  2.                                     for b = 0 to Ubound(grMatricesGlobales,2) %>
  3.                                       <table width="500" height="100" border="2" align="center">
  4.                                           <tr bgcolor="<%=RowColor("#F5F3F4","#DEEAFA")%>">
  5.                                             <th colspan="5" class="Estilo2 Estilo10" scope="col"><%=grMatricesGlobales(1,b)%></th>
  6.                                           </tr>
  7.                                           <tr bgcolor="<%=RowColor("#F5F3F4","#DEEAFA")%>">
  8.                                             <th colspan="4" class="Estilo2 Estilo10" scope="row">trimestre</th>
  9.                                             <td width="81" ><div align="center" class="Estilo8"><span class="Estilo5 Estilo7 Estilo10">total</span></div></td>
  10.                                           </tr>
  11.                                           <tr>
  12.                                             <th width="101" class="Estilo2"><div align="center">1&ordm;</div></th>
  13.                                             <th width="90" class="Estilo2"><div align="center">2&ordm;</div></th>
  14.                                             <th width="95" class="Estilo2"><div align="center">3&ordm;</div></th>
  15.                                             <th width="97" class="Estilo2"><div align="center">4&ordm;</div></th>
  16.                                             <td rowspan="2"><div align="center">
  17.                                               <input name="txtToT<%=Replace(grMatricesGlobales(1,b)," ","")%>" value="0" type="text" size="10" disabled="disabled">
  18.                                             </div></td>
  19.                                           </tr>
  20.                                           <tr>
  21.                                             <td scope="row"><div align="center">
  22.                                               <input name="txt1<%=Replace(grMatricesGlobales(1,b)," ","")%>" value="0" type="text" size="10" onkeypress="LP_data()" onfocus="startCalc('<%=Replace(grMatricesGlobales(1,b)," ","")%>','<%=nCarga%>');" onblur="stopCalc();" />
  23.                                             </div></td>
  24.                                             <td><div align="center">
  25.                                               <input name="txt2<%=Replace(grMatricesGlobales(1,b)," ","")%>" value="0" type="text" size="10" onKeypress="LP_data()" onFocus="startCalc('<%=Replace(grMatricesGlobales(1,b)," ","")%>','<%=nCarga%>');" onBlur="stopCalc();">
  26.                                             </div></td>
  27.                                             <td><div align="center">
  28.                                               <input name="txt3<%=Replace(grMatricesGlobales(1,b)," ","")%>" value="0" type="text" size="10" onKeypress="LP_data()" onFocus="startCalc('<%=Replace(grMatricesGlobales(1,b)," ","")%>','<%=nCarga%>');" onBlur="stopCalc();">
  29.                                             </div></td>
  30.                                             <td><div align="center">
  31.                                               <input name="txt4<%=Replace(grMatricesGlobales(1,b)," ","")%>" value="0" type="text" size="10" onKeypress="LP_data()" onFocus="startCalc('<%=Replace(grMatricesGlobales(1,b)," ","")%>','<%=nCarga%>');" onBlur="stopCalc();">
  32.                                             </div></td>
  33.                                           </tr>
  34.                                       </table> <% next  %>

esta tabla se genera N veces con un for, segun la seleccion previa del usuario.... (por lo que es variante), asi que genero dinamicamente el nombre de cada objeto de cada tabla.


Cuando pretendo recuperar el valor de los objetos para poder hacer una inserciònn en mi Base de datos necesito:

1. Declarar el nombre de las variables (Dim)

Código ASP:
Ver original
  1. Dim "txt1"+Replace(grMatricesGlobales(1,b)," ","")

2. Asignarle a esa variable dinamicamente , el valor recuperado del objeto creado dinamicamente

Código ASP:
Ver original
  1. "txt1"+Replace(grMatricesGlobales(1,b)," ","") = load.GetValue("txt1"+Replace(grMatricesGlobales(1,b)," ",""))
  2.  
  3. ' esto es similar a decir  que  MiVariable = Valor(MiVariable) ya que en ambos casos genero de forma dinamica los nombres.

Pero no logro que funcione la declaracion de variables y la recuperacion de valores desde el formulario.... quiza intento algo que no se puede hacer o esto se debe solucionar de otra manera ¿Que opinan?
  #6 (permalink)  
Antiguo 18/03/2011, 19:29
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 8 meses
Puntos: 88
Respuesta: Declarar variables de manera dinamica

Alguno a mirado la Biblioteca de Clases, Funciones???

por que existe algo como esto
http://www.forosdelweb.com/833910-post3.html

creen que pueda servir ???
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #7 (permalink)  
Antiguo 22/03/2011, 17:06
Avatar de citaem  
Fecha de Ingreso: agosto-2005
Mensajes: 218
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: Declarar variables de manera dinamica

Hola Shiryu_Libra:

El codigo que indicas, generalmente funciona muuuuuyyyy bien para visualizar el total de parametros que son rescatables desde el formulario, pero solo para visializar los datos...

en este caso no es muy funcional ya que como el formulario original esta encryptado, por que tambien subo documentos, es obligatorio recuperar los parametros con load.GetValue (que es el equivalesn te a Request.form)...

Yo no he logrado que funciones con load.getValue, pero aun cuando funcionara, mi problema no es saber lo que estoy recibiendo desde el formulario previo, ya que lo tengo bien identificado y lo escribo en pantalla con un for.

El primero de los problemas es declarar dinamicamente las variables para N numero de objetos del formulario (ya que el numero de objetos en formulario cambia de manera automatica), con Dim (ya que todas mis paginas manejan el Option Explicit al iniciol) y segundo poder asignarle valores a esas variables declaradas, pero siempre teniendo presente que este numero de objetos en pantalla y por lo tanto variables a declarar varia....
  #8 (permalink)  
Antiguo 23/03/2011, 20:25
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 10 meses
Puntos: 146
Respuesta: Declarar variables de manera dinamica

declarar las variables yo no lo haría. Yo definiría un arreglo y luego dependiendo del número de elementos enviados lo redefiniría. Ya teniendo una sola variable con el total del elementos, pues simplemente lo llenaría con el método que utilices para recolectar los campos del formulario.

Creo que quizá estas siendo presa de tu propio diseño, olvida el definir una variable por control.

Prueba y nos dices.

saludos

Etiquetas: declarar, dinamica, variables
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 12:06.