PDA

View Full Version : گفتگو: تبدیل کاراکتر انگلیسی به فارسی و برعکس



A_Salimi
یک شنبه 22 اردیبهشت 1387, 14:16 عصر
با سلام
نمیدونم برای شما هم تا حالا پیش اومده که در حین تایپ در برنامه word ، یک خط تایپ میکنید بعد میبینید ای داد بی داد فراموش کردید زبان سیستم رو تغییر بدید (مثل خیلی ها که در حین تایپ به کیبرد نگاه میکنن ) و مثلا به جای فارسی کلی حروف انگلیسی رو تایپ
کردید . . . از اونجایی که اینجانب علاقه عجیبی به نوشتن برنامه های کوچیکی دارم که به درد خودم بخوره و ازش به عنوان utility استفاده کنم ، با خودم فکر کردم تا یک نرم افزار کوچک طراحی کنم تا تمام اون خط رو به کاراکترهای زبان دیگر تبدیل کند.(شاید هم اینجور چیزی طراحی شده باشه . . . من نمیدونم)

در هر حال شروع به نوشتن برنامه کردم که این تبدیل رو انجام میده(انگلیسی به فارسی و برعکس) . البته از جایگذاری کاراکتر ها استفاده کردم و فعلا برنامه رو برای حروف (بدون در نظر گرفتن حالت دوم و بدون اعداد) نوشتم و اون رو با استاندارد کیبرد خودم طراحی کردم .

برنامه رو حتما دانلود کنید و در موردش نظر بدید.

دو تا سوال دارم :

1-آیا راه بهتری به جای جایگذاری که من در برنامه استفاده کردم وجود داره تا کاراکترهای انگلیسی رو به معادل اون در فارسی و برعکس تبدیل کرد ؟

2-اگر بخوام این برنامه رو به شکلی مشابه در خود نرم افزار word پیاده سازی کنم (مثلا یک خط رو انتخاب کنم و با زدن یک دکمه این تبدیل انجام بشه ) آیا این امکان وجود داره ؟ یعنی میخوام بدونم که برنامه هایی که پلاگین هایی رو به word اضافه میکنند چطور طراحی میشن ؟ و آیا با MFC هم میشه اینجور کارایی کرد ؟

با تشکر

مهران موسوی
سه شنبه 24 اردیبهشت 1387, 19:39 عصر
اگه امكانش هست با VC++ 6 پياده سازيش كنيد تا بتونم تستش كنم ... چون اين چيزي كه شما مد نظرتون هست با يك Raplace ساده انجام پذير نيست و نياز به پياده سازي يك سري تكنيكهاي خاص داره ... چون زبان فارسي به علت داشتن چندين واج با شكل يكسان يكم از زبان انگليسي فاصله داره ... پس اگه قصد طراحي يك Language Convertor انعطاف پذير رو دارين بايد يكم حرفه اي تر عمل كنيد ....

يا حق ...

A_Salimi
سه شنبه 24 اردیبهشت 1387, 23:13 عصر
اگه امكانش هست با VC++ 6 پياده سازيش كنيد تا بتونم تستش كنم

همون کد ها رو در برنامه ای جدید در ویژوال 6 پیاده کنید وقت زیادی نخواهد گرفت


چون اين چيزي كه شما مد نظرتون هست با يك Raplace ساده انجام پذير نيست و نياز به پياده سازي يك سري تكنيكهاي خاص داره

نه این خیلی خوب کار میکنه البته استاندارد تمام کیبرد ها هم تقریبا یکسان است احتمالا به جز چند حرف مثل ژ – پ

شکل زیر را ببینید : که من برای دو جمله آن را تست کردم


http://www.upload2world.com/pic88/upload2world_8b3e0.jpg

سوال اصلی من این است : آیا میشود این طور برنامه ای را به عنوان یک ابزار به word افزود ؟

با تشکر

