Tsearch مشکل گشای جستجوی متن فارسی و انگلیسی در فلش

BioDread

Banned
نسخه 2 آماده دانلود می باشد
تاریخ انتشار 88/10/26

در این نسخه تمامی باگ ها برطرف شده و به نسخه BETA ارتقاع پیدا کرد
افزایش 50% performance
اضافه شدن preloader
و بر طرف شدن مشکل کاراکتر space
خواناتر شدن کد


Tsearch یک کلاس نوشته شده توسط زبان AS3 است که شما توسط این کلاس می توانید متن مورد نظر رو جستجو کنید و موارد مورد نظر رو به صورت textformat تنظیم شده و یا به صورت highlight شده مشاهده کنید


performance خوبی داره و فکر نکنم تو جستجو اشتباه کنه


نسخه as2 این کلاس رو مرتضی (unknownuser) نوشته بود که من انو تقریبا در as3 گسترشش دادم


راستشو بخوایید نمی خواستم هیچ وقت این کلاس رو بیرون بدم چون وقتی ATL بیاد در CS5 دیگه این کلا بی مصرف میشه


Tsearch با FS مچ شده و به خوبی با فارسی کار میکنه


FS همون FarsiStyle خودمونه



من توسط این کلاس یه غلط یاب فارسی هم نوشتم که مثل ساعت کار میکنه !!!
اگه فکر کنید با این کلاس میشه کلاس های دیگه ای هم نوشت

این کلاس در پکیج JabeAbzar ارائه شده


طرز استفاده (به روز شد)

PHP:
import JabeAbzar.app.Tsearch;
import JabeAbzar.app.Clear_fs;
import JabeAbzar.events.SearchEvent;

var Tsearch_var:Tsearch = new Tsearch();
var Clear_fs_var:Clear_fs = new Clear_fs();

Tsearch_var.addEventListener(SearchEvent.Complete , search_finish);
Tsearch_var.addEventListener(SearchEvent.Progress , search_progress);

Tsearch_var.set_TF = text_area;
Tsearch_var.set_speed = 6;
Tsearch_var.set_color(0xFF8000 , .4);

Tsearch_var.find(text_area , (Clear_fs_var.clear_text(my_farsi_style_text_return)) , false , false , true , {del:false , rep:"***"},my_text_format );

function search_finish (event:SearchEvent):void
{
    trace("Search "+event.Search.status);
}
        
function search_progress(event:SearchEvent):void
{
    trace(event.Search.loaded);
}


توضیحات مربوط به کد ها :

خطهای 1-2-3 : کلاس های مورد نیاز رو وارد میکنیم

5-6 : نمونه هایی از کلاس های وارد شده می سازید

8-9 : مانند نمونه شما باید به کلاس Tsearch دو تا listener بدید - اولی به شما اعلام میکنه که جستجو تمام شده و مقدار رشته COMPLETE رو در event مربوطه برمیگردونه
دومی برای اینکه به شما نشون بده چه مقدار از جسجو در کل متن باقی مونده مقداره باقی مونده رو از 0 تا 1 به صورت number در event مربوطه برمیگردونه

11- در اینجا باید به کلاس Tsearch ان TextField که قراره توش جستجو بشه رو معرفی میکنید

12- در اینجا سرعت جستجو Tsearch رو مشخص میکنید که به صورت پیش فرض بر روی 6 هست - هر چه این عدد بیشتر باشه سرعت جستجو بیشتر میشه

13- در اینجا رنگ و alpha مربوط به highlight رو مشخص میکنید

