مشگل در فارسي نويسي در سي پلاس پلاس
سلام
من در حال تمرين براي آموزش پروژه MFC با VC++ 2008 هستم.
در انجام يك پروژه ساده Dialog Base به جاي انگليسي از فارسي استفاده كردم ولي بعد از كامپايل برنامه خروجي به ? تبديل ميشود.
لطفا راهنمايي نماييد كه چگونه ميشود خروجي برنامه كاملا فارسي باشد.
آيا كلا فارسي ساپورت نميشود و يا تنظيمات خاصي دارد و يا به كتابخانه هاي خاصي نياز است.
من برنامه نويس در صطح متوسط توي TC++ DOS بودم كه حالا يك ماهي هست به دليل علاقه به ويندوز روي آوردم.
عكس را هم گذاشتم.
با تشكر
http://jenab.persiangig.com/image/Jenab.jpg
نقل قول: مشگل در فارسي نويسي در سي پلاس پلاس
دلیل علامت سوال ها مربوط به یونی کد هست، ولی من فقط در همین حد می دونم. فقط گفتم که اگر می خوای توی سایت ها سرچ کنی بدونی دنبال چی باید بگردی..
نقل قول: مشگل در فارسي نويسي در سي پلاس پلاس
در resource view دیالوگ مورد نظر را انتخاب کنید (دابل کلیک نکنید فقط ID دیالوگ را انتخاب کنید تا تنظیمات آن ظاهر شود)
سپس در فیلد language در قسمت properties زبان را farsi قرار دهید.
توجه کنید که احتمالا تمامی فارسی های نوشته شده قبلی به ??? تبدیل می شود، و باید مجددا در این حالت فارسی بنویسید تا درست ذخیره شود.
نقل قول: مشگل در فارسي نويسي در سي پلاس پلاس
سلام
با تشكر از جناب مدیر بخش عزيز كه لطف ميكنند و بدون هيچ چشمداشتي كمك مينمايند.
فقط با زدن يك دكمه تشكر نميشود زحمات شما را جبران نمود.
مشگل من برطرف شد ولي در يك EDIT CONTROL با كد نويسي قصد گذاشتن يه متن فارسي داشتم ولي باز به صورت ؟ نشان داده ميشود لطفا راهنمائي نماييد.
عكس هم كذاشتم
با تشكر.
http://jenab.persiangig.com/image/Jenab2.jpg
نقل قول: مشگل در فارسي نويسي در سي پلاس پلاس
چون برنامه شما بر اساس فارسی هست، یعنی یونیکد هست. پس هر جایی که قرار هست مستقیم با کوتیشن رشته ای بنویسید (چه فارسی و چه انگلیسی) باید با پیشوند L یا _Tهمراه باشد تا آن را یونیکد ذخیره کند. (دقت کنید همه جای برنامه، حتی هنگام ارسال به توابع و ...):
m_editStr = L"Farsi or English here";
m_editStr = _T("Farsi or English here");
در مثال فوق داخل تگ کد در فروم نمی شه فارسی نوشت، خودتان رشته داخل " " را فارسی بنویسید.
مشگل با فارسي نويسي در قسمت Data يك Combo Box
سلام
اما هنوز يك مشگل با فارسي نويسي در قسمت Data يك Combo Box وجود دارد چون هر چه فارسي مينويسم باز علامت ؟ نشان داده ميشود.
لطفا راهنمائي بفرماييد.
عكس هم كذاشتم
http://jenab.persiangig.com/BJ/Jenab4.jpg
نقل قول: مشگل در فارسي نويسي در سي پلاس پلاس
یک متغیر از نوع CComboBox بسازید و سپس در رویداد OnInitDialog کد زیر را بنویسید و کدهایتان را اضافه کنید.( از خاصیت data استفاده نکنید):
combo1.InsertString( 0, _T("farsi text here 1") );
combo1.InsertString( 1, _T("farsi text here 2") );
combo1.InsertString( 2, _T("farsi text here 3") );