မင်္ဂလာပါ!

လှိုက်လှဲစွာကြိုဆိုပါသည်။ ယခု ပထမဆုံးအကြိမ် ရောက်ဖူးခြင်းဖြစ်ပါသလား? ဝင်ရောက် ဆွေးနွေး မေးမြန်းလိုပါလျှင် အောက်တွင်ဖော်ပြထားသော button များမှတဆင့် ဝင်ရောက် ဆွေးနွေးနိုင်သကဲ့သို့ အဖွဲ့ဝင်အသစ်အနေဖြင့်လည်း လျှောက်ထားနိုင်ပါတယ်။

MYSTERY ZILLION တွင် English သို့မဟုတ် Unicode ဖြင့်သာ အသုံးပြုခွင့်ရှိသည်။ ဇော်ဂျီ ၊ ဧရာ စသည်တို့ကို အသုံးပြုခွင့် မရှိ။ Unicode fonts များမှာ Mon3,Yunghkio, Myanamr3 စသည်များ အသုံးပြုနိုင်သည်။ Unicode Guide ကို ဒီမှာ Download ချပါ။ Zawgyi to Unicode Converter
Don't share ebook or software if nobody request. You can find free book websites on here. We are welcome for discussion or asking question instead.

C++ Unicode

edited February 2011 in C++
C++ မှာ မြန်မာလိုပေါ်အောင်ဘယ်လိုရေးရမလဲဆိုတာသိချင်ပါတယ်

ဥပမာ Source Code လေးနဲ့ဘယ်ကုတ်က unicode ကိုပေါ်အောင်လုပ်ပေးတာလဲဆိုတာရှင်းပြပေးပါလားဗျာ

"hello " နေရာမှာ "နေကောင်းလား" လို့ပေါ်အောင်လိုမျိုးပါ သိသူများရှင်းပြပေးပါနော်

