http://foros.cristalab.com/aprendiendo-sobre-otros-programas.-t111581/
Y representa esto:
https://dl.dropboxusercontent.com/u/169164922/Misterio.jpg
El resto será revelado a medida que aumente el LV.
----------------------------------------------------------------------
El actual es...
Crear archivo llamado Variable1+"_"+Variable2+".txt"
Es decir, si la Variable1 fuese 1, y la Variable2 fuese 5, el archivo se llamaría: 1_5.txt
Además:
- El programa debe tener otra variable, Variable3, desde antes de crear el archivo.
- El archivo debe contener -en su contenido, esta vez no estoy hablando del nombre- las variables 1 y 2, pero no la 3.
- En el mismo programa crear otro archivo de cualquier nombre y tipo, pero que contenga solamente la variable 3, no la 1 ni la 2.
Eso es todo.
----------------------------------------------------------------------
En mi Flash no sé hacer eso. Sólo si "Variable3" está dentro de otro objeto o en un level distinto al 0, en cuyo caso sería "Nombredelobjeto.Variable3", o _levelnro.Variable3 -creo, no suelo usar otros lvs-. Si igual hago el programa, lo haría así:
Código :
// Frame 1. Variable1 = 1; Variable2 = 5; // El objeto Memoria está presente. Memoria.Variable3 = "Hola"; fscommand ("save", Variable1+"_"+Variable2+".txt"); // Eso genera el archivo que se pide, pero uno de los problemas es que guarda todas las variables que estén en el lv0. Para tener alguna sin que la guarde hay que ponerla en un objeto o en otro lv... // Frame 2: Vacío, según recuerdo sólo así creaba el archivo. // Frame 3. // Preparando verificación, porque no conozco función que lo haga. Memoria.Cargas = 0; // El objeto Memoria2 está presente. Memoria2.Variable1 = -1; Memoria2.Variable2 = -1; // No sé si era necesario crear esas dos variables aquí. // Frame 4. Memoria.Comparaciones = 0; Memoria.Cargas = Memoria.Cargas+1; loadVariables (Variable1+"_"+Variable2+".txt", "Memoria2"); // Carga el archivo -o sea las variables que tiene- en el objeto Memoria2. // Frame 5: Vacío también porque según recuerdo sino no carga. // Frame 6. // Convertir a números. Sep, cuando se cargan las variables del archivo se interpretan como texto... Memoria2.Variable1 = Number (Memoria2.Variable1)*1; Memoria2.Variable2 = Number (Memoria2.Variable2)*1; // Según recuerdo, si no ponía el *1 no funcionaba. Memoria.Verificacion = 1; // Compara variables. Memoria.Comparaciones = Memoria.Comparaciones+1; if (Variable1 != Memoria2.Variable1) { Memoria.Verificacion = 0; } else if (Variable2 != Memoria2.Variable2) { Memoria.Verificacion = 0; } // Frame 7. // Reintentar, reload, fin, o continuar. if (Memoria.Comparaciones == 10) { if (Memoria.Cargas == 3) { // fin fscommand ("save", "30 fallas en "+Variable1+"_"+Variable2+".txt"); // Esto da pautas de cual puede ser la falla. fscommand ("quit"); } else { // reload. gotoAndPlay (4); } } else if (Mem.Verificacion != 1) { // reintentar gotoAndPlay (6); } // Frame 8. // El objeto Memoria2 ya no está presente. De esta forma se borran todas las variables que tenía. Rápido y sencillo. // Frame 9. // El objeto Memoria2 está presente. Pero en blanco. Quizá haya que dejar un frame vacío antes de hacer esto, nunca lo he hecho realmente -lo de borrarlo sí, pero no lo de ponerlo inmediatamente después-. delete Variable1; delete Variable2; Variable3 = Memoria.Variable3; fscommand ("save", "Fin.txt"); fscommand ("quit"); // Este save lo compruebamos abriendo el archivo, pero sino habría que hacer algo similar a las comprobaciones anteriores.
Puede tener errores porque acabo de modificar los nombres de algunas variables (ej: Verif -> Verificacion) y agregarle algunas cosas.
Además sólo funciona publicando un exe con Flash 5 viejo. Si mal no recuerdo, publicar con el 8 no servía. De hecho Macromedia quitó el fs command save, el cual de hecho estaba indocumentado.
En fin, no sé tanto de Flash pero da la sensación de que, aunque es muy bueno para muchas cosas, no lo es tanto para hacer este ejercicio.
SO... ¿qué programa sí? ¿cómo lo harías?