استفاده از چند فرمت در یک فیلد متنی

niny-goloo

Member
سلام دوستان
من هر چی سرچ کردم تو گوگل و انجمن چیزی پیدا نکردم در این رابطه
پس لطفا اگه میشه راهنماییم کنید.
من یه فیلد متنی می سازم و با استفاده از یه حلقه چندتا متن که تو یه ارایه است بهش اضافه میکنم
و با یه تابع که ساختم یه فرمت به هر قسمت از متن که اضافه میشه میخوام اختصاص بدم.
من این برنامه رو اینجوری نوشتم
از دیروز گیج شدم.
کار اصلی این برنامه یه چیز دیگه است. من یه کوچلوشو نوشتم واسه سمپل که داره گیج میزنه و کاری که باید رو انجام نمیده . ممنون میشم راهنماییم کنید.
 

پیوست ها

  • text2.zip
    6.2 کیلوبایت · بازدیدها: 58

++Hadi++

Active Member
سلام
دو تا ره :
1- برا هر تگ یه تکست فیلد بسازین و در اون تگ مشخصات فرمت تکست رو از اون تگ html بگیرین و فرمت اون تکست فیلد رو با اونمشخصات ست کنین.
2- از مشخصه htmlText استفاده کنین. سمپلش تو امضامه البته مطمئن نیستم که صد در صد در tlf ساپورت شه. حد اقل مثل فایر فاکس عمرا.
3- از setTextFormat استفاده کنین :
PHP:
var tlf:TLFTextField=new TLFTextField();
addChild(tlf);
tlf.text="Hello";
tlf.setTextFormat(myFormat,0,2);
پس از ایندکس اول تا دو تا بعد ، به فرمت مد نظر در می یاد البته باید فرمت رو بسازین و من خلاصه کردم.
 

niny-goloo

Member
دوست عزیز جناب هادی جان شما سپلی که من گذاشته بودم دیدید؟
من از SetTextFormat استفاده کردم و به مشکل برخوردم
مشکل من یه کم پیچیده تر از این حرفاست.
از htmlText هم نمیخوام استفاده کنم. چون یه سری مشکلات دیگه داره
 

++Hadi++

Active Member
خیر
وقت نداشتم ببینم ...
ببخشین در کل ست کردن فرمت های مختلف در یه تکست فیلد اینجوری هست.

سمپلتونو دان کردم. انشالا تا فردا خبرشو بهتون می دم... بای...
 

++Hadi++

Active Member
سلام
PHP:
//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));
    }
}
سمپلو دان کن ...
در ضمن الان داینامیکه و فقط کافیه تو ایکسمل تگ ها رو زیاد کنین ولی فونتهاشون باید یکی از اون شیش تا فونت بشه..
بای...
 

پیوست ها

  • XMLTextFormatSample.rar
    687.6 کیلوبایت · بازدیدها: 215

جدیدترین ارسال ها

بالا