Por: gersonm + Otros tutoriales de gersonm + 15 de Mayo del 2004
Se puede decir que hay dos soluciones, una sencilla y artesanal y otra un tanto más técnica, así que comenzaremos con la sencilla:
La idea es que el archivo (“doc.txt” para efectos de nuestro tutor) contenga una variable dentro, algo como:
sign=1&otra_variable=otro_valor
Ya dentro de la película dibujaremos un botón al que por acción le escribiremos:
on(release){ // PASO 1 nombre_de_archivo = caja.text;//donde caja (nombre de instancia) es un //campo de introducción de texto y en //donde se escribió "doc.txt" ..sin las //comillas, claro :) // PASO 2 loadVariablesNum(nombre_de_archivo, 0); //PASO 3 if(sign == 1){ //PASO 4 trace("el archivo existe porque entramos aquí"); }else{ //PASO 5 trace("el archivo no existe porque entramos aquí"); } }
Como vemos, la lógica utilizada es bastante simple, pero en algunos casos efectiva.
Sin embargo, qué ocurre cuando no tenemos acceso al archivo que estamos buscando antes de encontrarlo ?, obviamente el método anterior no funciona, es entones cuando la solución técnica comienza a jugar.
En esta solución se hará uso del un objeto introducido en Flash MX, LoadVars(), y cuya explicación con ejemplo aplicado a consultar unas tablas en MySQL con la ayuda de PHP lo encontramos en:
http://www.macromedia.com/es/devnet/mx/flash/articles/flashmx_php.html
El objeto LoadVars() nos ayudará con un evento y una propiedad, llamados onLoad() y loaded respectivamente.
Aquí la lógica es levemente distinta:
El código es mostrado a continuación (si se tratase de un botón):
on(release){ //PASO 1 var carga = new LoadVars(); //PASO 2 carga.load(caja.text); //PASO 3 carga.onLoad = function(){ //PASO 4 if(carga.loaded == true){ caja.text = "El archivo exite"; }else{ caja.text = "El no archivo exite"; } } }
Lo interesante de esta solución es que el evento onLoad se carga cuando el método load() o sendAndLoad() hayan terminado su trabajo completamente, así que en el momento de ejecutar la línea 4, la propiedad loaded ya tendrá el resultado, que será true en caso de que el archivo haya sido leído o false en caso contrario.
Gerson Montenegro (gersonm)
gersonmontenegro@hotmail.com
www.cristalab.com
Si tienes alguna pregunta de este tutorial; puedes hacerla aqui en los foros