Comunidad de diseño web y desarrollo en internet online

cargar variables de ASP en Flash

Citar            
MensajeEscrito el 24 Abr 2008 08:47 am
Por favor ya he colocado el código en el foro ayudarme!!!

Por PVDC

10 de clabLevel



Genero:Femenino  

msie7
Citar            
MensajeEscrito el 24 Abr 2008 12:36 pm
¿Donde lo has colocado que no lo he visto?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Abr 2008 03:41 pm
Lo que pasa es que el codigo que publico es biodegradable como las imagenes ^^

Por Jackguardian

39 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 24 Abr 2008 03:52 pm
Jajaja, dicen que anda suelto un virus de muerte cerebral, ¡¡ a tener cuidado chicos !!!

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 25 Abr 2008 08:06 am
Sabes que ? Mueren de muerte cerebral los que ocupan su tiempo en burlarse de los demás....seguro te crees muy listo, verdad??? A veces hace falta un poquillo de humildad...

Tengo un problema...cada vez que intento cargar variables de un archivo ASP en Flash, no logro que me funcione ningún código de LoadVars.load ni SendAndLoad ni XML.load.

Lo estoy mencionando en general........ porque tengo un código que es para enviar un correo electrónico a través de un formulario hecho en Flash y utilizando una página ASP que recibe las variables, envia el correo y luego envia a Flash el resultado del envío. Aquí utilizo SendAndLoad y no va, el código lo he copiado del tutorial que tenéis aquí. Ejecutando la página ASP sola, el correo se envía perfectamente.

Y en otra parte de la página tengo que cargar un archivo XML, pero para ello primero cargo un archivo ASP que es el que lo genera dinámicamente, para ello utilizo XML.Load("pagina.asp")
y tampoco me va. Cuando coloco XML.load(archivo.xml) funciona de maravilla.

En ambos casos tengo problemas con la carga de páginas asp desde Flash....

No se si tendré algún problema de configuración en el Flash, o en el IIS, no lo sé..o el código está mal, pero como os digo, el código está copiado del tutorial y no creo que esté mal, al contrario.

El código es el siguiente:

Este es el código que utilizo para enviar el correo:

EL CODIGO EN FLASH SE ENCUENTRA EN EL PRIMER FOTOGRAMA Y ES EL SIGUIENTE:

function BorraCampos() {
txtNombre.text="";
txtApellidos.text="";
txtDomicilio.text="";
txtLocalidad.text="";
txtProvincia.text="";
txtTelefono.text="";
txtMail.text="";
txtComentarios.text="";
};

btnListener = new Object();
btnListener.click = function(evObj){
BorraCampos();
};
btnLimpiar.addEventListener("click", btnListener);

btnListener2 = new Object();
btnListener2.click = function(evObj){
validacion = ValidaCampos ();
//if (Validacion) {
//enviarMail();
//};
};
btnEnviar.addEventListener("click", btnListener2);

// Función que envía el formulario
function enviarMail() {
// Declaro las variables para enviar y para recibir
var envio_lv:LoadVars = new LoadVars();
var recibir_lv:LoadVars = new LoadVars();

envio_lv.asunto = "Solicitud Información";
envio_lv.email = txtMail.text;
envio_lv.nombre = txtNombre.text;
envio_lv.apellidos = txtApellidos.text;
envio_lv.domicilio = txtDomicilio.text;
envio_lv.localidad = txtLocalidad.text;
envio_lv.provincia = txtProvincia.text;
envio_lv.telefono = txtTelefono.text;
envio_lv.cuerpo = txtComentarios.text;

envio_lv.sendAndLoad("email.asp", recibir_lv, "POST");

recibir_lv.onLoad = function (exito) {
if (exito) {
estado_txt.html = true;
estado_txt.htmlText = this.estado;
BorraCampos();
gotoAndStop("CorreoEnviado");}
else {
estado_txt.text = "Error en la aplicación de correo. Vuelva a intentarlo.";}
};


}

