ورود

نسخه کامل مشاهده نسخه کامل : فارسي نويسي در c++



NARAFIGH2
03-11-2008, 14:34
سلام به همگي !!! يك سوال داشتم مي خواستم بپرسم كه ميشه رشته هاي يوني كد رو مستقيما به يك رشته نسبت داد !!!!!!
من خودم با eclipse كار ميكنم و وقتي يك رشته فارسي رو به يك ارايه نسبت ميدم حداقل در زمان كامپايل مشكلي پيش نمي ياد !!!!!
در ضمن اگه ميشه كمي درمورد wchar_tهم توضيح بديد
ممنون!!!!

armintirand
21-12-2008, 00:49
دوست عزیز چون مطلبت جالب هست و سوال منم هست خواستم تاپیک بیاد بالا تا دوستان یک جوابی بدن

hoax3r
21-12-2008, 11:06
سلام

برای استفاده از رشته های یونیکد در ++C باید ابتدای رشته ها یک حرف L قرار داد
آرایه با رشته یونیکد رو هم با wchar_t تعریف میکید، برای مثال این کد رو بینید
این مثال در Code::Block و کامپایلر MinGW تست شده، من eclipse رو ندارم ولی فکر کنم درست کار کنه


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

راه دیگری هم استفاده از هدر فایل tchar.h و ماکروی ()T_ هست به این صورت
در این راه رشته در ماکرویی که گفتم قرار میگیره،


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

البته اگه منظورتون استفاده از یونیکد در برنامه های کنسولی هست به این صورت نمیشه این کارو کرد.

wchar_t هم برای رشته هایی هست که طولشون بیشتره (از نظر تعداد بایت) مثل یونیکد استفاده میشه

شاد باشید

armintirand
28-12-2008, 20:57
میشه یونیکد رو به صورت کامل توضیح بدین من کدهاشو دانلود کردم اما نمیدونم چطور استفاده کنم چون مثل سابق باز موقع نمایش عجق وجق میشه

hoax3r
29-12-2008, 11:18
میشه یونیکد رو به صورت کامل توضیح بدین من کدهاشو دانلود کردم اما نمیدونم چطور استفاده کنم چون مثل سابق باز موقع نمایش عجق وجق میشه
 
والا یونیکد چیز خاصی برای گفتن نداره بهتره سورستون رو بزارین برسی کنیم
 
البته تو پست قبل هم گفتم اگه برنامه تحت داس هست این روش جواب نمیده، که حدس میزنم مشکلتون همینه
در این حالت باید از فارسی سازهایی که موجوده استفاده کنید مثل sepand و Vegaf و ...
من کار نکردم باهاشون ولی بگردین احمالا مطالبی پیدا میکنید
 
شاد باشید

armintirand
30-12-2008, 18:55
والا یونیکد چیز خاصی برای گفتن نداره بهتره سورستون رو بزارین برسی کنیم

البته تو پست قبل هم گفتم اگه برنامه تحت داس هست این روش جواب نمیده، که حدس میزنم مشکلتون همینه
در این حالت باید از فارسی سازهایی که موجوده استفاده کنید مثل sepand و Vegaf و ...
من کار نکردم باهاشون ولی بگردین احمالا مطالبی پیدا میکنید

شاد باشید
دوست عزیز من یک برنامه به این صورت نوشتم


#include<conio.h>
#include<stdio.h>
int main ()
{
int b;
//char a;
printf("enter number");
scanf("%d",&b);
printf("%c",b);
getch();
return 0;
}


و وقتی به اون کد اسکی یک حرف انگلیسی رو میدم برام چاپ میکنه اما وقتی کد یونیکد فارسی رو میدم چاپ نمیکنه من برنامه‌ام رو در ویندوز XP اجرا میکنم و وقتی کدU+0628 رو که مربوط به حرف (ب) میشه وارد میکنم t‌رو چاپ میکنه میشه منو راهنمایی کنین.
ممنون

hoax3r
30-12-2008, 22:37
دوست عزیز من یک برنامه به این صورت نوشتم
 

و وقتی به اون کد اسکی یک حرف انگلیسی رو میدم برام چاپ میکنه اما وقتی کد یونیکد فارسی رو میدم چاپ نمیکنه من برنامه‌ام رو در ویندوز xp اجرا میکنم و وقتی کدu+0628 رو که مربوط به حرف (ب) میشه وارد میکنم t‌رو چاپ میکنه میشه منو راهنمایی کنین.

