<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo"
width="1024" height="700">
<fx:Script>
<![CDATA[
import flash.events.MouseEvent;
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.http.HTTPService;
public var nAsterisk:String;
public var nTelefonica:String;
public var abmD:HTTPService;
public function altasA(parameters:Object):void {
abmD = new HTTPService;
abmD.url = "phps/altaD.php";
abmD.method = "POST";
abmD.addEventListener("result",httpResult);
abmD.addEventListener("fault", httpFault);
abmD.useProxy = false;
abmD.resultFormat = "text";
abmD.send(parameters);
}
public function httpFault(event:FaultEvent):void {
var faultstring:String = event.fault.faultString;
Alert.show(faultstring);
}
public function httpResult(event:ResultEvent):void {
Alert.show("Operación realizada con éxito");
}
protected function fTelefonica_doubleClickHandler(event:MouseEvent):void
{
nTelefonica = fTelefonica.selectedItem.url;
currentState = "tele1";
fTele.text = nTelefonica;
}
protected function fAsterisk_doubleClickHandler(event:MouseEvent):void
{
nAsterisk = fAsterisk.selectedItem.url;
currentState = "tele";
fAste.text = nAsterisk;
}
protected function pMySQL_clickHandler(event:MouseEvent):void
{
currentState = "tele2";
var lineCount:uint = 0;
var f:File = File.applicationDirectory.resolvePath(fAste.text);
var fs:FileStream = new FileStream();
fs.open(f, FileMode.READ);
var txt:String = fs.readUTFBytes(fs.bytesAvailable);
fs.close();
var lineEndPattern:RegExp = new RegExp(File.lineEnding, "g");
txt = txt.replace(lineEndPattern, "\n");
var lines:Array = txt.split("\n");
lineCount = lines.length;
var final:uint = 0;
var campo:uint = 0;
var regis:Array = new Array;
for (var i:uint=0; i < lineCount; i++) {
campo = 0;
var some:String = lines[i];
var arrayNum:Array = StringToArray(some,",");
var last:String;
var value:String;
for each (var num:String in arrayNum) {
value = String(num);
if (value.length > 0) {
if (value.substr(0,1) == '"' || value.substr(value.length -1, 1) == '"') {
//este switch para el caso de que empiece o termine con comillas
switch (value.substr(0,1)) {
case '"':
if (value.substr(value.length -1, 1) == '"') {
last = value;
final = 1;
} else {
last = last + value;
final = 0;
}
if (final == 1) {
campo++;
regis[campo] = last.split('"').join("");
last = "";
}
break;
default:
if (value.substr(value.length -1, 1) == '"') {
last = last + value;
final = 1;
} else {
last = last + value;
final = 0;
}
if (final == 1) {
campo++;
regis[campo] = last.split('"').join("");
last = "";
}
break;
}
} else {
//Para el caso de que no empiece ni termine con comillas
if (final == 1) {
last = value;
campo++;
regis[campo] = last.split('"').join("");
last = "";
} else {
last = last + value;
}
}
}
}
var obj:Object = new Object;
obj.CUENTA = regis[1];
altasA(obj);
}
}
protected function StringToArray(source:String, spacer:String):Array {
return source.split(spacer);
}
]]>
</fx:Script>
<s:states>
<s:State name="State1"/>
<s:State name="tele"/>
<s:State name="tele1"/>
<s:State name="tele2"/>
</s:states>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:Panel x="10" y="10" width="625" height="400" title="Haga doble click para seleccionar el fichero">
<s:Panel x="5" y="4" width="300" height="358" title="Seleccionar archivo Asterisk a comparar" id="asterisk">
<mx:FileSystemTree x="-1" y="0" width="300" height="327" id="fAsterisk" doubleClick="fAsterisk_doubleClickHandler(event)"/>
</s:Panel>
<s:Panel includeIn="tele,tele1,tele2" x="316" y="5" width="300" height="358" title="Seleccionar archivo Telefónica a comparar" id="telefonica">
<mx:FileSystemTree x="-1" y="0" width="300" height="327" id="fTelefonica" doubleClick="fTelefonica_doubleClickHandler(event)"/>
</s:Panel>
</s:Panel>
<s:Label x="645" y="10" text="Archivo Asterisk seleccionado:" backgroundColor="#A4F2F3" includeIn="tele,tele1,tele2"/>
<s:TextInput x="645" y="21" width="369" id="fAste" includeIn="tele,tele1,tele2"/>
<s:Label x="645" y="46" text="Archivo Telefónica seleccionado:" backgroundColor="#A4F2F3" includeIn="tele1,tele2"/>
<s:TextInput x="645" y="57" width="369" id="fTele" includeIn="tele1,tele2"/>
<s:Button x="761" y="87" label="Crear base de datos" id="pMySQL" includeIn="tele1,tele2" click="pMySQL_clickHandler(event)"/>
<mx:ProgressBar includeIn="tele2" x="643" y="128" width="371" id="progre"/>
</s:WindowedApplication>
el php:
<?php
header("Content-type: text/xml");
$mysql = mysql_connect("127.0.0.1","root","");
mysql_select_db("tarot806", $mysql);
$Query = "INSERT INTO estrella (CUENTA) VALUES ($_POST['CUENTA'])";
$Result = mysql_query($Query);
mysql_close($mysql);
?>
He simplificado un poco (bastante) el código para que lo entendáis mejor. Se trata de grabar un registro en una tabla de MySQL mediante httpServer. Tengo realizado otro programa usando el mismo sistema y funciona a la perfección aunque es otra cosa, pero, en éste, no lo comprendo pero no va. Mediante el debug hago el seguimiento línea a línea y pasa por todas perfectamente pero cuando llega al evento que dispara el estado 'tele2' se espera hasta que ha procesado todos los registros y me lanza los msgs de que la grabación es correcta al final y no por registro a registro y sin que se grabe nada en la tabla. He simplificado el código aquí para grabar un solo campo aunque en la realidad debería grabar 11. Para que os hagais una idea mejor, se trata de procesar un archivo txt y grabar un registro en la tabla por cada línea del archivo txt procesado. Solo tengo preparado el fichero que se carga en el primer arbol. El fichero es este:
"TAROT","639673651","s","tarot-in","""Tarot"" <639673651>","DAHDI/6-1","SIP/tsc-ricardo-0418f048","Dial","SIP/tsc-ricardo,60","2010-02-04 17:46:06","2010-02-04 17:46:06","2010-02-04 17:46:12",6,6,"ANSWERED","BILLING","1265305566.1409",""
"TAROT","639673651","s","tarot-in","""Tarot"" <639673651>","DAHDI/7-1","SIP/tsc-ricardo-03fccac8","Dial","SIP/tsc-ricardo,60","2010-02-04 17:48:23","2010-02-04 17:48:23","2010-02-04 17:48:53",30,30,"ANSWERED","BILLING","1265305703.1411",""
"TAROT","639673651","s","tarot-in","""Tarot"" <639673651>","DAHDI/10-1","SIP/tsc-ricardo-04126c28","Queue","tarot,t,,,60","2010-02-04 18:50:09","2010-02-04 18:50:09","2010-02-04 18:51:44",95,95,"ANSWERED","DOCUMENTATION","1265309409.1442",""
"TAROT","639673651","104","tarot-in","""Tarot"" <639673651>","DAHDI/1-1","SIP/tsc-ricardo-04126c28","Dial","SIP/tsc-ricardo,30","2010-02-04 18:52:58","2010-02-04 18:53:37","2010-02-04 18:53:48",50,11,"ANSWERED","DOCUMENTATION","1265309578.1445",""
"TAROT","639673651","104","tarot-in","""Tarot"" <639673651>","DAHDI/2-1","SIP/tsc-ricardo-c8073008","Hangup","","2010-02-04 18:56:43","2010-02-04 18:56:43","2010-02-04 18:57:46",63,63,"ANSWERED","DOCUMENTATION","1265309803.1447",""
"TAROT","639673651","104","tarot-in","""Tarot"" <639673651>","DAHDI/3-1","SIP/tsc-ricardo-04126c28","Dial","SIP/tsc-ricardo,30","2010-02-04 19:02:56","2010-02-04 19:02:56","2010-02-04 19:03:36",40,40,"ANSWERED","DOCUMENTATION","1265310176.1449",""
"TAROT","639673651","s","tarot-in","""Tarot"" <639673651>","DAHDI/4-1","SIP/tsc-ricardo-04126c28","Queue","tarot,t,,,60","2010-02-04 19:05:04","2010-02-04 19:05:04","2010-02-04 19:06:37",93,93,"ANSWERED","DOCUMENTATION","1265310304.1451",""
"TAROT","639673651","s","tarot-in","""Tarot"" <639673651>","DAHDI/5-1","SIP/tsc-ricardo-04126c28","Queue","tarot,t,,,60","2010-02-04 19:33:32","2010-02-04 19:33:32","2010-02-04 19:34:33",61,61,"ANSWERED","DOCUMENTATION","1265312012.1455",""
"TAROT","639673651","s","tarot-in","""Tarot"" <639673651>","DAHDI/6-1","SIP/tsc-ricardo-12254128","Queue","tarot,t,,,60","2010-02-04 19:42:10","2010-02-04 19:42:10","2010-02-04 19:42:59",49,49,"ANSWERED","DOCUMENTATION","1265312530.0",""
"TAROT","965289626","s","tarot-in","""Tarot"" <965289626>","DAHDI/5-1","DAHDI/1-1","Queue","tarot,t,,,60","2010-02-06 19:32:19","2010-02-06 19:32:19","2010-02-06 19:33:35",76,76,"ANSWERED","DOCUMENTATION","1265484739.230",""
"TAROT","965289626","s","tarot-in","""Tarot"" <965289626>","DAHDI/6-1","","Hangup","","2010-02-06 19:35:46","2010-02-06 19:35:46","2010-02-06 19:37:25",99,99,"ANSWERED","DOCUMENTATION","1265484946.232",""
"TAROT","965289626","s","tarot-in","""Tarot"" <965289626>","DAHDI/7-1","DAHDI/1-1","Queue","tarot,t,,,60","2010-02-06 20:13:24","2010-02-06 20:13:24","2010-02-06 20:14:41",77,77,"ANSWERED","DOCUMENTATION","1265487204.236",""
"TAROT","965289626","s","tarot-in","""Tarot"" <965289626>","DAHDI/8-1","","Queue","tarot,t,,,60","2010-02-06 20:34:39","2010-02-06 20:34:39","2010-02-06 20:35:26",47,47,"ANSWERED","DOCUMENTATION","1265488479.238",""
"TAROT","965289626","s","tarot-in","""Tarot"" <965289626>","DAHDI/9-1","","Queue","tarot,t,,,60","2010-02-06 20:37:24","2010-02-06 20:37:24","2010-02-06 20:38:11",47,47,"ANSWERED","DOCUMENTATION","1265488644.240",""
"TAROT","965289626","s","tarot-in","""Tarot"" <965289626>","DAHDI/10-1","DAHDI/1-1","Queue","tarot,t,,,60","2010-02-06 21:57:29","2010-02-06 21:57:29","2010-02-06 21:58:26",57,57,"ANSWERED","DOCUMENTATION","1265493449.242",""
"TAROT","965289626","999","tarot-in","""Tarot"" <965289626>","DAHDI/1-1","DAHDI/2-1","Dial","DAHDI/g1/639673651,15","2010-02-06 21:58:55","2010-02-06 22:00:31","2010-02-06 22:00:44",109,13,"ANSWERED","DOCUMENTATION","1265493535.244",""
"TAROT","639673651","s","tarot-in","""Tarot"" <639673651>","DAHDI/3-1","","BackGround","tsc/tarot/Hablar_Videntes_8000","2010-02-07 10:53:18","2010-02-07 10:53:18","2010-02-07 10:54:14",56,56,"ANSWERED","DOCUMENTATION","1265539998.251",""
"TAROT","965289626","999","tarot-in","""Tarot"" <965289626>","DAHDI/4-1","DAHDI/1-1","Dial","DAHDI/g1/639673651,15,A(tsc/tarot/Llamada_Tarot_8000)","2010-02-07 16:08:17","2010-02-07 16:08:17","2010-02-07 16:08:56",39,39,"ANSWERED","DOCUMENTATION","1265558897.252",""
"TAROT","965289626","s","tarot-in","""Tarot"" <965289626>","DAHDI/5-1","","BackGround","tsc/tarot/Hablar_Videntes_8000","2010-02-07 16:18:28","2010-02-07 16:18:28","2010-02-07 16:19:33",65,65,"ANSWERED","DOCUMENTATION","1265559508.254",""
"TAROT","965289626","s","tarot-in","""Tarot"" <965289626>","DAHDI/6-1","","Queue","tarot,t,,,60","2010-02-07 16:21:52","2010-02-07 16:21:52","2010-02-07 16:22:38",46,46,"ANSWERED","DOCUMENTATION","1265559712.255",""
"TAROT","965289626","s","tarot-in","""Tarot"" <965289626>","DAHDI/7-1","","BackGround","tsc/tarot/Hablar_Videntes_8000","2010-02-07 16:26:52","2010-02-07 16:26:52","2010-02-07 16:27:38",46,46,"ANSWERED","DOCUMENTATION","1265560012.257",""
"TAROT","965289626","s","tarot-in","""Tarot"" <965289626>","DAHDI/8-1","","WaitExten","1,m","2010-02-07 17:34:47","2010-02-07 17:34:47","2010-02-07 17:35:32",45,45,"ANSWERED","DOCUMENTATION","1265564087.258",""
"TAROT","965289626","s","tarot-in","""Tarot"" <965289626>","DAHDI/9-1","DAHDI/1-1","Queue","tarot,t,,,60","2010-02-07 18:25:30","2010-02-07 18:25:30","2010-02-07 18:27:50",140,140,"ANSWERED","DOCUMENTATION","1265567130.259",""
"TAROT","965289626","s","tarot-in","""Tarot"" <965289626>","DAHDI/10-1","DAHDI/1-1","Queue","tarot,t,,,60","2010-02-07 18:30:28","2010-02-07 18:30:28","2010-02-07 18:31:01",33,33,"ANSWERED","DOCUMENTATION","1265567428.261",""
"TAROT","965673386","s","tarot-in","""Tarot"" <965673386>","DAHDI/9-1","","Hangup","","2010-02-09 19:08:38","2010-02-09 19:08:38","2010-02-09 19:08:53",15,15,"ANSWERED","DOCUMENTATION","1265742518.242",""
"TAROT","965673386","s","tarot-in","""Tarot"" <965673386>","DAHDI/10-1","","Hangup","","2010-02-09 19:09:24","2010-02-09 19:09:24","2010-02-09 19:09:39",15,15,"ANSWERED","DOCUMENTATION","1265742564.245",""
"TAROT","965673386","s","tarot-in","""Tarot"" <965673386>","DAHDI/1-1","","Hangup","","2010-02-09 19:10:56","2010-02-09 19:10:56","2010-02-09 19:11:11",15,15,"ANSWERED","DOCUMENTATION","1265742656.248",""
"TAROT","965673386","s","tarot-in","""Tarot"" <965673386>","DAHDI/2-1","","Hangup","","2010-02-09 19:12:41","2010-02-09 19:12:41","2010-02-09 19:12:56",15,15,"ANSWERED","DOCUMENTATION","1265742761.251",""
"TAROT","965673386","s","tarot-in","""Tarot"" <965673386>","DAHDI/3-1","DAHDI/1-1","Queue","tarot,t,,,60","2010-02-09 19:14:37","2010-02-09 19:14:37","2010-02-09 19:16:22",105,105,"ANSWERED","DOCUMENTATION","1265742877.254",""
En fin, si alguien me puede echar una mano le quedaré eternamente agradecido. De lo contrario tendré que volver a mi antiguo VB para programar y abandonar las ideas tan interesantes de las RIA's.
Un saludo
