PDA

View Full Version : فارسی ساز مستقل از ویندوز برای کامپایلرهای 2009 به بعد



tdkhakpur
چهارشنبه 01 تیر 1390, 20:58 عصر
با سلام
همانطور که میدانید هر برنامه ای که نوشته میشود یه سری نیازهایی دارند که باید در اختیار قرار داشته باشند تا برنامه به درستی کار کند یکی از اصلیترین آنها نیاز به فارسی ساز هست که برای برنامه نویسان فارسی زبان مخصوصا داخل کشور مهم بوده و باید وجود داشته باشه تا برنامه بتواند خودش را برای استفاده نشان دهد.
نمونه کد زیر به همراه پکیج (dll) ارائه شده میتواند برنامه های شما را بی نیاز از هر گونه فارسی ساز ساخته و برنامه شما مستقل از ویندوز شود.یکی از مزایای این فارسی ساز این هست که تنها با فشار کلید f9 میتوانید سویچ بین دو زبان فارسی و لاتین رو انجام بدید و دیگری اینکه میتوانید اعداد فارسی و لاتین رو با هم در داخل یک متن داشته باشید که ویندوز این امکان رو در اختیار نگذاشته است.
سورس ارائه داده شده آسانترین کدهای ارائه شده هست که میتواند در ساخت برنامه های پیچیده برای شما قدمی بر دارد توابع بکار رفته به شرح زیر کاربرد دارند.
1 - InstallUnicodeAction :
این تابع فراخوانی مسود تا درایور زبان بتوانید آغازش شود.
2 - RemoveUnicodeAction :
این تابع باید بعد از انجام کار و بسته شده فرم فراخوانی شود تا درایور آزاد شود(البته میتوانید دو تابع را فقط در فرم اصلی فراخوانی کنید).
3 - AddUnicodeTo :
یا تابع فوق میتوانی درایور زبان را برای کار با فرم منتخب تعیین کنید یکه این تابع یک پارامتر دارد و ان هم هندل فرم هست.
4 - DelUnicodeFrom :
تابع فوق هم برای آزاد سازی درایور از روی فرم به کار برده میشود.توجه داشته باشید که اگز فرمهای بیشتری در پروژه تان دارید باید تابع 3 و در اخر کار با فرم تابع 4 را فراخوانی کنید.مانند نمونه کد که فقط برای یک فرم نوشته شده است.
نکته مهم :
اینه که از این (dll) باید در کامپایلرهایی که از یونیکد پشتیبانی میکنند استفاده کنید.موفق باشید...
http://s1.picofile.com/file/6852165990/irLanguage_c.rar.html

BORHAN TEC
یک شنبه 05 تیر 1390, 15:29 عصر
ایده ی بسیار خوبی است! :چشمک:
ولی این برنامه تعدادی باگ دارد:
- باگ اول: این است که در موقع تایپ کردن در یک کنترل TEdit پرش های زیادی به وجود می آید.
- باگ دوم: البته این برنامه یک نقص دیگر هم دارد که اگر برطرف شود بسیار عالی می شود و آن هم این است که در ویندوزی اگر گزینه Install Right to left languages فعال نباشد حروف به درستی به نمایش در نمی آید، به عبارت دیگر متن فارسی از آخر به اول به نمایش در می آید. در زیر هم یک عکس را در این رابطه ضمیمه کرده ام:

tdkhakpur
چهارشنبه 08 تیر 1390, 09:15 صبح
باگ اول: این است که در موقع تایپ کردن در یک کنترل TEdit پرش های زیادی به وجود می آید.
- باگ دوم: البته این برنامه یک نقص دیگر هم دارد که اگر برطرف شود بسیار عالی می شود و آن هم این است که در ویندوزی اگر گزینه Install Right to left languages فعال نباشد حروف به درستی به نمایش در نمی آید، به عبارت دیگر متن فارسی از آخر به اول به نمایش در می آید. در زیر هم یک عکس را در این رابطه ضمیمه کرده ام:

البته بهتره کامپوننت شخصی رو از این طریق بنویسید تا اینکه dll رو وادار کنید فرم رو تحت تاثیری قرار بده اما در هر صورت اصلاح شده و مجدد ارسال میشه.
ممنون.

hector2000
دوشنبه 11 مهر 1390, 11:58 صبح
با سلام
من چندتا سوال دارم
در دلفي هم ميشه از اين كد استفاده كرد؟
چرا بايد كامپايلر يوني كد را ساپورت كند؟
من مي توانم يك پيشنهاد بدهم.احتمالا دوستان برنامه هايي نظير ipt و يا lemoon persian را ديديد.اين برنامه ها مستفل از ويندوز فارسي تايپ مي كنند.اصول اين برنامه ها اينست كه خودشان ورود اطلاعات را مديريت كرده(همانند فارسي سازهاي زمان داس)و با استفاده از فونتهايي كه خودشان درست كردند اين كار را به نحو احسند انجام مي دهند.من توصيه مي كنم براي اينكه فارسي ساز شما تحت تمامي ويندوز ها اجرا شود همين كار را انجام دهيد
موفق باشيد(من به اين موضوع علاقه دارم و كمكي از دستم بر بيايد كوتاهي نمي كنم)

BORHAN TEC
سه شنبه 12 مهر 1390, 07:45 صبح
در دلفي هم ميشه از اين كد استفاده كرد؟
بلی

چرا بايد كامپايلر يوني كد را ساپورت كند؟
به هر حال پیش نیازی که این دوستمان که این dll را ساخته اند بر این قابلیت بنا شده است ولی می توان با راهکارهایی از آن نیز صرف نظر کرد. البته این کار زیاد هم ساده نخواهد بود.

hector2000
سه شنبه 12 مهر 1390, 10:37 صبح
بلی

به هر حال پیش نیازی که این دوستمان که این dll را ساخته اند بر این قابلیت بنا شده است ولی می توان با راهکارهایی از آن نیز صرف نظر کرد. البته این کار زیاد هم ساده نخواهد بود.
من شديدا دنبال اين كد هستم.البته من دنبال اين هستم كه اين كد در قالب يك dllنباشد و در اصل سورس اين برنامه باشد كه بتوان ان را به فايل اجرايي اصلي اضافه كرد تا برنامه به فايلي وابسته نباشد(عدم وابستگي برنامه به فايلي خاص حفظ شود)
ميدونم كه ممكنه خلاف قوانين سايت باشه ولي مي بايستي اعلام كنم كه حاضرم بابتش پول خوبي بدهم