This is a very Simple Equation Solver. The Purpose of this application is to implement the native Window commands of AIR. Native Window Commands Include closing a window, moving a window and resizing a window. The Application also implements a customwindow.

As can be clearly understood from the UI we are going to find the value of x,y and z.
The equations are in form
A11x + A12y + A13z = C1 A21x + A22y + A23z = C2 A31x + A32y + A33z = C3
A11,A12,A13,A21,A22,A23,A31,A32,A33 are coeffecient and C1,C2 and C3 are constant.
Two Buttons G and C. G for Executing. C for Clearing the Fields.
Create a close button as shown in the UI. The Code for the same becomes.
windowCloseButton.addEventListener(MouseEvent.CLICK, closeWindowFunction);
function closeWindowFunction(me:MouseEvent):void
{
stage.nativeWindow.close();
}
Create an Opaque background and conver it to MovieClip as only to MovieClips we can apply Native Window Commands. Now Program the following Mouse Events as shown to create a window dragging code.
customWindow.addEventListener(MouseEvent.MOUSE_DOWN, startDragFunction);
function startDragFunction(me:MouseEvent):void
{
stage.nativeWindow.startMove();
}
This is a basic matrix solution so solution is pretty easy and is programmed as shown.
var row1:Array = new Array(a11, a12, a13);
var row2:Array = new Array(a21, a22, a23);
var row3:Array = new Array(a31, a32, a33);
var cc:Array = new Array(c1, c2, c3);
var j:int;
for(j = 0; j < 3; j++)
{
row1[j].restrict = "0123456789";
row2[j].restrict = "0123456789";
row3[j].restrict = "0123456789";
cc[j].restrict = "0123456789";
}
//INTILIZATION OF ALL FIELDS WITH ZERO
stage.addEventListener(Event.ENTER_FRAME, initializeFunction);
function initializeFunction(etemp:Event):void
{
var i:int;
for(i = 0; i < 3; i++)
{
row1[i].text = "0";
row2[i].text = "0";
row3[i].text = "0";
cc[i].text = "0";
}
stage.removeEventListener(Event.ENTER_FRAME, initializeFunction);
}
function executeStatements():void
{
var mod:Number = 0;
var changing_mod:Number = 0;
mod = Number(row1[0].text)*((Number(row2[1].text)*Number(row3[2].text)) - (Number(row2[2].text)*Number(row3[1].text)))
- Number(row1[1].text)*((Number(row2[0].text)*Number(row3[2].text)) - (Number(row2[2].text)*Number(row3[0].text)))
+ Number(row1[2].text)*((Number(row2[0].text)*Number(row3[1].text)) - (Number(row2[1].text)*Number(row3[0].text)));
changing_mod = Number(cc[0].text)*((Number(row2[1].text)*Number(row3[2].text)) - (Number(row2[2].text)*Number(row3[1].text)))
- Number(row1[1].text)*((Number(cc[1].text)*Number(row3[2].text)) - (Number(row2[2].text)*Number(cc[2].text)))
+ Number(row1[2].text)*((Number(cc[1].text)*Number(row3[1].text)) - (Number(row2[1].text)*Number(cc[2].text)));
outputValue.text = "X = " + String(changing_mod/mod);
changing_mod = Number(row1[0].text)*((Number(cc[1].text)*Number(row3[2].text)) - (Number(row2[2].text)*Number(cc[2].text)))
- Number(cc[0].text)*((Number(row2[0].text)*Number(row3[2].text)) - (Number(row2[2].text)*Number(row3[0].text)))
+ Number(row1[2].text)*((Number(row2[0].text)*Number(cc[2].text)) - (Number(cc[1].text)*Number(row3[0].text)));
outputValue.text = outputValue.text + " \nY = " + String(changing_mod/mod);
changing_mod = Number(row1[0].text)*((Number(row2[1].text)*Number(row3[2].text)) - (Number(cc[1].text)*Number(row3[1].text)))
- Number(row1[1].text)*((Number(row2[0].text)*Number(cc[2].text)) - (Number(cc[1].text)*Number(row3[0].text)))
+ Number(cc[0].text)*((Number(row2[0].text)*Number(row3[1].text)) - (Number(row2[1].text)*Number(row3[0].text)));
outputValue.text = outputValue.text + " \nZ = " + String(changing_mod/mod);
trace(mod);
trace(Number(row1[0].text)*((Number(row2[1].text)*Number(row3[2].text)) - (Number(row2[2].text)*Number(row3[1].text))));
}

goButton.addEventListener(MouseEvent.CLICK, goButtonFunction);
goButton.addEventListener(MouseEvent.MOUSE_OVER, goButtonOverInfo);
goButton.addEventListener(MouseEvent.MOUSE_OUT, goButtonOutInfo);
function goButtonOutInfo(me:MouseEvent):void
{
infoBar.text = "Info Bar";
}
function goButtonOverInfo(me:MouseEvent):void
{
infoBar.text = "Click to execute and solve..";
}
function goButtonFunction(me:MouseEvent):void
{
//No check conditions implied
executeStatements();
//for a better program implement a check condition
}

clearButton.addEventListener(MouseEvent.CLICK, clearButtonFunction);
clearButton.addEventListener(MouseEvent.MOUSE_OVER, clearButtonOverInfo);
clearButton.addEventListener(MouseEvent.MOUSE_OUT, clearButtonOutInfo);
function clearButtonOutInfo(me:MouseEvent):void
{
infoBar.text = "Info Bar";
}
function clearButtonOverInfo(me:MouseEvent):void
{
infoBar.text = "Click to clear all fields..";
}
function clearButtonFunction(me:MouseEvent):void
{
var i:int;
for(i = 0; i < 3; i++)
{
row1[i].text = "0";
row2[i].text = "0";
row3[i].text = "0";
cc[i].text = "0";
}
}

helpButton.addEventListener(MouseEvent.CLICK, helpButtonFunction);
helpButton.addEventListener(MouseEvent.MOUSE_OVER, helpButtonOverInfo);
helpButton.addEventListener(MouseEvent.MOUSE_OUT, helpButtonOutInfo);
function helpButtonOutInfo(me:MouseEvent):void
{
infoBar.text = "Info Bar";
}
function helpButtonOverInfo(me:MouseEvent):void
{
infoBar.text = "Help Menu";
}
helptextmc.visible = false;
function helphide(me:MouseEvent):void
{
helptextmc.visible = false;
infoBar.text = "Info Text";
helptextmc.removeEventListener(MouseEvent.CLICK, helphide);
}
function helpButtonFunction(me:MouseEvent):void
{
helptextmc.visible = true;
infoBar.text = "Help Menu";
helptextmc.addEventListener(MouseEvent.CLICK, helphide);
}
View and moderate all "wiki Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Wiki"
Originally posted by: k10blog... (code.google.com)@gmail.com
The wiki is for Repository: simpleequationsolver