Foros del Web » Creando para Internet » Flash y Actionscript »

Sustituir el nombre del field con una variable

Estas en el tema de Sustituir el nombre del field con una variable en el foro de Flash y Actionscript en Foros del Web. Como sustituir el nombre del field con una variable para cambiar su contenido Suponiendo que quisiera poner "25" dentro del field "K7C1F1", utilizaria K7C1F1.text = ...
  #1 (permalink)  
Antiguo 27/10/2013, 13:22
 
Fecha de Ingreso: febrero-2003
Mensajes: 204
Antigüedad: 21 años, 9 meses
Puntos: 2
Sustituir el nombre del field con una variable

Como sustituir el nombre del field con una variable para cambiar su contenido

Suponiendo que quisiera poner "25" dentro del field "K7C1F1", utilizaria
K7C1F1.text = "25";

Suponiendo que lo quiero construirr con variables y dado que el valor K=7 C=1 y F=1

He probado con

var K = 7;
var C = 1;
var F = 1;
nombre_field = "K"+K+"C"+C+"F"+F;
nombre_field.text = "25"; // Pero no funciona

Como lo deberia expresar
  #2 (permalink)  
Antiguo 27/10/2013, 20:28
Avatar de Manuellama  
Fecha de Ingreso: noviembre-2006
Ubicación: Zafra, Extremadura, Spain, Spain
Mensajes: 174
Antigüedad: 18 años
Puntos: 10
Respuesta: Sustituir el nombre del field con una variable

Código AS3:
Ver original
  1. import flash.text.TextField;
  2. var K7C1F1:TextField = new TextField();
  3. K7C1F1.text = "25";
  4. var K = 7;
  5. var C = 1;
  6. var F = 1;
  7. var nombre_field:TextField = new TextField();
  8. var nombre:TextField = this[String("K"+K+"C"+C+"F"+F)];
  9. trace(nombre.text);
  #3 (permalink)  
Antiguo 28/10/2013, 01:49
 
Fecha de Ingreso: febrero-2003
Mensajes: 204
Antigüedad: 21 años, 9 meses
Puntos: 2
Respuesta: Sustituir el nombre del field con una variable

la solución facilitada funciona

var K = 7;
var C = 1;
var F = 1;
var nombre:TextField = this[String("K"+K+"C"+C+"F"+F)];
nombre.text = "25";

Pero si las lineas del código las pongo dentro de la función ya no sale
La cuestión es que debe ir dentro de la función pues el número a poner es una variable que biene de una conulta en PHP

prueba=new LoadVars;
prueba.load("muestro.php");
prueba.onLoad=function () {
var serie:String = this.muestra;
var array:Array = serie.split(",");

var K = 7;
var C = 1;
var F = 1;
var nombre:TextField = this[String("K"+K+"C"+C+"F"+F)];
nombre.text = array[0];
}
  #4 (permalink)  
Antiguo 28/10/2013, 07:17
Avatar de Manuellama  
Fecha de Ingreso: noviembre-2006
Ubicación: Zafra, Extremadura, Spain, Spain
Mensajes: 174
Antigüedad: 18 años
Puntos: 10
Respuesta: Sustituir el nombre del field con una variable

LoadVars es de AS2.

¿Estás utilizando AS2?

No me acuerdo ya, pero creo que tendrás que poner _parent en vez de this, para hacer referencia al nivel superior.
  #5 (permalink)  
Antiguo 28/10/2013, 08:51
 
Fecha de Ingreso: febrero-2003
Mensajes: 204
Antigüedad: 21 años, 9 meses
Puntos: 2
Respuesta: Sustituir el nombre del field con una variable

Utilizo AS2

Pero no es en LoadVars ni en this lo que falla
sino que al parecer dentro de la función no establece la variable nombre como "K7C1F1"

Puesto que si pongo
K7C1F1.text = "25"; //si funciona
  #6 (permalink)  
Antiguo 28/10/2013, 13:47
Avatar de Manuellama  
Fecha de Ingreso: noviembre-2006
Ubicación: Zafra, Extremadura, Spain, Spain
Mensajes: 174
Antigüedad: 18 años
Puntos: 10
Respuesta: Sustituir el nombre del field con una variable