ممنون

 
در این مورد گفتم چی کار کنید. بصورت عادی نمیتونی اینکارو کنی باید فارسی ساز داشته باشی



البته تو پست قبل هم گفتم اگه برنامه تحت داس هست این روش جواب نمیده، که حدس میزنم مشکلتون همینه
در این حالت باید از فارسی سازهایی که موجوده استفاده کنید مثل sepand و vegaf و ...


شاد باشید

armintirand
02-01-2009, 21:17
خوب دوست عزیز اگه بخوام برنامه تحت داس نباشه و تحت ویندوز باشه چطور؟

hoax3r
03-01-2009, 00:07
خوب دوست عزیز اگه بخوام برنامه تحت داس نباشه و تحت ویندوز باشه چطور؟
 
در ویندوز باز اگر منظورتون همان محیط سیاه رنگ کنسولی(داس مانند) هست نظری ندارم چون کار نکردم
 
ولی در غیر این صورت پست اولم به اضافه یه کامپایلر که یونیکد رو پشتیبانی کنه کمکتون میکنه
 
شاد باشید

armintirand
04-01-2009, 22:31
ببینید دوست عزیز قبلاً که برنامه نویسی به این حد پیشرفته نبود برنامه هایی بود که فارسی بود منم میخوام اون روش رو بدونم اگه سایت خاصی رو در این مورد میدونی لطفاً معرفی کن تا بتونم اونجا اطلاعاتی کسب کنم.
در ضمن به من نرمافزار های فارسی ساز با نامهای:
Sepand
Vegaf
رو معرفی کردن اما نمیدونم که چطور با اونا کار کنم.
ضمناً شما تو پست قبلیتون گفتین یک کامپایلر که یونیکد رو پشتیبانی کنه. کدوم کامپایلرها یونیکد رو پشتیبانی میکنن.
ممنون.

hoax3r
04-01-2009, 23:17
کامپایلر های جدید تقریبا همشون یونیکد رو پشتیبانی میکنند مثل visual studio و یا ++borland C و ...
والا من تحت داس فارسی کار نکردم و چیزیایی که گفتم از دوستانی بوده که اینکارو کردن
اون قدیم هم افراد فونتهای فارسی رو در حافظه طراحی میکردن و بعد ازشون استفاده میکردن
برای اینکارم با وقفه ها باید اشنا بود که پیچیده تر از حالا بودن ....
 
به هر حال من با جستجوی عبارت "فازسی نویسی در داس" کلی مطلب پیدا کردم
 
اینجا کار با اون دو تا فارسی سازو گفته

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
 

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
 

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
 
این لینک از visual studio 2005 و API ویندوز استفاده کرده برای خودمم جالب بود چون نمیدونستم اینجوری هم میشه
با اینکه نتونستم استفاده کنم ولی بد نیست ببینید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
 
و ......
 
شاد باشید

armintirand
07-01-2009, 19:11
سلام به همگي !!! يك سوال داشتم مي خواستم بپرسم كه ميشه رشته هاي يوني كد رو مستقيما به يك رشته نسبت داد !!!!!!
من خودم با eclipse كار ميكنم و وقتي يك رشته فارسي رو به يك ارايه نسبت ميدم حداقل در زمان كامپايل مشكلي پيش نمي ياد !!!!!
در ضمن اگه ميشه كمي درمورد wchar_tهم توضيح بديد
ممنون!!!!
خوب دوست عزیز این نرم افزار eclipse که خودت با اون کار میکنی و میگی که با اون مشکلی نداری رو یک کم توضیح بده . میدونی چیه من میخوام پروژه های دانشگاه رو فارسی بنویسم و البته بیشتر سر فرصت با پیام خصوصی برات در این مورد میگم تا این بحث به حاشیه نره.
ممنون.

hoax3r
09-01-2009, 23:48
سلام

در مورد برنامه سوال کرده بودین، من با Visual C++ 2005 به بالا تست کردم با فارسی مشکلی ندران

شاد باشید

armintirand
13-01-2009, 00:41
دوست عزیز این eclipseکارش چطوره؟
ارزش دان کردن داره؟
ممنون