function ValidaCampos(ok:Boolean) {
Campo = "";
estado_txt = "";
ok=false;
if (txtNombre.text == "") {
Campo = "Nombre";
tellTarget ("clpErrorCorreo") {
gotoAndPlay("Nombre");
}
} else if (txtTelefono.text == "" and txtMail.text == "") {
Campo = "Contacto";
tellTarget ("clpErrorCorreo") {
gotoAndPlay("Contacto");
}
} else if (txtComentarios.text == "") {
Campo = "Descripcion";
tellTarget ("clpErrorCorreo") {
gotoAndPlay("Descripcion");
}
}
if (Campo == "") {
ok=true;
enviarMail();
}

return ok;
}

Y el código de la página Asp es:

<%
Set Mail = Server.CreateObject ("Persits.MailSender")
Mail.Host = "mail.soluciointegral.com"
Mail.Port = 25
Mail.From = "[email protected]"
Mail.FromName = "Solicitud Informacion WEB"
Mail.AddAddress "[email protected]"
Mail.AddCC "[email protected]"
Mail.Subject = Request.Form("asunto")
'Mail.Subject = "informacion"
nombre = Request.Form("nombre")
apellidos = Request.Form("apellidos")
domiclio = Request.Form("domicilio")
localidad = Request.Form("localidad")
provincia = Request.Form("provincia")
telefono = Request.Form("telefono")
email = Request.Form("email")
cuerpo = Request.Form("cuerpo")

str = "Nombre: " & nombre & " Apellidos: " & apellidos & " Domicilio: " & _
domicilio & " Localidad: " & localidad & " Provincia: " & _
provincia & " Teléfono: " & telefono & " E-Mail: " & _
email & " Solicitud/Comentario: "

cuerpo = str & cuerpo

Mail.Body = cuerpo
Mail.UserName = "aquí pongo el nombre de usuario"
Mail.Password = "aqui pongo la contraseña"
Mail.Send
response.Write("estado=enviado")

%>

No se que error estoy cometiendo...

El otro código es para cargar una galería de fotos dinámicamente y aquí tampoco me carga la página asp, en cambio si en su lugar coloco directamente un archivo xml, va perfectamente, entonces el problema lo tengo con asp, creo:

el código en flash es el siguiente:

stop();
System.useCodepage = true;
XML.prototype.ignoreWhite = true;
import mx.transitions.Tween;
// separacion-> distancia entre las imágenes
// tanto horizontal como vertical
var separacion:Number = 113;
// vbles para pasar de página
var pagina_actual:Number = 1;
var num_paginas:Number;
// array donde metemos los elementos del XML
var IMG_array:Array;
// objeto XML que carga la lista de miniaturas

var miniaturasXML:XML = new XML();
miniaturasXML.ignoreWhite = true;

miniaturasXML.onLoad = mostrarMiniaturas;
miniaturasXML.load("verMiniaturas.asp");
// funcion que se ejecuta al cargar el XML

function mostrarMiniaturas():Void {
// contadores de columna y fila para
// disponer las miniaturas
var fila:Number = 0;
var col:Number = 0;
// paso los datos del XML al array
IMG_array = this.firstChild.childNodes;
// como caben 12 fotos por página podemos
// saber el núm de páginas necesarias para
// mostrar todas las fotos
num_paginas = Math.ceil(IMG_array.length/4);
// creo el clip donde meteremos todas las miniaturas
//trace(miniaturasXML.loaded);
//trace(miniaturasXML.firstChild.childNodes);
//trace(num_paginas);
var lienzo:MovieClip = _root.createEmptyMovieClip("lienzo_miniaturas", _root.getNextHighestDepth());
// lo posiciono donde nos conviene
lienzo._x = 50;
lienzo._y = 375;
// y lo enmascaro con el clip situado en la
// capa mascara. se enmascara para hacer el deslizamiento del
// clip cuando tengamos muchas miniaturas y no entren todas a
// la vez en pantalla (nuestro caso)
lienzo.setMask(mascara_mc);
// recorro el array que contiene la lista con los nombres de
// los archivos de las miniaturas e invoco la función crearMiniatura
// que es la que carga la imagen, la recoloca, le pone un pequeño
// marco y le asigna las acciones para verla ampliada
for (var k:Number = 0; IMG_array[k]; k++) {
// extraigo la ruta del archivo de imagen
//var ruta:String = "minis/"+IMG_array[k].attributes.nombre;
// como sólo tengo tres columnas, cuando llegue a
// la tercera, avanzo una fila y retorno a la primera
if (col>3) {
col = 0;
fila++;
}
// creo la miniatura. extraigo la ruta del archivo de imagen
// y la paso como tercer parámetro
crearMiniatura(col, fila, IMG_array[k].attributes.nombre);
col++;
}
}

