Comunidad de diseño web y desarrollo en internet online

Botón Deshacer Última Acción

Citar            
MensajeEscrito el 22 May 2005 04:04 pm
zzz: busqué en 1589840389852 posts y me rindo posteo la duda, quiero hacer un sistema online en flash, como todo sistema de información común y corriente tiene las opciones normales insertar guardar buscar modificar y eliminar, lo que quiero saber como se hace es...... un botón como el de word ( :roll: ) en el que escribes algo pero si metes la pata o algo puedes deshacer la acción, el famoso botoncito Deshacer cambios alguna idea de como hacerlo???, umm supongo q seria con una variable que vaya guardando la ultima acción hecha por el usuario y que el botón ese limpie dicha variable pero .... esa es solo una loca teoria.... :cry: help?!!...

Por Furian

6 de clabLevel



Genero:Masculino  

[~Mérida - Venezuela~]

firefox
Citar            
MensajeEscrito el 22 May 2005 05:03 pm
Pues mira, creo que te lo tendras que implementar con algo de lógica, tu mismo. Básicamente la idea es saber, cual es el texto anterior, y cual el nuevo, para poder deshacer o rehacer acciones. Mira, me he puesto a escribir un pequeño código, que espero te de la idea, y tal vez les sirva a otros.


Este código, es un sencillo, sistema de deshacer, rehacer. Muy útil, para cuando tenemos inputs, con un límite de Caracteres, de unos 200. Ojo, es una idea, para que lo desarrollen, no un sistema funcional.

Código :

Introduce.onChanged = function() {
   posicionActual += 1;
   Acciones[posicionActual] = this.text;
};
function deshacer(delta) {
   posicionActual += delta;
   posicionActual = (posicionActual<0) ? 0 : (posicionActual>(Acciones.length-1)) ? (Acciones.length-1) : posicionActual;
   Introduce.text = Acciones[posicionActual];
}



Ahorita no tengo flash, asi que lo de arriba es la idea, con el code, de abajo, lo puedes ver en acción, solo copy/paste, en una nueva pelicula:

Código :

function inicia() {
   createTextField("Introduce", 1, 100, 100, 200, 200);
   Acciones = new Array();
   Introduce.type = "input";
   Introduce.border = true;
   Introduce.multiline = true;
   Introduce.wordWrap = true;
   createEmptyMovieClip("boton", 2);
   with (boton) {
      lineStyle(1, 0xFF6600, 100);
      lineTo(60, 0);
      lineTo(60, 30);
      lineTo(0, 30);
      lineTo(0, 0);
      createTextField("texto", 1, 10, 10, 60, 20);
      texto.text = "deshacer";
      texto.selectable = false;
   }
   boton._x = 100;
   boton._y = 60;
   boton.onRelease = function() {
      this._parent.deshacer(-1);
   };
   createEmptyMovieClip("boton2", 3);
   with (boton2) {
      lineStyle(1, 0xFF6600, 100);
      lineTo(60, 0);
      lineTo(60, 30);
      lineTo(0, 30);
      lineTo(0, 0);
      createTextField("texto", 1, 10, 10, 60, 20);
      texto.text = "rehacer";
      texto.selectable = false;
   }
   boton2._x = 200;
   boton2._y = 60;
   boton2.onRelease = function() {
      this._parent.deshacer(1);
   };
   posicionActual = 0;
}
inicia();
Introduce.onChanged = function() {
   posicionActual += 1;
   Acciones[posicionActual] = this.text;
};
function deshacer(delta) {
   posicionActual += delta;
   posicionActual = (posicionActual<0) ? 0 : (posicionActual>(Acciones.length-1)) ? (Acciones.length-1) : posicionActual;
   Introduce.text = Acciones[posicionActual];
}


Saludos! :wink:

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

clabbrowser
Citar            
MensajeEscrito el 22 May 2005 05:19 pm
omg!!! :D gracias bro :D ahorita mismo lo empizo a revisar, si doy con algo bueno lo posteo aquí para ayudar a alguien q lo pueda necesitar.... Thx.... ^^

Por Furian

6 de clabLevel



Genero:Masculino  

[~Mérida - Venezuela~]

firefox

 

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