Por: Freddie + Otros tutoriales de Freddie + 3 de Marzo del 2004
Macromedia ha cambiado muchas veces el rumbo de Flash, iniciando desde una robusta aplicación destinada a la animación vectorial (Y en consecuencia, liviana) para la web hasta llegar a todo un entorno multimedia de integración cliente/servidor, bases de datos, con soporte multiusuario y capacidades ActionScript que han desplazado a Java del lado del cliente y lo han replegado a aplicaciones de mas alto poder.
Entre las tantas capacidades y necesidades actuales nos encontramos con escribir datos en el disco duro del usuario, util cuando queremos recordar a nuestro usuario, o cuando queremos que algun dato sea persistente, Flash tambien ha llenado esta expectativa por medio de los SharedObjects.

on (release) { //Invoco la función (Que creare mas tarde) guardarDatos //pasandole por parametro el nombre y el correo guardarDatos(nombre_txt.text, correo_txt.text); }
on (release) { //La función cargarDatos recibe por parametro el dato a devolver, //lo entenderan mejor al ver las funciones nombre_txt.text = cargarDatos("nombre"); correo_txt.text = cargarDatos("correo"); }
//Esta función recibe por parametro el nombre y el correo a guardar function guardarDatos(nombre:String, correo:String) { //Creamos una nueva variable de tipo SharedObject, esta sera la //que nos guarde datos en el disco del usuario var disco_so:SharedObject; //El metodo "getLocal" del objeto "SharedObject" me devuelve //algo asi como un archivo que le pase por parametro, en este //caso, el archivo se llama "datos", si no existe, lo crea disco_so = SharedObject.getLocal("datos"); //Los SharedObjects tiene una colección llamada "data", a esta //le asignamos todas las variables que vamos a guardar en el //archivo, en mi caso les puse "elNombre" y "elCorreo" //Les asigno los datos que llegaron como parametro de la función disco_so.data.elNombre = nombre; disco_so.data.elCorreo = correo; //Por ultimo, esa instrucción del SharedObject guarda en el disco //los datos disco_so.flush(); } //La función de cargar datos me devolvera uno de los datos que le pase //por parametro, tenemos dos, un nombre y un correo, asi que dependiendo //de lo que le pidamos lo devolvera function cargarDatos(dato) { //Estas 2 lineas son iguales que en la anterior función var disco_so:SharedObject; //Pero aqui, cuando le pedimos que sabra el archivo "datos", //automaticamente carga toda la información contenida en ese archivo disco_so = SharedObject.getLocal("datos"); //Si el parametro que llego fue "nombre".... if (dato == "nombre") { //Retornara el nombre que guardamos en el archivo return disco_so.data.elNombre; //Si no, y si en cambio es "correo" } else if (dato == "correo") { //Retornara el correo guardado return disco_so.data.elCorreo; } }
Ejemplo del tutorial
Archivos del tutorial
Si tienes alguna pregunta de este tutorial; puedes hacerla aqui en los foros