//En el bloque anterior hemos definido el objeto XML que va a recibir los datos y también la función encargada de procesarlos.

function crearMiniatura(columnaF:Number, filaF:Number, ruta:String) {
// bajo_clip es el clip que contendrá el marco de la miniatura
var bajo_clip:MovieClip = lienzo_miniaturas.createEmptyMovieClip("bajo_"+filaF+"_"+columnaF, lienzo_miniaturas.getNextHighestDepth());
// clip contendrá la imagen
var clip:MovieClip = lienzo_miniaturas.createEmptyMovieClip("foto_"+filaF+"_"+columnaF, lienzo_miniaturas.getNextHighestDepth());
// para cargar la miniatura definimos un objeto MovieClipLoader
// y un objeto detector de eventos
var mi_mcl:MovieClipLoader = new MovieClipLoader();
var miListener:Object = new Object();
mi_mcl.addListener(miListener);
clip.valor = "aaa";
// cargamos la imagen
mi_mcl.loadClip("/minis/"+ruta, clip);
miListener.onLoadStart = function(target_mc:MovieClip) {
// cuando comienza la carga de la imagen
// ponemos al _alpha a 0
target_mc._alpha = 0;
};
miListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
// aquí podéis poner acciones para mostrar una precarga,
// este caso no lo hemos considerado oportuno
};
// cuando ya se ha completado la carga y tenemos disponible el clip
miListener.onLoadInit = function(target_mc:MovieClip) {
// recolocamos la imagen (todavía está oculta, con _alpha=0)
target_mc._x = (separacion*columnaF)+(100-target_mc._width)*0.5;
target_mc._y = (separacion*filaF)+(100-target_mc._height)*0.5;
// recolocamos el marco que rodea a la foto
bajo_clip._x = target_mc._x-5;
bajo_clip._y = target_mc._y-5;
// dibujamos el marco
with (bajo_clip) {
beginFill(0xffffff);
lineStyle(1, 0xEEEEEE, 100);
lineTo(target_mc._width+10, 0);
lineTo(target_mc._width+10, target_mc._height+10);
lineTo(0, target_mc._height+10);
lineTo(0, 0);
endFill();
}
// al pinchar sobre el área del marco,
// mostramos la foto grande con la función
// verFotoGrande
bajo_clip.onRelease = function() {
verFotoGrande(ruta);
};
// muestro la miniatura animando el _alpha hasta 100
var myTween:Tween = new Tween(target_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 0, 100, 2, true);
};
}

//Hasta aquí hemos definido la función que crea cada una de las miniaturas. En este tutorial tenéis material de apoyo.
//Carga de clips externos en Flash. La clase MovieClipLoader.

