Archive for 2012/01

نمایش صحیح متون فارسی در جهت چپ به راست (بخش دوم)

۱۳۹۰/۱۱/۰۵ ۱۷:۱۳ Salar https://www.blogger.com/profile/08261083424775464146 منتشر شده در تاریخ : ۱۳۹۰/۱۱/۰۵ دسته بندی : ، ، ، 0

قبلا کدی را برای تصحیح نمایش صحیح متون فارسی در محیطهایی که فارسی یا یونیکد را پشتیبانی نمی کنند نوشته بودم. آن تکه کد مشکلاتی داشت که بر آن شدم تا مجددا کلاسی را برای انجام صحیح این کار تهیه کنم که مشکلات قبلی را نداشته باشد.
قبل از استفاده از این کلاس باید مطمئن باشید که کامپوننت یا برنامه مورد نظر شما از یونیکد پشتیبانی نمی کند. اما در صورتی که از یونیکد پشتیبانی کرد بهتر است که از راه حل یونیکد استفاده کنید.
در راه حل یونیکد که با استفاده از تابع CorrectPersinRtlToDisplayLtrUnicode در دسترس است کارکاکتر RTL Embedding را به ابتدای رشته اضافه می کند. وجود این کاراکتر سبب خواهد شد یا رشته مورد به صورت راست به چپ و درست نمایش داده شود و در عین حال نیز چپ چین باقی بماند (Aligned to left).
در صورتی که از عدم پشتیبانی یونیکد مطمئن هستید از تابع CorrectPersinRtlToDisplayLtr استفاده کنید. این تابع ترتیت کلمات در متون فارسی/انگلیسی را طوری جابجا می کند که متن راست به چپ بتواند به درستی در محیط چپ به راست نیز نمایش داده شود. توجه کنید متن تبدیل شده قابل برگشت نیست.
نکته مهم در مورد اعداد. به علت اینکه رفتار اعداد به RTL یا LTR بودن محیط وابسته است در برخی شرایط خاص امکان تصحیح نمایش آنها برای محیط چپ به راست وجود ندارد. این استثنا در صورتی رخ می دهد که عددی در ابتدای جمله و با فاصله از کلمه بعدی قرار بگیرد.
مثال: راست به چپ: 1 تست 2
1 تست 2
به هر ترتیب در صورت عدم وجود فاصله بعد از اولین عدد مشکلی پیش نخواهد آمد.
نکته: برای سهولت تابعی نیز برای تبدیل اعداد به معادل فارسی آنها و بالعکس که البته یونیکد نیز هستند تعبیه شده است. فراموش نشود که برای محیط یونیکد از تابع یونیکد استفاده کنید.

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

نتیجه اجرای کلاس تبدیل
دریافت کلاس و برنامه PersianLeftToRight از اینجا و یا اینجا
کدهای پروژه به صورت آنلاین از اینجا نیز قابل مشاهده است.

 

الگوریتم ژنتیک برای n وزیر و الگوریتم های جستجو

۱۳۹۰/۱۰/۲۰ ۲۲:۲۴ Salar https://www.blogger.com/profile/08261083424775464146 منتشر شده در تاریخ : ۱۳۹۰/۱۰/۲۰ دسته بندی : ، ، 7

چندی قبل برای یکی از همکاران روی پروژه الگوریتم ها کار کردیم که یکی مربوط به الگوریتم ژنتیک برای مسئله n وزیر است و دیگری الگوریتمهای جستجوی BFS , DSF و UCF است.
عملکرد تمامی قسمت ها توضیح داده شده و به صورت کامنت برای هر دستور نوشته شده است, همچنین سعی شده که کدها کمترین پیچیدگی رو داشته باشه تا برای دانشجو قابل درک بوده و مفید واقع بشه.
امیدوارم از این پروژه ها در جهت صحیح استفاده شده و مفید واقع بشه. زبان استفاده شده C# است.

تصویر برنامه الگوریتم ژنتیک
تصویر برنامه الگوریتم های جستجو

دانلود الگوریتم ژنتیک برای n وزیر از اینجا یا اینجا
دانلود الگوریتمهای جستجوی BFS , DSF و UCF از اینجا یا اینجا

لینکهای مفید: