Comunidad de diseño web y desarrollo en internet online

Ayuda con un Sub arreglolist en AS2

Citar            
MensajeEscrito el 15 Oct 2008 04:08 am
Hola que tal, soy nuevo en este foro y en la programacion y me da gusto encontrar ayuda tan valiosa como lo es este foro, son muy buenos!! ^^ apenas empece a programar y lo hice en action scirpt :lol: y mi pregunta es la siguiente.

tengo un arreglo que extrae una cadena de un contenedor_mc que almaceno las variables en mi action script de un asp ...¿como podria generar un subarreglo coomparativo de variables que genera el usuario dinamicamente cada vez que haga click a un icono que fue duplicado por las variables que genera el asp 1,2,3,4 con ayuda de duplicateMovie,
me explico:
con las variables que ya tengo almacenadas en cada icono duplicado gracias al arreglo le puse un boton invisible que depliega un menu contextual y su funcion es de habillitar o desahabilitar los botones marcar o desmarcar segun un if, cuando el usuario elige marcarlo o desmarcarlo. la idea que tengo es la siguiente:

he generado un arreglo que captura los datos del icono cada vez que haya sido clickeado por el usuario y le añado una "N" despues esa cadena la separo y extraigo la variable comparativa y la comparo con el contenedor en donde if(variable.subtr(0,1)== "N"&&variablecoomparativa==variabledelarregloanterior) my_btn_marcar.enabled = false; y my_btn_desmarcar.enabled=true;al hacer un RollOver, ahora alclickear boton desmaracar le quito la N le pongo una "S" y despues con otro if le digo que si es "S" de nuevo el boton marcar...todo esta muy bien hasta aqui pero la variable del arreglo se sobreesescribe con un nuevo click en otro icono y ya no me sirve por que quiero que todos los marcados ya no puedan marcarse otra vez y queden con el boton marcar deshabilitado ...¿que hago? ¿estoy pensando mal en la solucion? que me falta? pienso que seria con una especie de arreglo list en donde va agregando las variables y les va poniendo una "N" al principio y todas las variables que se encuentre dentro del list sean comparadas con el anterior y puedan ser marcadas o desmarcadas si el if se los permite pero no se como ir guardando las variables en forma de lista con cada click no hay mucha informacion sobre list en as2 o no se buscar bien, les agradesco de antemano que me puedan ayudar :P

Por darome

32 de clabLevel



 

msie
Citar            
MensajeEscrito el 15 Oct 2008 10:16 am
Sugerencia:

1. Describe el problema que quieres resolver (no como lo resolviste)
2. Describe que hiciste

Intenta hacerlo en 3/4 líneas por punto. La síntesis no es solo por mi haraganería de leer, es un síntoma del punto en que te hallas. Usualmente falta de foco para el problema o inadecuadas soluciones requieren de mucha explicación, un buen foco y solución coherente se explican fácil

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 15 Oct 2008 11:30 am

solisarg escribió:

Sugerencia:

1. Describe el problema que quieres resolver (no como lo resolviste)
2. Describe que hiciste

Intenta hacerlo en 3/4 líneas por punto. La síntesis no es solo por mi haraganería de leer, es un síntoma del punto en que te hallas. Usualmente falta de foco para el problema o inadecuadas soluciones requieren de mucha explicación, un buen foco y solución coherente se explican fácil

Jorge


