This is a dream come true.
To run an EXE from AIR, do the following steps:
Step 1:
Install the exe from this Link
Step 2:
Import Flex Project samples, from install dir ex: C:\Program Files\FluorineFx Aperture\Samples
Step 3:
Copy *.dll files (apimaging.dll,apoutlook.dll,apSystem.dll,fluorinepp.dll and msi.dll) to your Flex src directory
Step 4:
Copy your ‘-app.xml’ to ‘C:\Program Files\FluorineFx Aperture\Debug’ location of install dir for debugging or just pack the AIR
Access Client Machine from AIR on Ease
September 14, 2009States MXML tag converted into AS3 Code
August 21, 2008<mx:states>
<mx:State name=”minimized”>
<mx:SetProperty target=”{this}” property=”height” value=”{this.minHeight+15)}”/>
<mx:SetProperty target=”{this}” property=”width” value=”{this.minWidth}”/>
<mx:SetProperty target=”{this}” property=”vScrollPolicy” value=”off”/>
<mx:SetProperty target=”{this}” property=”hScrollPolicy” value=”off”/>
</mx:State>
</mx:states>private function buildStates():void{
var overrides:Array = new Array();
var newState:State = new State();
overrides.push(makeSetProp(this,”height”,this.minHeight +5));
overrides.push(makeSetProp(this,”width”,this.minWidth));
overrides.push(makeSetProp(this,”vScrollPolicy”,”off”));
overrides.push(makeSetProp(this,”hScrollPolicy”,”off”));
newState.name=”minimized”;
newState.overrides = overrides;
this.states = new Array(newState);
}
private function makeSetProp(target:UIComponent, property:String, value:*):SetProperty{
var sp:SetProperty = new SetProperty();
sp.target = target;
sp.property = property;
sp.value = value;
return sp;
}
ArrayCollection to XML Conversion
August 20, 2008This post have three significant solutions:
1. ArrayCollection output into XML
2. Converting any MySQL DB values into XML using PHP
3. Simple Login form using PHP and MXML
The below php code converts db output as xml dbtoxml.php
// <?php
// define(“HOSTNAME”,”localhost”);
// define(“USERNAME”,”root”);
// define(“PASSWORD”,”");
// define(“DB_NAME”,”users”);
// define(“TABLE_NAME”,”users”);// mysql_connect(HOSTNAME, USERNAME, PASSWORD);
// mysql_select_db(DB_NAME);// $result = mysql_query(“SELECT * FROM “.TABLE_NAME);//Get the number of rows
// $num_row = mysql_num_rows($result);
// echo ‘<?xml version=”1.0″ encoding=”iso-8859-1″?>’;//Start the output of XML
// echo “<data>”;
// echo ‘<num>’ .$num_row. ‘</num>’;
// if (!$result) {
// die(‘Query failed: ‘ . mysql_error());
// }
// /* get column metadata – column name */
// $i = 0;
// while ($i < mysql_num_fields($result)) {
// $meta = mysql_fetch_field($result, $i);
// $ColumnNames[] = $meta->name; //place col name into array
// $i++;
// }
// $specialchar = array(“&”,”>”,”<”); //special characters
// $specialcharReplace = array(“&”,”>”,”<”); //replacement
// /* query & convert table data and column names to xml*/// $w = 0;
// while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
// echo “<row>”;
// foreach ($line as $col_value){
// echo ‘<’.$ColumnNames[$w].’>’;
// $col_value_strip = str_replace($specialchar, $specialcharReplace, $col_value);
// echo $col_value_strip;
// echo ‘</’.$ColumnNames[$w].’>’;
// if($w == ($i – 1)) { $w = 0; }
// else { $w++; }
// }
// echo “</row>”;
// }
// echo “</data>”;
// mysql_free_result($result);// ?>
The below mxml file converts php ArrayCollection output into XML dbconnect.mxml
<?xml version=”1.0″ encoding=”utf-8″?>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”horizontal” creationComplete=”dbconnect.send();”>
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
import mx.collections.ArrayCollection;
public var XMLNodeObjXMLList:XMLList;
[Bindable] public var loggedIn:Boolean;public function checkLogin():void {
var userName:String = userId.text;
var passWord:String = pwd.text;
var passList:XMLList = XMLNodeObjXMLList.record.(user == userName);
loggedIn = String(passList.pass) == passWord;
loggedIn ? Alert.show(‘Logged In’) : Alert.show(‘Try Again’);
}
private function resultHandler(e:ResultEvent):void {
XMLNodeObjXMLList = ObjToXmlList(e.result.data.row);
}
private function ObjToXmlList(XMLArrCol:ArrayCollection):XMLList {
var XMLStr:String = “<?xml version=\”1.0\” encoding=\”UTF-8\”?>\n<data>”;
for each(var XMLNodeObj:Object in XMLArrCol) {
XMLStr += “<record>”;
XMLStr += “<user>” + XMLNodeObj.user + “</user>”;
XMLStr += “<pass>” + XMLNodeObj.pass + “</pass>”;
XMLStr += “</record>”;
}
XMLStr += “\n</data>”;
return new XMLList(XMLStr);
}
]]>
</mx:Script>
<mx:HTTPService id=”dbconnect” showBusyCursor=”true” url=”http://localhost/dbtoxml.php” useProxy=”false” result=”resultHandler(event)” />
<mx:Form visible=”{!loggedIn}” includeInLayout=”{!loggedIn}”>
<mx:FormItem label=”Username : “> <mx:TextInput id=”userId” text=”deva” />
</mx:FormItem>
<mx:FormItem label=”Password : “>
<mx:TextInput id=”pwd” displayAsPassword=”true” text=”deva” />
</mx:FormItem>
<mx:FormItem>
<mx:Button label=”Login” click=”checkLogin()”/>
</mx:FormItem> </mx:Form>
<mx:HBox visible=”{loggedIn}” includeInLayout=”{loggedIn}”>
<mx:Label text=”Logged In”/>
</mx:HBox>
Flexible MXML Editor
April 9, 2008click here for AIR version of Flexible, for editing and modifying the MXML. Alternative for Flex Builder. This works as MXML Parser. I have plans to create SWF instead of mxml (on runtime).
Applying Dynamic Properties for controls
March 19, 2008Instead of using AS3 dynamic Class for assigning dynamic properties to the DisplayObject, the below line is best alternative:
DisplayObject['property']= value
Using this i am working on mxml parser, planning for swf generator from AIR
Posted by nsdevaraj
Posted by nsdevaraj
Posted by nsdevaraj 