15-به کلاس Tsearch و با کمک تابع find جستجو انجام میشه
فانکشن find شامل چند پارامتر هست که به ترتیب توضیح میدم
1-TextField مورد نظر برای جستجو رو مشخص میکنید
2-من اینجا توسط کلاس Clear_fs امدم کاراکتر های خاصی که فارسی استایل برای justify استفاده میکنه رو پاک میکنم - این فقط برای استفاده از فارسی استایل کار برد داره و در این پارامتر شما باید
متنی که قراره جستجو بشه رو بدید از نوع رشته
3-مقدار true یا false میگیره و تعیین میکنید که به بزرگی یا کوچکی حروف حساس باشه یا نه
4-مقدار true یا false میگیره و تعیین میکنید که کلمات مشابه هم نشون بده یا نه
5-مقدار true یا false میگیره و تعیین میکنید که کلمات یافت شده رو به صورت highlight نشون بده یا نه
6-مقدار object قبول میکنه و شما مشخص میکنید که کلمات یافت شده رو با کلمه شما جای گزین کنه - Object شما دو تا پارامتر داره - اولی تعیین میکنید که جای گزین بشه و دیگری کلمه ای که قراره جای گزین بشه
7-TextFormat مورد نظر رو بهش میدید تا نتیجه رو با همون فرمت نشون بده - اگر هم این پارامتر رو خالی بزارید به صورت پیش فرض انتخاب میشه

خط شماره 19 : برای نمایش وضیعت جستجو مانند نمونه عمل کنید
خط شماره 24 : به شما مقدار جستجو رو نشون میده
___________--
با آرزوی موفقیت برای شما دوستان ;-D
 

پیوست ها

  • Tsearch.zip
    33.2 کیلوبایت · بازدیدها: 242
آخرین ویرایش:

++Hadi++

Active Member
اعوذ با ال... من الشیطان الرجیم...
خیلی ممنون لطف کردی برادر بایو جان (البته به چشم برادری ) ...:green:
خداوند به شما توفیق دهد ...
خدا نگهدار...
 

++Hadi++

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

BehrouzPc

پــــادشــاه فــلــــش
خیلی بهتر شده ، بسیار متشکر :rose:
یه نکته من نتونستم کلمه هایی رو که توشون ــــــ Shift+J استفاده شده را جستجو کنم و نتیجه بگیرم (مثلا (جـام))
اگه بشه توی نتیجه این مورد ها نا دیده گرفته بشه فکر کنم مشکل حل بشه ....
البته خودم هم روش کار می کنم ببینم به نتیجه میرسم...
 

Avang2005

مدیر انجمن
سلام دوست من

كلاس بسيار خفنيه !

فقط شرمنده يكمي دير رسيدم به اين تاپيك - بخاطر سوختن هارد و مادربوردم بود .

زنده باد ايران و زنده باد ايراني همچون شما

موفق باشيد
 

DaDaDooDoo

کاربر VIP
باگ

سلام بایو جان ... اجازه هست یک باگ بگیرم از کلاست ؟ وقتی کلمه ای رو در فیلد سرچ کپی کنی و بخوای بسرچی ، نمی سرچه و کلمه رو پیدا نمی کنه ... کلاس شما بر اساس حروف تایپ شده کار می کنه ؟ یعنی مثلاً حروف تایپ شده رو می ریزه تو یک آرایه و از طریق اون آرایه سرچو انجام میده ؟
 

BioDread

Banned
چون متن کانورت شده
و دوباره کانورت بشه سرش گیج میره :D
نباید متن کانورت شده بهش بدی

آره بر اساس حروف هست اما آرایه نقشی نداره
تمام کار رو indexof انجام میده
 

BioDread

Banned
برای این که بشه تو فلش متون فارسی درست دیده بشه باید به RTL کانورت بشه
فارسی استایل یکی از این کلاس ها هست که میشه توسط ان متن رو به RTL تبدیل کرد
RTL مخفف Rigth To Left هست

الان ان متنی که تو textfield هست کانورت شده
تو اگه BioDread رو از متن کپی کنی و جستجو کنی کار میکنه چون انگلیسی تبدیل به RTL نمیشه !!!
 

BehrouzPc

پــــادشــاه فــلــــش
سلام BioDread عزیز....
یه چیزی....
اگه Space سرچ بشه یه مشکلاتی پیش می یاد
1 - درست همه فاصله ها رو پیدا نمی کنه و نمی تونه مشخص کنه
2 - توی سرچ های بعد مشکل پیش می یاد

شاید اگه اصلا نشه space رو سرچ کرد مشکل حل باشه ، منظور اینه که اول چک بشه برای وارد شدن به مرحله جستجو ،...

موفق و پیروز باشید:rose:
 

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

بالا