//In the name Of God--بسم الله الرحمن الرحیم
//designed by Hadi Abbasi -> ++Hadi++
//forum.majidonline.com -> flash group administrator
import fl.text.TLFTextField;
import flash.text.TextFormat;
import flash.net.URLLoader;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.net.URLRequest;
//Variables
var FormatArray:Array=new Array();
var FormatArray2:Array=new Array();
var tlf:TLFTextField=new TLFTextField();
var tlf2:TLFTextField=new TLFTextField();
var xml:XML=null;
var uloader:URLLoader=new URLLoader();
var txtIndex:int=0;
//Set Properties
addChild(tlf);
addChild(tlf2);
tlf.width=300;
tlf2.width=300;
tlf2.x=300;
tlf.autoSize='left';
tlf.y=50;
tlf2.y=100;
tlf.selectable=tlf2.selectable=true;
tlf.border=tlf2.border=true;
tlf.direction=tlf2.direction='rtl';
tlf.wordWrap=false;
tlf2.wordWrap=true;
tlf.multiline=false;
tlf2.wordWrap=true;
uloader.addEventListener(Event.COMPLETE,comp);
uloader.addEventListener(IOErrorEvent.IO_ERROR,Err);
uloader.load(new URLRequest("XML.xml"));
//Functions
function Err(evt:IOErrorEvent):void
{
trace("Error In IO!");
}
function comp(evt:Event):void
{
uloader.removeEventListener(Event.COMPLETE,comp);
uloader.removeEventListener(IOErrorEvent.IO_ERROR,Err);
var can:Boolean=true;//if inner structure of xml is true it will be true else will be false to stop the program
try
{
xml=XML(evt.target.data);
}
catch(Err:Error)
{
can=false;
trace("The Structure of xml is not true!");
}
finally
{
if(can)
{
Start();
}
}
}
function Start():void
{
for(var i:int=0;i<xml.Item.length();i++)
{
tlf.text+=xml.Item[i][email protected]()+" ";
tlf2.text+=xml.Item[i][email protected]()+'\n';
SetFormats(i,xml.Item[i][email protected]());
}
setTimeout(SetFormatsMain,1000);
}
function SetFormats(I:int,str:String):void
{
var format:TextFormat=new TextFormat();
switch(xml.Item[I][email protected]().toLowerCase())
{
case "times":
format.font=new Times().fontName;
break;
case "yekan":
format.font=new Yekan().fontName;
break;
case "times":
format.font=new Impact().fontName;
break;
case "times":
format.font=new Morvarid().fontName;
break;
case "times":
format.font=new Nazanin().fontName;
break;
case "times":
format.font=new Tahoma().fontName;
break;
default:
format.font=new Times().fontName;
break;
}
format.size=int(xml.Item[I][email protected]());
format.color=uint(xml.Item[I][email protected]());
format.bold=(xml.Item[I][email protected]().toLowerCase()=="true")?true:false;
format.italic=(xml.Item[I][email protected]().toLowerCase()=="true")?true:false;
format.underline=(xml.Item[I][email protected]().toLowerCase()=="true")?true:false;
format.align=xml.Item[I][email protected]();
FormatArray.push({_format:format,_start:tlf.text.length-(xml.Item[I][email protected]().length+4),_end:tlf.text.length-4});
FormatArray2.push({_format:format,_start:tlf2.text.length-(xml.Item[I][email protected]().length+1),_end:tlf2.text.length-1});
}
function SetFormatsMain():void
{
tlf2.autoSize='right';
for(var i:int=0;i<xml.Item.length();i++)
{
tlf.setTextFormat(FormatArray[i]._format,FormatArray[i]._start,FormatArray[i]._end);
tlf2.setTextFormat(FormatArray2[i]._format,FormatArray2[i]._start,FormatArray2[i]._end);
trace(tlf2.text.substring(FormatArray2[i]._start,FormatArray2[i]._end));
}
}