واضح آرشیو وب فارسی:سایت ریسک: rf.ariyapoor13-04-2008, 02:46 AMدوستان یه خواهشی داشتم میشه یکی به من توضیح بده که اگه بخوام تو برنامه های console application فارسی بنویسم باید چه کار کنم تو خود کد که میذارم بعد که اجرا می کنم یه سری کاراکتر میاره یه توضیحی بدید که باید چی کار کنم ممنون:3::33: rf.ariyapoor14-04-2008, 12:46 AMآقا هیچکس نیست اینجا جواب مارو بده:18::18: :9: someone14-04-2008, 07:57 PMسلام. دو API برای این کار وجود داره که باید از اونها استفاده کنین. SetConsoleCP SetConsoleOutputCP که برای تغییر CodePage برنامه تون به کار میره. مثلا از CodePage = 1256 استفاده کنین. (Arabic) rf.ariyapoor15-04-2008, 01:16 PMدوست عزیز میشه یه کم بیشتر توضیح بدی چون من اصلا با Api ها کار نکردم اگه میشه یه بر نامه ساده که یه جمله فارسی رو چاپ کنه برام مثال میزنی ممنون cpplover16-04-2008, 12:42 AMخوب دوست من همونطوری که گفته شد شما باید از این توابع استفاده کنید که از توابع SDK هستند. تابع اول رو با بررسی که در msdn انجام دادم برای شما توضیح میدم : درحقیقت صفحه کد ورودی بکار رفته با کنسول را با فراخوانی پروسه ست میکند. SetConsoleCPتابع یک برنامه کنسول بکار میبرد صفحه کد ورودی اش را تا ورودی کیبرد را به مقدار کاراکتر مطابق ترجمه کند. تابع یک آرگومان داره و به این صورت به کار میره : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! اما wCodePageID در حقیقت شناسه ای از کدی است که باید ست شود . هدر های مورد نیاز شما Wincon.hو Windows.h. هستند. اگر تابع با موفقیت انجام شود مقداری غیر صفر بر میگرداند. واقعیتش اینه که من زیاد کنسول کار نکردم و اینا رو هم از msdn ترجمه کردم امیدوارم مفید واقع بشه. rf.ariyapoor16-04-2008, 10:22 AMمرسی مثلا واسه کد زیر !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!!من باید چه تغییراتی بدم تا خروجی برنامم درست باشه cpplover من وقتی windows.h و wincon.h رو include میکنم و تو main از تابع SetConsoleCP() استفاده میکنم موقع کامپایل حدود 82 تا error میده که وقتی error ها رو میبینم میره تو خود کد های header فایل های windows.h و wincon.h ارور میگیره البته ورودی setconsoleCP() رو هم 1256 مذارم که someone تو چند پست قبل گفته بود که کد پیج arabic هست ممنون میشم بازم راهنماییم کنید cpplover16-04-2008, 11:01 AMدو نکته رو بگم اگه از ویژوال 2005 استفاده کنی و پروژه کنسول درست کنی هدر هایی رو که گفتم رو میشناسه چون در ویژوال 6 بعضی از هدر ها قدیمی هستند. به این آدرس رجیستری برو : HKEY_LOCAL_MACHINESYSTEMCurrentControlSetContro lNlsCodePage احتمالا مقادیری که در این تابع باید قرار بدی اعدادی هستند که مقدار این زیر کلیدها رو تعیین میکنه . . . چند تا رو تست کن. rf.ariyapoor16-04-2008, 09:59 PM!!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!!من برنامه رو تو محیط visual stadio 2005 اجرا می کنم به مسیری که گفتی هم رفتم و یه سری از اون ها رو واسه setconsolecp() فرستادم اما بازم موقع کامپایل 82 خطا میگیره که وقتی خطا ها رو بررسی میکنم میره تو هدر فایل wincon و از اونجا مشکل میگیره بازم ممنون میشم راهنماییم کنید cd 317-04-2008, 09:40 AMسلام. به نظر من فايل wincon.h وجود نداره . cpplover17-04-2008, 12:01 PMبه نظر من فايل wincon.h وجود نداره من که این هدر رو در برنامه میارم مشکلی ایجاد نمیشه و 82 error هم نداره اما در ویژوال 6 دقیقا 82 error بوجود می اومد. در هر حال در وبلاگ www.cpp.blogfa.com (http://www.cpp.blogfa.com) مطلبی تحت عنوان طراحی برنامه های فارسی در ++C وجود داره به این آدرس حتما رجوع کنید .امیدوارم نتیجه بگیرید. موفق باشید. someone20-04-2008, 07:43 PMدوباره سلام. متاسفانه کمتر وقت میکنم به Forum برسم. اول از راهنمایی های دوستم خوبم که واقعا عالی بود cpplover تشکر میکنم. در برنامه های نوشته شده باید چند نکته رو رعایت کنین : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! در کد بالا ، دو اشتباه بزرگ وجود داره. 1- باید به برنامه Windows.h اضافه بشه نه WinCon.h Wincon خودش در Windows.h وجود داره و قبل از صدا زدن اون باید به این نکته دقت کنین که باید پیش نیاز هاش رو صدا بزنین. بنابراین صرفا استفاده از Wincon.h در برنامه خطا ایجاد میکنه. 2- SetConsoleCP در کد بالا به صورت محلی دوباره تعریف شده. SetConsoleCP یک API هست. و باید مستقیما شما اون رو صدا بزنین. نه اینکه prototype اون رو دوباره بنویسین. ضمنا باید از SetConsoleOutupCP هم استفاده بشه. علاوه بر اینها ، شما باید font مربوط به Command promp رو هم عوض کنین که اینکار رو با تغییر در رجیستری باید انجام بدین. http://windowsitpro.com/article/articleid/83674/jsi-tip-9371-how-can-i-add-fonts-to-the-cmdexe-window.html http://ocliteracy.com/techtips/cmd-window.html rf.ariyapoor22-04-2008, 01:46 PMsomeone جان دستت درد نکنه ممنون سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 680]