မှတ်ချက်များ

  • edited October 2009 Administrators
    Sorry,DOS don't support unicode. So, you can't do. If you want to write, try VC++ from VS 2008. However, you can't write Myanmar Unicode in DOS.
  • edited October 2009 Registered Users
    saturngod wrote: »
    Sorry,DOS don't support unicode. So, you can't do. If you want to write, try VC++ from VS 2008. However, you can't write Myanmar Unicode in DOS.

    ကျွန်တော်က window ပေါ်မှာရေးမလို့ပါခင်ဗျာ

    ကုတ််ရဲ့ ဥပမာ ကိုနည်းနည်းလေးသိချင်ပါတယ်ရမလားဗျာ
    အခုလိုဖြေပေးတာကျေးဇူးတင်ပါတယ်
  • edited October 2009 Administrators
    လိုရင်းရောက်အောင် ရှင်းပြဖို့ နည်းနည်းခက်ပါလိမ့်မယ်။ C++ မှာ char က Original အနေနဲ့ 1 byte ပဲရှိပါတယ်။ Unicode Character တွေက 2 bytes ရှိပါတယ်။ ဒါကြောင့် VC မှာက Unicode Character တွေကိုင်တွယ်ချင်တယ်ဆိုရင် char လို့ကြေငြာပြီးရုံနဲ့ မရပါဘူး။ Unicode Character တွေကို ကိုင်တွယ်ချင်တယ်ဆိုရင် String တွေကို ပြောင်းလဲကိုင်တွယ်ရပါတယ်။ VC အနေနဲ့ ထောက်ပံ့ပေးထားတာက Support for Multibyte Character Sets (MBCSs) ရယ် UNICODE ရယ်ဆိုပြီးရှိပါတယ်။ ဒါ့ကြောင့် Preprocessor မှာ Code Space ကို _MBCS or _UNICODE သတ်မှတ်ပေးရပါမယ်။ _MBCS or _UNICODE သုံးတဲ့အပေါ်မူတည်ပြီးတော့ သုံးပုံသုံးနည်း နည်းနည်း ကွာခြားပါလိမ့်မယ်။ ဒီနေရာမှာ အကုန်ရှင်းဖို့မဖြစ်နိုင်ပါဘူး။ MSDN မှာအသေးစိတ်ကြည့်ပါ Example တွေပါပါလိ့မ်မယ့်။ အကြမ်းဖတ်လို့ရမယ်လင့်တော့ ပေးထားလိုက်ပါတယ်။
    http://msdn.microsoft.com/en-us/library/cc194799.aspx
    
  • edited October 2009 Registered Users
    အခုလိုဖြေကြားပေးတာကျေးဇူးတင်ပါတယ်
  • edited October 2009 Moderators
    window ရဲ ့ dos မှာတော့ဘာကြောင့်မရပဲနဲ ့ ubuntu ရဲ ့ terminal မှာကြတော့ဘာလို ့ရရတာလဲမသိဘူး ဖြေကြပါဦး
  • edited October 2009 Administrators
    Windows core is too old and they need to update it. Don't need unicode in terminal because it's enough. Just a think.
  • edited October 2009 Registered Users
    ကျွန်တော်သုံးနေတာက Dev C++ ပါ

    အဲဒီမှာကျွန်တော်သိချင်တာက ဒီလိုကုတ်မှာ
    #include <windows.h>

    int WINAPI
    WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR pszCmdLine, int iCmdShow)
    {
    MessageBox(NULL, "Good!", "Pinky says...", MB_OK | MB_ICONEXCLAMATION);
    return 0;
    }
    Good နေရာမှာ ကောင်းတယ် လို့ပေါ်အောင်ဘယ်လိုလုပ်ရမလဲ
    ပြီးတော့

    ဒီလိုလေးရေးရင်ရမလား

    #define UNICODE;
    နည်းနည်းလောက်ရှင်းပြကြပါဦးးအစ်ကိုတို့ရေ
  • edited October 2009 Registered Users
    #include <windows.h>
    
    int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR pszCmdLine, int iCmdShow) {
        MessageBoxW(NULL, "\u1031\u1000\u102C\u1004\u1039\u1038\u1010\u101A\u1039", "Pinky says...", MB_OK | MB_ICONEXCLAMATION); //Use MessageBoxW for wide char.
        return 0;
    }
    

    \u1031\u1000\u102C\u1004\u1039\u1038\u1010\u101A\u1039 is for ကောင်းတယ်.
  • edited October 2009 Administrators
    MS word မှာ မြန်မာလိုရိုက်ပြီး Alt+x ရိုက်ပြီး unicode နံပတ်ပြောင်းလို့ရတယ်။ က ရိုက်ပြီးရင် က ရဲ့ အနောက်ကို cursor ရွှေ့ပြီး Alt+x နှိပ်လိုက်ရင် 1000 လို့ပြောင်းသွားမယ်။ \u1000 ဆိုရင် က ကြီးလို့ပြောပါလိမ့်မည်။
  • edited October 2009 Registered Users
    saturngod wrote: »
    MS word မှာ မြန်မာလိုရိုက်ပြီး Alt+x ရိုက်ပြီး unicode နံပတ်ပြောင်းလို့ရတယ်။ က ရိုက်ပြီးရင် က ရဲ့ အနောက်ကို cursor ရွှေ့ပြီး Alt+x နှိပ်လိုက်ရင် 1000 လို့ပြောင်းသွားမယ်။ /u1000 ဆိုရင် က ကြီးလို့ပြောပါလိမ့်မည်။

    MS Word ကဘာကိုပြောတာလဲမသိဘူးနော်

    စောစောကအစ်ကိုပြောသွားသလိုကုတ်ထဲမှာထည့်လိုက်ရင်ပြီးတာပဲ့မဟုတ်လားဟင်
  • edited October 2009 Administrators
    :( Microsoft Word ကိုပြောတာလေ။ \u1000 နော်။ /u မဟုတ်ဘူး။
  • edited October 2009 Registered Users
    #include <windows.h>

    int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR pszCmdLine, int iCmdShow) {
    MessageBoxW(NULL, "\u1031\u1000\u102C\u1004\u1039\u1038\u1010\u101A\u1039", "Pinky says...", MB_OK | MB_ICONEXCLAMATION); //Use MessageBoxW for wide char.
    return 0;
    }
    အစ်ကိုရေကျွန်တော်လုပ်ကြည့်တာအောက်က error ပြနေတယ်
    4 C:\Documents and Settings\
    \Desktop\
    \Untitled1.cpp
    cannot convert `const char*' to `const WCHAR*' for argument `2' to `int MessageBoxW(HWND__*, const WCHAR*, const WCHAR*, UINT)'

    အဲဒါဘယ်လိုလုပ်ရမလဲဟင်
    ကျွန်တော် MessageBox မှာ W ဖြုတ်လိုက်တော့ error မတက်ပဲနဲ့ ရပါတယ်
    ဒါပေမယ့် မြန်မာလိုမပေါ်ပဲ့ အခြား သင်ကေတလေးနဲ့ဖြစ်နေလိုပါ

    ဒါလေးကကလိထားတာလေးပါ
    http://www.multiupload.com/8Q04D58WLN
    http://www.multiupload.com/Z89RVHO9XM
  • edited October 2009 Registered Users
    question wrote: »
    အစ်ကိုရေကျွန်တော်လုပ်ကြည့်တာအောက်က error ပြနေတယ်
    4 C:\Documents and Settings\
    \Desktop\
    \Untitled1.cpp
    cannot convert `const char*' to `const WCHAR*' for argument `2' to `int MessageBoxW(HWND__*, const WCHAR*, const WCHAR*, UINT)'

    အဲဒါဘယ်လိုလုပ်ရမလဲဟင်
    ကျွန်တော် MessageBox မှာ W ဖြုတ်လိုက်တော့ error မတက်ပဲနဲ့ ရပါတယ်
    ဒါပေမယ့် မြန်မာလိုမပေါ်ပဲ့ အခြား သင်ကေတလေးနဲ့ဖြစ်နေလိုပါ

    C++ မှာ " " ဆိုရင် char ပါ။ wchar မဟုတ်ပါ။ MessageBoxW() ဟာ wchar ကိုလက်ခံပါတယ်။ wchar လိုချင်ရင် ရှေ့မှာ L ခံပေးပါ။ ဥပမာ၊

    MessageBoxW( NULL, L"This is testing wide character", L"Application", MB_ICONERROR | MB_OK )

    Multi-byte နဲ့ Unicode auto ပြောင်းချင်ရင် generic ဖြစ်တဲ့ TCHAR ကိုပြောင်းသုံးကြည့်ပါ့လား? #define UNICODE ဆို TCHAR ဟာ wchar ဖြစ်ပြီး သာမန်ဆို char ဖြစ်နေပါလိမ့်မယ်။ TCHAR အတွက် _T("") string quote ကိုသုံးပါ။ ကျွန်တော်ဆို အမြဲ TCHAR သုံးပါတယ်။ ပြီးတော့မှ UNICODE "on" ထားလိုက်တယ် ;)
  • edited October 2009 Registered Users
    myintkt wrote: »
    c++ မှာ " " ဆိုရင် char ပါ။ wchar မဟုတ်ပါ။ messageboxw() ဟာ wchar ကိုလက်ခံပါတယ်။ wchar လိုချင်ရင် ရှေ့မှာ l ခံပေးပါ။ ဥပမာ၊

    messageboxw( null, l"this is testing wide character", l"application", mb_iconerror | mb_ok )

    multi-byte နဲ့ unicode auto ပြောင်းချင်ရင် generic ဖြစ်တဲ့ tchar ကိုပြောင်းသုံးကြည့်ပါ့လား? #define unicode ဆို tchar ဟာ wchar ဖြစ်ပြီး သာမန်ဆို char ဖြစ်နေပါလိမ့်မယ်။ tchar အတွက် _t("") string quote ကိုသုံးပါ။ ကျွန်တော်ဆို အမြဲ tchar သုံးပါတယ်။ ပြီးတော့မှ unicode "on" ထားလိုက်တယ် ;)
    ဒါဆိုကုတ်ကိုဒီလိုရေးလို့ရမှာပေါ့
    #include <windows.h>

    int winapi winmain(hinstance hinst, hinstance hprev, lpstr pszcmdline, int icmdshow) {
    messageboxw(null, l"\u1031\u1000\u102c\u1004\u1039\u1038\u1010\u101a\u1039", "pinky says...", mb_ok | mb_iconexclamation); //use messageboxw for wide char.
    Return 0;
    }
    lတစ်လုံးထည့်လိုက်ရင်အဆင်ပြေပြီလားဟင်
    ကုတ်လေးနဲ့နမူနာရှင်းပြပေးပါလားကျွန်တော်ကနည်းနည်းပိန်းလို့
  • edited October 2009 Registered Users
    >> l တစ်လုံးထည့်လိုက်ရင်အဆင်ပြေပြီလားဟင်

    "l" မဟုတ်ပါဘူး။ L အကြီးပါ :) L ထည့်လိုက်ရင်အဆင်ပြေပါတယ် ;)
  • edited October 2009 Registered Users
    အိမ်ရောက်မှပြန်စမ်းလိုက်ဦးမယ်

    ူL ထည့်ရင် ok ပြီးပေါ့ဒီတစ်ခါမမရရင်ဟီး

    အခုလိုဖြေကြားပေးတာကျေးဇူးကမာပါ
  • edited October 2009 Registered Users
    အိမ်ရောက်မှပြန်စမ်းလိုက်ဦးမယ် L ထည့်ရင် ok ပြီးပေါ့ဒီတစ်ခါမမရရင်ဟီး

    အခုလိုဖြေကြားပေးတာကျေးဇူးကမာပါ
  • edited October 2009 Registered Users
    အစ်ကိုတို့ရေ ဒါဆို ok နေရာမှာ ကော

    ကုတ်သုံးပြီးတော့စောစောကလိုမျိုးလုပ်မယ်ဆိုရင်

    မြန်မာလိုပေါ်အောင်လုပ်လို့ရလားဟင်
  • edited February 2011 Registered Users
    Windows 7 ရဲ့ console က unicode text ကို support လုပ်ပါတယ်.... မြန်မာလိုမြင်ရဖို့ကတော့ ....
Sign In or Register to comment.