http://foros.cristalab.com/convertir...riable-t26033/
  #7 (permalink)  
Antiguo 28/10/2013, 13:48
Avatar de Manuellama  
Fecha de Ingreso: noviembre-2006
Ubicación: Zafra, Extremadura, Spain, Spain
Mensajes: 174
Antigüedad: 18 años
Puntos: 10
Respuesta: Sustituir el nombre del field con una variable

Creo que tienes que utilizar la función set para establecer la variable
  #8 (permalink)  
Antiguo 28/10/2013, 15:37
 
Fecha de Ingreso: febrero-2003
Mensajes: 204
Antigüedad: 21 años, 9 meses
Puntos: 2
Respuesta: Sustituir el nombre del field con una variable

Creo que el problema es que no mantiene el valor una vez salido de la funcion
He probado con _global (sin exito)
En cambio si la declaro antes si la soluciona


//_global.numero="5"; // si la declaro aqui si lo muestra correcto
prueba.onLoad=function () {
_global.numero="5"; // aqui no finciona
// aqui va un codigo que recoge variables de un php
// que a su vez es donde debe cargarse la variable numero
// por eso no la puedo poner antes de la funcion
}
var K = 7;
var C = 1;
var F = 1;
var nombre:TextField = this[String("K"+K+"C"+C+"F"+F)];
nombre.text = numero; // el field K7C1F1 deberia mostrar 5
  #9 (permalink)  
Antiguo 28/10/2013, 16:55
Avatar de Manuellama  
Fecha de Ingreso: noviembre-2006
Ubicación: Zafra, Extremadura, Spain, Spain
Mensajes: 174
Antigüedad: 18 años
Puntos: 10
Respuesta: Sustituir el nombre del field con una variable

prueba.onLoad=function () {
//Declaramos una variable global con el valor de 5
set ("_global.K"+K+"C"+C+"F"+F), "5");
}

Cambia esa parte, aunque no tengo compilador de AS2 así que no te puedo decir si funciona o no.
  #10 (permalink)  
Antiguo 29/10/2013, 02:22
 
Fecha de Ingreso: febrero-2003
Mensajes: 204
Antigüedad: 21 años, 9 meses
Puntos: 2
Respuesta: Sustituir el nombre del field con una variable

Tampoco sirve Set

Ya desesperado, no se como cargar una variable dentro de la función, para luego utilizarla fuera


prueba.onLoad=function () {
// que pongo aqui para que en Trace me muestre que el numero vale 5
}
trace(numero);
  #11 (permalink)  
Antiguo 29/10/2013, 07:19
Avatar de Manuellama  
Fecha de Ingreso: noviembre-2006
Ubicación: Zafra, Extremadura, Spain, Spain
Mensajes: 174
Antigüedad: 18 años
Puntos: 10
Respuesta: Sustituir el nombre del field con una variable

He buscado un compilador en línea de AS2.
http://metal.hurlant.com/as2/

Código AS2:
Ver original
  1. class Test {
  2.   public function Test(mc) {
  3. _global.K7C1F1 = "HELLO";  
  4. trace(varia());
  5.   }
  6. public function varia(){
  7. var K = 7;
  8. var C = 1;
  9. var F = 1;
  10. var nombre = _global[String("K"+K+"C"+C+"F"+F)];
  11. return nombre;
  12.  
  13. }
  14.  
  15.   public static function main(mc:MovieClip) {
  16.     var test = new Test(mc);
  17.   }
  18. }

Este código sí funciona. No sé si te servirá.
  #12 (permalink)  
Antiguo 29/10/2013, 15:29
Tachikomaia
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sustituir el nombre del field con una variable

¿Qué tal:
set ("K"+_level0.K+"C"+_level0.C+"F"+_level0.F), 5);
?

Para hacer que una variable sea global me imagino que bastará con crear una.
_level0.Variable = "Whatever";

En fin, no he entendido mucho del tema, pero si eso sirve...

Etiquetas: field, nombre, sustituir, variable, 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 22:35.