jorge gracias por tu consejo, y perdona la molestia de leer algo confuso, si tienes mucha razon tratare de explicarlo breve y concretamente esto es lo que no puedo hacer :(

1.-que una variable generada por un click se almacene en una especie de arreglo sin sobreescribir asi es como quisiera........
click(sobre el objeto 1),se muestre en el trace "variable objeto1",
click(sobre el objeto 2), se muestre en el trace "variable objeto1,variable objeto 2",
click(sobre el objeto 3), se muestre en el trace "variable objeto 1,variable objeto 2,variable objeto 3"

y despues si le hacemos click a los objetos en la secuencia que sea por ejemplo 2,1,3 resulte algo asi

click(sobre el mismo objeto 2 de arriba) se muestre en el trace "variable1,variable3"
click(sobre el mismo objeto 1 de arriba) se muestre en el trace "variable3"
click(sobre el el mismo objeto 3 de arriba) se muestre en el trace " undefined"

mencione que el asp que me manda las variables, varia a veces me puede mandar solo 5 y solo se duplica el objeto 5 veces o no se quiza me mande 40 y se duplique 40 veces o quizas mas de cuarenta no lo se, todo depende del query que hace a la base de datos.

y esto es lo que ya logre pero falta lo del punto 1:
2.-al hacer click sobre el objeto pasa esto ........
click(sobre el objeto 1), se muestra en el trace "variable objeto1",
click(sobre el objeto 2),se muestra en el trace "variable objeto 2",
click(sobre el objeto 3), se muestra en el trace "variable objeto 3"
y tambien logre que se sumen que eso ya es ganancia por que tambien es lo que queria por ejemplo el valor de la varibale1 es 4 y la variable2=7 si hago click objeto1 y luego click objeto2 hago que se muestre trace 11; :D

Pero me falta lo del punto numero 1 , que aparte de que se sume con la anterior se muestre junto con las otras que ya han sido sumadas trace "variable objeto1,variable objeto 2=11", no se si me explique gracias por su atencion.

Por darome

32 de clabLevel



 

msie
Citar            
MensajeEscrito el 15 Oct 2008 11:45 am
La correcta expresión del problema es en realidad el principio de la solución. Voy a intentar sintetizar lo que entiendo:

1. Necesitas grabar una secuencia de valores y guardarla en un asp (eso es básicamente Array.push y un objeto LoadVars)
2. Necesitas cargar esa secuencia e irla vaciando a medida que se apretan botones (correctos)

¿Entiendo bien? Tu segunda explicación está mejor, pero sigue faltando síntesis

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 15 Oct 2008 12:44 pm

solisarg escribió:

La correcta expresión del problema es en realidad el principio de la solución. Voy a intentar sintetizar lo que entiendo:

1. Necesitas grabar una secuencia de valores y guardarla en un asp (eso es básicamente Array.push y un objeto LoadVars)
2. Necesitas cargar esa secuencia e irla vaciando a medida que se apretan botones (correctos)

¿Entiendo bien? Tu segunda explicación está mejor, pero sigue faltando síntesis

Jorge


perdoname con tanto rollo y creo que entre mas me esfuerze en sobrexplicar lo que quiero mas enredo la idea :lol: gracias a ti lo puedo verlo y lo peor es que sigo sin aterrrizar la idea correctamente a ver algo mas breve

1.-si eso que dices en el punto uno es verdad que emocion ya casi me doy a entender :D pero ........en el asp no,.. en un arreglo....o algo asi dentro de flash en sub arreglos..

no quiero devolver nada al asp como dices en el punto numero 1 solo queiero trabajar dentro de flash con las variables que me mando asp la primera vez y ya sin alterarlas en el asp vamos sin volver a cargar el asp con cada click o con un botn de enviar variables el rollo lo quiero hacer dentro de flash ¿se puede? digamos que es algo interactivo como un cd...gulp espero no complicar la idea con esto que dije del cd interactivo .... pero estoy totalmente abierto a sugerencias no voy a aprender nada si me cierrro :lol:

2.-en el punto numero 2 es totalmente correcto :D si quiero cargar la secuencia datos y despues descargarlos ...
yo sugeri hacerlo en un arreglo lista no se que eso pero por ahi he leido algo no mucho

mil gracias me gustaria que me agregaras al msn el mio es [email protected]

Por darome

32 de clabLevel



 

msie
Citar            
MensajeEscrito el 15 Oct 2008 02:04 pm
Para agregar al arreglo usas array.push, eso no tiene ningún secreto
Para quitar tienes dos pasos:

1. Ver que el valor coincida (valor del elemento clickado y último elemento del array)
2. Usar Array.splice para quitar el último elemento del array

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 15 Oct 2008 09:28 pm

solisarg escribió:

Para agregar al arreglo usas array.push, eso no tiene ningún secreto
Para quitar tienes dos pasos:

1. Ver que el valor coincida (valor del elemento clickado y último elemento del array)
2. Usar Array.splice para quitar el último elemento del array

Jorge


solisarg escribió:

Para agregar al arreglo usas array.push, eso no tiene ningún secreto
Para quitar tienes dos pasos:

1. Ver que el valor coincida (valor del elemento clickado y último elemento del array)
2. Usar Array.splice para quitar el último elemento del array

Jorge


solisarg escribió:

Para agregar al arreglo usas array.push, eso no tiene ningún secreto
Para quitar tienes dos pasos:

1. Ver que el valor coincida (valor del elemento clickado y último elemento del array)
2. Usar Array.splice para quitar el último elemento del array

Jorge


gracias jorge eres un pistolero para contestar rapido y presiso en esto muchas gracias por las prontas respuestas ya he avanzado mucho en la idea conceptual del problema gracias a mis cocolasos que me has dado :lol:
perdon que no haya contestado antes pero intente los puntos que me dijiste antes de volver a contestar
pero segun lo aprendido el codigo push lo hice de la siguiente manera:


/*coomparado 2 es la variable del array que viene del asp esa es la que quiero ir almacenando y la variable comparado es la que viene del evento OnRollover que ejerzo sobre el boton del icono lo que hace es que se identifica y la agrega al nuevo arreglo pero....la sustituye en cuanto posesiono sobre otro icono o cuando clickeo sobre el icono y solo veo dos diferentes cada evento que hago para que l as almacene cada click a todas*/
var objetos_array:Array = new Array(comparado2);
_global.pushed = objetos_array.push(comparado);
//esta es una variable de texto que me muestra que el arreglo encima lo que le pongo cada vez que selecciono otro objeto
p45=objetos_array;

y me sigue encimando la variable

Por darome

32 de clabLevel



 

msie
Citar            
MensajeEscrito el 15 Oct 2008 09:57 pm
Mmm, bien, vamos por partes:

comparado 2 es la variable del array que viene del asp


¿Estás usando LoadVars a para cargar la info desde el asp? El array lo rellenas con un solo objeto ... ¿ese objeto es un array, un string? A menos que uses Remoting (y no necesitarías construir el array porque lo pasarías directamente) lo mas probable es que recibas un string, y que entonces tu array sea una cadena de un solo string con números y comas. ¿Me equivoco?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 15 Oct 2008 11:05 pm

solisarg escribió:

Mmm, bien, vamos por partes:

comparado 2 es la variable del array que viene del asp


¿Estás usando LoadVars a para cargar la info desde el asp? El array lo rellenas con un solo objeto ... ¿ese objeto es un array, un string? A menos que uses Remoting (y no necesitarías construir el array porque lo pasarías directamente) lo mas probable es que recibas un string, y que entonces tu array sea una cadena de un solo string con números y comas. ¿Me equivoco?

Jorge


guauuuuu asi es :shock: asi lo recibo:

documento.asp - contenedor_mc - cadena:string - cadena.split(;) - arreglo[] y el resultado final de cada objeto creado es 12,346789,110,20

Por darome

32 de clabLevel



 

msie
Citar            
MensajeEscrito el 15 Oct 2008 11:08 pm

darome escribió:

solisarg escribió:

Mmm, bien, vamos por partes:

comparado 2 es la variable del array que viene del asp


¿Estás usando LoadVars a para cargar la info desde el asp? El array lo rellenas con un solo objeto ... ¿ese objeto es un array, un string? A menos que uses Remoting (y no necesitarías construir el array porque lo pasarías directamente) lo mas probable es que recibas un string, y que entonces tu array sea una cadena de un solo string con números y comas. ¿Me equivoco?

Jorge


guauuuuu asi es :shock: asi lo recibo:

documento.asp - contenedor_mc - cadena:string - cadena.split(;) - arreglo[] y el resultado final de cada objeto creado es 12,346789,110,20


y despues lo separo asi var my_array:Array = my_str.split(";");
_global.Id_del_punto =my_array[0];
_global.coomparado2=my_array[1];
Longitud_Punto = my_array[3];
Latitud_Punto = my_array[4];

Por darome

32 de clabLevel



 

msie
Citar            
MensajeEscrito el 15 Oct 2008 11:38 pm
Array = my_str.split(";");
_global.Id_del_punto =my_array[0]; //12
_global.coomparado2=my_array[1];//346789
Longitud_Punto = my_array[3];//110
Latitud_Punto = my_array[4]; //20
el dos no me interesa por que no esta definido aun eso es problema del dba

Por darome

32 de clabLevel



 

msie
Citar            
MensajeEscrito el 16 Oct 2008 10:27 am
Bien, supongo que el arreglo (es decir si trazas comparado2) tiene una serie numérica, por decir 1,3,5,2,6,9
Entonces supongo que ahora necesitas que el usuario pulse los botones (cada botón tiene asignado un valor) para repetir esa secuencia, ¿correcto?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 Oct 2008 03:09 pm

solisarg escribió:

Bien, supongo que el arreglo (es decir si trazas comparado2) tiene una serie numérica, por decir 1,3,5,2,6,9
Entonces supongo que ahora necesitas que el usuario pulse los botones (cada botón tiene asignado un valor) para repetir esa secuencia, ¿correcto?

Jorge


mmm si y no, la secuencia en como los fue oprimiendo no importa.......lo que importa es si ya oprimio ese boton antes o no, y que la segunda vez que lo vuelva a oprimir aparezca otra accion diferente .... me explico?

el dilema esta en como saber que botones fueron oprimidos ya, y cuales faltan por oprimir?

como lo dije antes yo imagine, que habia algo que pudiera ir almacenando las variables conforme oprimía cada objeto y que las fuera guardando para cuando el usuario oprimiera otra vez un objeto repetido que se encontraria en la lista almacenada que se fue creando cuando se le hizo click por primera vez antes a ese objeto... pero solo logro que me sobreescriba la variable anterior y no la adjunta con la de otro boton que ya alla sido oprimido....

que hago? :ownz:

Por darome

32 de clabLevel



 

msie
Citar            
MensajeEscrito el 16 Oct 2008 03:14 pm
Entonces podríamos plantear el problema así:

- La primera vez que se oprime un botón pasa A
- La segunda vez que se oprime un botón pasa B

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 Oct 2008 03:18 pm
Me refiero al mismo botón, claro

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 Oct 2008 03:35 pm
ademas pienso que crees que estoy igualando una contraseña o algo asi no?......pues no, no quiero igualar un numero en concreto lo que quiero es ir marcando los objetos,...... para que me captes la idea, es como cuando vas seleccionando carpetas en mis documentos con tecla control y click izquierdo del mouse y las deseleccionas cuando vuleves a hacer click sobre la carpeta que ya seleccionaste ja.. eso es todo ..... asi es la idea como ir seleccionando carpeteas

el valor de coomparado 2 no es un clave que yo divida en un arreglo. si no que la variable coomparado2 es ya un numero desmembrado de 5 digitos de la cadena my_str auie te mando mas concreto el codigo que te envie de arriba
for (i in _parent.ContratosInteres_mc) {
var EstePunto:String = String(eval("_parent.Cargador_Puntos."+PuntoSelecionado)._name);
var PuntoVariable:String = String(i);
if (PuntoVariable == EstePunto) {
VariablesDelPunto = _parent.ContratosInteres_mc[i];
var my_str:String = VariablesDelPunto;
var my_array:Array = my_str.split(";");
Id_Contrato = my_array[0];
_global.coomparado2=my_array[1];

Por darome

32 de clabLevel



 

msie
Citar            
MensajeEscrito el 16 Oct 2008 03:52 pm
perdon por lo de desmembrado de 5 digitos quise decir es una variable de 5 digitos y fue sacada de la cadena my_str
cuando converti my_str en arreglo.

despues esa variable global coomparado 2 es la que quiero comparar por que es diferente para cada objeto tambien podria ser con id_Contrato pero esa la ocupo para otras cosas y no quiero que se creen conflictos despues ..........

Por darome

32 de clabLevel



 

msie
Citar            
MensajeEscrito el 16 Oct 2008 03:59 pm

solisarg escribió:

Entonces podríamos plantear el problema así:

- La primera vez que se oprime un botón pasa A
- La segunda vez que se oprime un botón pasa B

Jorge


andale algo asi es la cosa (y)

Por darome

32 de clabLevel



 

msie
Citar            
MensajeEscrito el 16 Oct 2008 04:01 pm
pero como?

Por darome

32 de clabLevel



 

msie
Citar            
MensajeEscrito el 16 Oct 2008 05:58 pm
Bien, entonces podríamos hacer lo que se dice un toggle button, teniendo un MC con dos fotogramas, sería algo así:

Código ActionScript :

miBoton.onPress = function(){
  if(this._currentFrame==1){
    //llamar a A
    gotoAndStop(2)
  } else {
    //llamar a B
    gotoAndStop(1)
 }
}


En el fotograma 1 el gráfico normal, en el fotograma 2 el gráfico como seleccionado, donde pongo llamar a A o a B, pues llamadas a las funciones que necesites

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 17 Oct 2008 07:30 pm

solisarg escribió:

Bien, entonces podríamos hacer lo que se dice un toggle button, teniendo un MC con dos fotogramas, sería algo así:

Código ActionScript :

miBoton.onPress = function(){
  if(this._currentFrame==1){
    //llamar a A
    gotoAndStop(2)
  } else {
    //llamar a B
    gotoAndStop(1)
 }
}


En el fotograma 1 el gráfico normal, en el fotograma 2 el gráfico como seleccionado, donde pongo llamar a A o a B, pues llamadas a las funciones que necesites

guauuuuuuuuuuuuuuu :shock: muchas gracias algun dia sere como tu muchisimas gracias quiero decirte que apesar de los problemas que tuve al implementar el ._current"f"rame sin ti jamas lo hubiera logrado muchas gracias tambien quiero publicar los problemas que se pueden encontrara al implementar el ._currentframe

bueno al pirncipio de cuentas me equivoque por que lo nombraba el frame con nombre de etiqueta "seleccionado" en lugar de 1 o 2 :lol: ja ahi me tarde mucho en encontrar el problema que solo acepta numeros de frame que tonto obvio y la otra fue como llamar al punto actual en el espacio this pero asi lo solucione.
Cargador_Puntos = MC donde vienen los iconos a duplicar
PuntoSelecionado = una bandera
CuadrantePuntoInt = MC animacion estado del boton
[code]if (eval("_parent.Cargador_Puntos."+PuntoSelecionado+".CuadrantePuntoInt")._currentframe==2) {

_root.Menu_contextual_contratos.btn_marcar.enabled = false;
_root.Menu_contextual_contratos.btn_marcar._alpha = 20;
_root.Menu_contextual_contratos.btn_desmarcar.enabled = true;
_root.Menu_contextual_contratos.btn_desmarcar._alpha = 100;
} else {
_root.Menu_contextual_contratos.btn_desmarcar.enabled = false;
_root.Menu_contextual_contratos.btn_desmarcar._alpha = 20;
_root.Menu_contextual_contratos.btn_marcar.enabled = true;
_root.Menu_contextual_contratos.btn_marcar._alpha = 100;
}

}
}

Jorge

jorge que me recomiendas para poder mejorar mi enfoque ademas donde puedo mejorar mi programacion en gral de algun tutorial algun lenguaje en fin muchas gracias por todo eres muy bueno felicidades (y)

este tema lo doy por solucionado gracias.

Por darome

32 de clabLevel



 

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.