function verFotoGrande(ruta:String) {
clearInterval(intervaloColor);
// creo el clip donde irá la foto grande en una profundidad fija
// para que se reemplace cada vez que pincho en una miniatura
var grande:MovieClip = _root.createEmptyMovieClip("grande_mc", 2*IMG_array.length+11);
// igual con el clip que contendrá el marco
var bajo_grande:MovieClip = _root.createEmptyMovieClip("bajo_grande_mc", 2*IMG_array.length+10);
// posición vertical fija
grande._y = 45;
// para cargar la foto grnade definimos otro objeto MovieClipLoader
// y otro objeto detector de eventos
var grande_mcl:MovieClipLoader = new MovieClipLoader();
var grandeListener:Object = new Object();
grande_mcl.addListener(grandeListener);
// cargo la foto grande
grande_mcl.loadClip("/originales/"+ruta, grande);
grandeListener.onLoadStart = function(target_mc:MovieClip) {
// aplico una transformación de color que deja el clip
// tintado de blanco
myColor = new Color(target_mc);
myColorTransform = new Object();
myColorTransform = {ra:100, rb:255, ga:100, gb:255, ba:100, bb:255, aa:100, ab:0};
myColor.setTransform(myColorTransform);

};
grandeListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
// aquí podéis poner acciones para mostrar una precarga,
// este caso no lo hemos considerado oportuno
};
grandeListener.onLoadInit = function(target_mc:MovieClip) {
// recolocamos la imagen (todavía está oculta)
target_mc._x = 382+Math.round((315-target_mc._width)*0.5);
// recolocamos el marco que rodea a la foto grande
bajo_grande._x = target_mc._x-5;
bajo_grande._y = target_mc._y-5;
// dibujamos el marco
with (bajo_grande) {
beginFill(0xffffff);
lineStyle(1, 0xEEEEEE, 100);
lineTo(target_mc._width+10, 0);
lineTo(target_mc._width+10, target_mc._height+10);
lineTo(0, target_mc._height+10);
lineTo(0, 0);
endFill();
}
// con estas rutinas hacemos la transición de color desde el blanco
var indiceColor:Number = 255;
intervaloColor = setInterval(cambiarColor, 10);
function cambiarColor() {
myColorTransform = {ra:100, rb:indiceColor, ga:100, gb:indiceColor, ba:100, bb:indiceColor, aa:100, ab:0};
myColor.setTransform(myColorTransform);
indiceColor -= 2;
if (indiceColor == -1) {
clearInterval(intervaloColor);
}
}
};
}

//Ya hemos creado la foto grande. Para hacer las transición de la foto grande hemos usado el método setTransform de la clase Color. Es este otro tutorial se explica un ejemplo de su uso.

// con esta función desplazo el lienzo de las miniaturas para
// pasar de página
function moverLienzo(posY:Number):Void {
var myTween:Tween = new Tween(lienzo_miniaturas, "_y", mx.transitions.easing.Regular.easeOut, lienzo_miniaturas._y, posY, 1, true);
}
// deshabilito de inicio el botón de volver atrás
// ya que se muestra la página 1
pMenos_btn.enabled = false;
pMenos_btn._alpha = 30;

El código de la página ASp es el siguiente:


<%
' intentamos evitar la caché del navegador --------------
Response.Expires=0
Response.CacheControl="private"
' ----------------------------------------------------------------
Response.ContentType="text/XML"
'Creamos el objeto FileSystemObject
Set fso = Server.CreateObject("Scripting.FileSystemObject")
' elegimos la carpeta files desde la raiz del servidor web
' sustituir "/files/" por la que os interese
Set folder = fso.GetFolder(Server.MapPath(("/web_Flash/minis")))
Set files = folder.Files '
' construimos el XML ----------------------------------------
Response.Write("<?xml version='1.0' ?>")
Response.Write("<exploracion carpeta='"+folder.Name+"'>")
For Each file in files
fil=file.Name
Response.write("<archivo nombre='")
Response.write(file.Name)
Response.write("' size='")
Response.write(file.size\1024)
Response.Write("' />")
Next
Response.Write("</exploracion>")
' ----------------------------------------------------------------
Set files = nothing
Set folder = nothing
Set fso = nothing
%>

Por PVDC

10 de clabLevel



Genero:Femenino  

msie7
Citar            
MensajeEscrito el 25 Abr 2008 09:16 am
Nooo te lo tomes a mal. Yo solo estoy advirtiendo porque al ver ciertos POST sospecho ... pero no te preocupes, no creo que estés infectado, estaremos atentos a tu próximo POST y si sospechamos te lo volveremos a decir.
En cuanto a tu pregunta, parece que el Flash no recibe la data, pon la URL donde tienes eso funcionando y le echamos un ojo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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