سوال درباره TLF و TextField

شروع موضوع توسط spryboy ‏21 می 2012 در انجمن Action Script 3

  1. spryboy

    spryboy کاربر فعال

    ارسال‌ها:
    155
    تشکر شده:
    199
    امتیاز دستاورد:
    16
    سلام خدمت دوستان

    1- آیا میشه یک TLF از نوع Editable را به شکلی برنامه نویسی کرد که بدون توجه به زبان انتخاب شده برای کیبرد (کنار ساعت)، همیشه از زبان فارسی استفاده کنه؟ آیا !؟!

    2- عملکرد پیش فرض رویداد TextEvent.TEXT_INPUT را میشه با متد ( )preventDefault تغییر داد، اما این متد روی TLF درست عمل نمیکنه. چه باید کرد؟

    3- آیا با استفاده از گزینه های خود فلش برای TLF ، میشه یک TLF از نوع Editable رو طوری تنظیم کرد که در زمان اجرا و هنگام تایپ فارسی، اعداد به زبان فارسی تایپ بشن؟ (اینطوری ۱۲۳۴۵۶۷۸۹ نه اینطوری 123456789)


    با تشکر
     
    آخرین ویرایش: ‏22 می 2012
    نوشته شده توسط spryboy در ‏21 می 2012
  2. hosein_mirian

    hosein_mirian Member

    ارسال‌ها:
    220
    تشکر شده:
    73
    امتیاز دستاورد:
    16
    جواب 1 : منم این مشکل رو دارم ولی نمیدونم چکارش کنم ! بعضی جاها هست که باید ضعفهای فلش رو با زبونی که میریزی واسه مشتری حل کنی ! اینم از اون موارد هسش .. میتونی بهش بکی یک Ctrl+shift زخمت بکشه بزنه تا فارسی شه یا یک tooltip واسش بزاری دیگه خیلی بخوای بش حال بدی ...

    جواب 2 : رو نمیدونم !

    جواب 3 : بلی بازم عین جواب اول باید از گزینه های تنظیماتش همون اول فونت فارسی و embed رو اوکی کنی .. اگر نشد باید از متد SetFormat برای فرمت دادن به tlf استفاده کنی
     
    آخرین ویرایش: ‏21 می 2012
    نوشته شده توسط hosein_mirian در ‏21 می 2012
    spryboy از این پست تشکر کرده است.
  3. spryboy

    spryboy کاربر فعال

    ارسال‌ها:
    155
    تشکر شده:
    199
    امتیاز دستاورد:
    16
    ممنون از پاسختون

    جوابتون رو قبل از اینکه ویرایشش کنید هم خوندم و منو گذاشت سر کار چون تا حالا هزار بار از فونت امبد شده استفاده کردم.

    در مورد سوال سوم: من متد SetFormat رو توی رفرنس اکشن اسکریپت پیدا نکردم. توی کدوم کلاس تعریف شده؟
     
    نوشته شده توسط spryboy در ‏21 می 2012
  4. hosein_mirian

    hosein_mirian Member

    ارسال‌ها:
    220
    تشکر شده:
    73
    امتیاز دستاورد:
    16
    من که تو ویرایشش درستش کردم عزیز گفتم باید یچور مشتری رو بپیچونی ! چجوری میکی سر کارت گذاشتم ؟

    واسه متد SetTextFormat هم یک مثال میذارم ::


    var newFormat:TextFormat= new TextFormat();
    newFormat.size=20
    newFormat.color = 0x000000;
    _textBox.setTextFormat(newFormat);
     
    نوشته شده توسط hosein_mirian در ‏21 می 2012
  5. akherat

    akherat مدیر انجمن

    ارسال‌ها:
    594
    تشکر شده:
    661
    امتیاز دستاورد:
    93
    فلش در این مورد ها ضعفی نداره
    هر دو مورد قابل اجراست
     
    نوشته شده توسط akherat در ‏21 می 2012
  6. spryboy

    spryboy کاربر فعال

    ارسال‌ها:
    155
    تشکر شده:
    199
    امتیاز دستاورد:
    16
    حسین عزیز
    بازم ممنون

    من قبل از اینکه ویرایش کنید رفته بودم سر کار بعد اومدم دیدم ویرایشش کردید.

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

    من با SetTextFormat کار کردم ولی چیزی برای اینکه بتونم مثلا بگم عددهارو فارسی تایپ کن تا حالا ندیدم.

    اگر از فونتهایی که عددهاش به صورت پیش فرض فارسی باشه هم استفاده کنم، با انگلیسی به مشکل میخورم.

    ولی باز هم گذاشتیم سر کار
    SetTextFormat کجا SetFormat کجا

    باز هم ممنون از توجه تون
     
    نوشته شده توسط spryboy در ‏21 می 2012
  7. spryboy

    spryboy کاربر فعال

    ارسال‌ها:
    155
    تشکر شده:
    199
    امتیاز دستاورد:
    16
    ممنون از توجه تون

    لطف کنید اگر تجربه این کار رو دارید نام کلاسها یا متدهای مورد نیاز رو ذکر کنید، من خودم توضیحاتشون رو از داخل رفرنس اکشن اسکریپت میخونم.

    با تشکر
     
    نوشته شده توسط spryboy در ‏21 می 2012
  8. akherat

    akherat مدیر انجمن

    ارسال‌ها:
    594
    تشکر شده:
    661
    امتیاز دستاورد:
    93
    انقدر سادس که به چشم نمیاد
    این کار رو کن
    اگر حرف T رو زد شما ف رو تایپ کن
    اگر حرف a رو زد شما ش رو تایپ کن
     
    نوشته شده توسط akherat در ‏21 می 2012
    spryboy از این پست تشکر کرده است.
  9. spryboy

    spryboy کاربر فعال

    ارسال‌ها:
    155
    تشکر شده:
    199
    امتیاز دستاورد:
    16
    ممنون از پاسختون

    من همیشه همین کار رو انجام میدم ولی الان میخوام از قابلیت های TLF استفاده کنم اما نمیتونم مثل کلاسیک تکست، عملکرد پیشفرض رویداد TextEvent.TEXT_INPUT رو با ( )preventDefault در مورد TLFها کنسل کنم. این کار رو چطور باید انجام بدم؟ به سوال دوم من در بالا دقت کنید.

    باز هم ممنون
     
    نوشته شده توسط spryboy در ‏21 می 2012
  10. akherat

    akherat مدیر انجمن

    ارسال‌ها:
    594
    تشکر شده:
    661
    امتیاز دستاورد:
    93
    نوشته شده توسط akherat در ‏21 می 2012
  11. spryboy

    spryboy کاربر فعال

    ارسال‌ها:
    155
    تشکر شده:
    199
    امتیاز دستاورد:
    16
    چطوری قابلیت selectable رو روی یک تکست editable فالس کنم؟!!! مگه میشه؟
     
    نوشته شده توسط spryboy در ‏21 می 2012
  12. akherat

    akherat مدیر انجمن

    ارسال‌ها:
    594
    تشکر شده:
    661
    امتیاز دستاورد:
    93
    مگه نمیگی از tlf داری استفاده میکنی در flash IDE
    آره همچین کاری میشه کرد

    در مورد classic باید خودت ثابتش کنی

    در مورد هر دو میتونی یه movieClip شفاف بندازی روشون

    و ...

    دقیقا مشکلتو نفهمیدم
     
    نوشته شده توسط akherat در ‏21 می 2012
  13. akherat

    akherat مدیر انجمن

    ارسال‌ها:
    594
    تشکر شده:
    661
    امتیاز دستاورد:
    93
    PHP:
    import fl.text.TLFTextField;

    var toRuhetTF:TLFTextField = new TLFTextField();

    toRuhetTF.selectable = false;
     
    نوشته شده توسط akherat در ‏21 می 2012
  14. spryboy

    spryboy کاربر فعال

    ارسال‌ها:
    155
    تشکر شده:
    199
    امتیاز دستاورد:
    16
    مگه تکست editable برای این نیست که کاربر برنامه، داخلش تایپ کنه؟ درست ؟
    خوب اگه selectable نباشه، کاربر چطوری میتونه، مثلا اشتباه تایپی خودش رو اصلاح کنه؟

    دوباره به اینجا سر بزن، چند دقیقه دیگه یک نمونه میزارم.
     
    آخرین ویرایش: ‏21 می 2012
    نوشته شده توسط spryboy در ‏21 می 2012
  15. spryboy

    spryboy کاربر فعال

    ارسال‌ها:
    155
    تشکر شده:
    199
    امتیاز دستاورد:
    16
    اینو توی فریم یک فایل فلش کپی و تست کن (کلیدهای a و s رو تست کن)

    PHP:
    import flash.text.TextField;

    var t:TextField = new TextField( );
    t.border = true;
    t.background = true;
    t.type = TextFieldType.INPUT;
    addChild(t);
    t.addEventListener(TextEvent.TEXT_INPUT, textInputListener);

    function textInputListener(e:TextEvent):void
    {

        e.preventDefault();//این متد در مورد تی ال اف کار نمیکنه. چی کار کنم


        switch (e.text)
        {
            case "a" :
                t.appendText("\u0634");//ش
                break;
            case "s" :
                t.appendText("\u0633");//س
                break;

            default :
                t.appendText(e.text);
                break;
        }
    }
    این یه چیزی تو مایه های همونیه که شما گفتید.
    من قبلا به این صورت، هم متنها و هم عددها رو اصلاح میکردم(در مورد کلاسیک تکستها). حالا اون متدی که توی کامنتش نوشتم با TLF کار نمیکنه، کار نمیکنه!! حالا راه دیگه ای برای این کار هست. یعنی برای TLFها ایونت دیگه ای باید استفاده کنم یا متد دیگه ای وجود داره؟ توی سوال دوم هم من همین رو پرسیدم.
     
    آخرین ویرایش: ‏21 می 2012
    نوشته شده توسط spryboy در ‏21 می 2012
  16. hosein_mirian

    hosein_mirian Member

    ارسال‌ها:
    220
    تشکر شده:
    73
    امتیاز دستاورد:
    16
    خوب این روش خوبه ولی بازم مشکل فلش رو میرسونه چون شما دارید خودتون به خاطر یک مشگل برنامه مینویسید تا مشکل رو ماسمالیزیشن گنید ! ولی تو زبانی مثل دلفی یا سی شارپ این مشکلات ریشه ای حل شده ...

    ولی درهرصورت روشتون آقای دستیار مدیر خوب بود مرصی استفاده کردیم ...:rose:
     
    نوشته شده توسط hosein_mirian در ‏21 می 2012
  17. spryboy

    spryboy کاربر فعال

    ارسال‌ها:
    155
    تشکر شده:
    199
    امتیاز دستاورد:
    16
    راستی، اگر شما از روش دیگه ای برای این کار استفاده میکنید، در صورت امکان، لطفا توضیح بدید، شاید در مورد tlfها هم قابل اجرا باشه.
    ممنون
     
    نوشته شده توسط spryboy در ‏21 می 2012
  18. BehrouzPc

    BehrouzPc پــــادشــاه فــلــــش

    ارسال‌ها:
    1,909
    تشکر شده:
    3,510
    امتیاز دستاورد:
    113
    PHP:
                t.appendText("ش");
     
    نوشته شده توسط BehrouzPc در ‏21 می 2012
  19. spryboy

    spryboy کاربر فعال

    ارسال‌ها:
    155
    تشکر شده:
    199
    امتیاز دستاورد:
    16
    ممنون از توجه تون. اما منظور من از روش دیگه این نبود.

    من کلا میخوام این کار رو با tlf انجام بدم اما متدی که توی کد برنامه بالا مشخص کردم در tlf ها کار نمیکنه.
    لطفا اگر وقت دارید سوالات من رو بخونید(اولین کامنت مبحث) و یه روشی یه چیزی آخه.....

    راستی من قبلا به سایت شما سر میزدم اما دیگه نمیتونم واردش بشم.چرا؟
     
    نوشته شده توسط spryboy در ‏21 می 2012
  20. spryboy

    spryboy کاربر فعال

    ارسال‌ها:
    155
    تشکر شده:
    199
    امتیاز دستاورد:
    16
    فکر کنم شب شد!!!!
     
    نوشته شده توسط spryboy در ‏21 می 2012

به اشتراک بگذارید