مهران موسوی
چهارشنبه 25 اردیبهشت 1387, 13:19 عصر
به طور كامل نه ... چون من فكر نكنم براي Word كيت توسعه وجو داشته باشه ... اصلا فكر نكنم قابليت پذيرش پلاگين رو داشته باشه ...

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

مهران موسوی
چهارشنبه 25 اردیبهشت 1387, 14:21 عصر
دوست عزيز اگه خيلي مايليد كه اين كار رو انجام بدين من يك فكر بهتر هم به ذهنم رسيده ... شما ميتونيد با استفاده از API هندل تولبار Word رو بدست بيارين و سپس Parent دكمه ي مورد نظر خودتون رو تولبار Word قرار بدين ... و بعد با يك سري از تكنيكها ( فكر كنم يه جا برنامه اي يا نمونه اي براي ارتباط با Word ديده بودم ) متن انتخاب شده رو دريافت كرده و متن جاري را پاك كنيد و متن ويرايش شده رو جايگزين كنيد ....

Nima_NF
چهارشنبه 25 اردیبهشت 1387, 15:53 عصر
برای ابزار های Office امکان ساخت پلاگین و سایر موارد وجود دارد، مثلا برای add-in از Com توسط MFC یا Win32 یا انواع زبان های مبتنی بر دات نت می توانید استفاده کنید .
برای نسخه های اخیر نیز ابزار ها و روش های جدید برای سرعت بخشیدن به توسعه ارائه شده که متاسفانه بیشتر مبتنی دات نت هستند.

برای اطلاعات بیشتر صفحات زیر را مشاهده کنید:
How To Build a Microsoft Word Add-in (WLL) Using Visual C (http://support.microsoft.com/kb/183758)
COM Add-ins vs. Application-Specific Add-ins (http://msdn.microsoft.com/en-us/library/aa165197%28office.10%29.aspx)
Creating Custom Task Panes in the 2007 Office System (http://msdn.microsoft.com/en-us/library/aa338197.aspx)

A_Salimi
چهارشنبه 25 اردیبهشت 1387, 16:07 عصر
از اونجایی که مایکروسافت ورد با vb نوشته شده است از هرکس که این سوال رو پرسیدم استفاده از ماکروها رو در word و کد نویسی با آنها را به من پیشنهاد کرد این چیزی که میخوام احتمالا به این شکل قابل پیاده سازی باشد

نیما جان ضمنا لینک دوم برای من قابل دسترسی نیست . . . همینه ؟

http://barnamenevis.org/forum/COM%20Add-ins%20vs.%20Application-Specific%20Add-ins
تشکر از اینکه وقت گذاشتید .

Nima_NF
چهارشنبه 25 اردیبهشت 1387, 20:05 عصر
لینک دوم اصلاح شد، فقط صفحه ای برای مقایسه انواع شیوه ها بود.



از اونجایی که مایکروسافت ورد با vb نوشته شده است... برای این مورد لینک یا منبع معتبری دارید که توضیح دهد با VB نوشته شده ؟

تشکر

مهران موسوی
چهارشنبه 25 اردیبهشت 1387, 21:50 عصر
دوست عزيز VB عددي نيست كه خود Microsoft بخواد باهاش يكي از محصولات تجاريش رو بنويسه و به بازار جهاني عرضه كنه ...

Word با Microsoft Visual C++ 7.0 Method2 نوشته شده ...

A_Salimi
پنج شنبه 26 اردیبهشت 1387, 00:21 صبح
واقعیتش چیزی رو که در بالا در مورد مایکروسافت ورد گفتم را فقط از یک دانشجوی دوره دکترای کامپیوتر که چندین سال سابقه برنامه نویسی داشت شنیدم ولی در مورد صحت واقعی آن اطلاعی ندارم و با جستجو هم نتوانستم یک منبع معتبر برای اثبات این حرف بیاورم .

با تشکر از اصلاح لینک