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

spryboy

کاربر فعال
سلام خدمت دوستان

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

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

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


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

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

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

spryboy

کاربر فعال
ممنون از پاسختون

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

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

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


var newFormat:TextFormat= new TextFormat();
newFormat.size=20
newFormat.color = 0x000000;
_textBox.setTextFormat(newFormat);
 

akherat

مدیر انجمن
فلش در این مورد ها ضعفی نداره
هر دو مورد قابل اجراست
 

spryboy

کاربر فعال
حسین عزیز
بازم ممنون

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

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

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

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

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

باز هم ممنون از توجه تون
 

spryboy

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

ممنون از توجه تون

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

با تشکر
 

akherat

مدیر انجمن
انقدر سادس که به چشم نمیاد
این کار رو کن
اگر حرف T رو زد شما ف رو تایپ کن
اگر حرف a رو زد شما ش رو تایپ کن
 

spryboy

کاربر فعال
انقدر سادس که به چشم نمیاد
این کار رو کن
اگر حرف T رو زد شما ف رو تایپ کن
اگر حرف a رو زد شما ش رو تایپ کن

ممنون از پاسختون

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

باز هم ممنون
 

spryboy

کاربر فعال
چطوری قابلیت selectable رو روی یک تکست editable فالس کنم؟!!! مگه میشه؟
 

akherat

مدیر انجمن
مگه نمیگی از tlf داری استفاده میکنی در flash IDE
آره همچین کاری میشه کرد

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

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

و ...

دقیقا مشکلتو نفهمیدم
 

akherat

مدیر انجمن
PHP:
import fl.text.TLFTextField;

var toRuhetTF:TLFTextField = new TLFTextField();

toRuhetTF.selectable = false;
 

spryboy

کاربر فعال
مگه تکست editable برای این نیست که کاربر برنامه، داخلش تایپ کنه؟ درست ؟
خوب اگه selectable نباشه، کاربر چطوری میتونه، مثلا اشتباه تایپی خودش رو اصلاح کنه؟

دوباره به اینجا سر بزن، چند دقیقه دیگه یک نمونه میزارم.
 
آخرین ویرایش:

spryboy

کاربر فعال
اینو توی فریم یک فایل فلش کپی و تست کن (کلیدهای 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ها ایونت دیگه ای باید استفاده کنم یا متد دیگه ای وجود داره؟ توی سوال دوم هم من همین رو پرسیدم.
 
آخرین ویرایش:
انقدر سادس که به چشم نمیاد
این کار رو کن
اگر حرف T رو زد شما ف رو تایپ کن
اگر حرف a رو زد شما ش رو تایپ کن

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

ولی درهرصورت روشتون آقای دستیار مدیر خوب بود مرصی استفاده کردیم ...:rose:
 

spryboy

کاربر فعال
انقدر سادس که به چشم نمیاد
این کار رو کن
اگر حرف t رو زد شما ف رو تایپ کن
اگر حرف a رو زد شما ش رو تایپ کن

راستی، اگر شما از روش دیگه ای برای این کار استفاده میکنید، در صورت امکان، لطفا توضیح بدید، شاید در مورد tlfها هم قابل اجرا باشه.
ممنون
 

spryboy

کاربر فعال
PHP:
            t.appendtext("ش");

ممنون از توجه تون. اما منظور من از روش دیگه این نبود.

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

راستی من قبلا به سایت شما سر میزدم اما دیگه نمیتونم واردش بشم.چرا؟
 

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

بالا