Դիտել ողջ տարբերակը : MFC-ի Dialog design-ում գրված հայերենը ծրագրի աշխատելուց չի արտապատկերվում
Աշխատում եմ MS Visual Studio 2008Pro-ով և ունեմ հետևյալ պրոբլեմը (պրոբլեմը կա դեռ Visual Studio 7.0-ի ժամանակներից):
Սարքում եմ MFC project (Dialog based, Use Unicode Libraries->Checked), Dialog-ի դիզայնում գրում եմ հայերեն (Unicode) ամեն ինչ նորմալ ցույց է տալիս:
32801
Բայց ծրագիրը աշխատացնելուց ցույց է տալիս սա
32805
Կոդում ավելացնում եմ
// TODO: Add extra initialization here
this->SetWindowTextW(L"Պատուհան");
GetDlgItem(IDC_STATIC)->SetWindowTextW(L"Հայերեն");
և ծրագիրը աշխատելուց ամեն ինչ նորմալ ցույց է տալիս, ոնց որ դիզայնում:
Ինչ որ մեկը գիտի թե ոնց անել, որ ամեն ինչ նորմալանա, թե չէ դրա համար կոդ գրելը ...
MFC-ում առանց այդ էլ դիզայնը քրտնաջան աշխատանք է:
Կարծում եմ Regional Settings-ում անհրաժեշտ է ավելացնել Հայերեն տեքստի հնարավորությունը (երկրորդ թերթիկի վրա, առաջին "ծիտիկը"):
Կարծում եմ Regional Settings-ում անհրաժեշտ է ավելացնել Հայերեն տեքստի հնարավորությունը (երկրորդ թերթիկի վրա, առաջին "ծիտիկը"):
Իմ մոտ միշտ միացրածա:
Համ էլ
Կոդում ավելացնում եմ
// TODO: Add extra initialization here
this->SetWindowTextW(L"Պատուհան");
GetDlgItem(IDC_STATIC)->SetWindowTextW(L"Հայերեն");
և ծրագիրը աշխատելուց ամեն ինչ նորմալ ցույց է տալիս, ոնց որ դիզայնում:
Ինձ պետքա որ էդ կոդը չգրեմ, պատկերացրա ունես պատուհան լիքը Control-ներով ու համապատասխան Label-ներով: Ամեն մեկի համար մի հատ ID հորինի ու կոդ գրի:
ինձ թվումա Visual Studio-ի կամ Project-ի պարամետրերի մեջ մի բան պիտի փոխվի:
Օրինակ C#-ում ոնց գրում ես այնպես էլ ցույցա տալիս ավելորդ ոչ մի բան պետք չի:
ես 2008 ի տակ շատ եմ գրել հայերեն, ու ոչ մի անգամ պրոբլեմ չեմ ունեցել, առանց ինչ որ կոդ գրելու. էսօր մի հատ կնայեմ , բայց վայթէ յունիկոդով չպտի գրես
lav tgha
08.03.2009, 14:56
դուք unicode-ի խնդիր ունէք, ես պարսկերէն լեզւի ծրագիրների հետ էլ նոյն խնդիրը ունեիմ, այս հարցը լուծելու համար պէտք է control panel-ի մէջից, Regional and language options բաժինը բացելուց յետոյ, երրորդ tab-ի մէջ Advanced անւան տակ ընտրէք ձեր համակարգիչի կոդաւորման տեսքը, ընտրելով հայերէնը ձեր այս խնդիրը կը լուծւի.
http://lav-tgha.izfree.com
նույն խնդիրը ունեմ win api-ի հետ, առանձ Regional and Language Options-ին կպնելու հնարավոր չի Unicode-ով հայերեն տպել?
ախր լիքը ծրագրեր կան հայերեն էլ են տպում, չինարեն էլ:
Աշխատում եմ MS Visual Studio 2008Pro-ով և ունեմ հետևյալ պրոբլեմը (պրոբլեմը կա դեռ Visual Studio 7.0-ի ժամանակներից):
Սարքում եմ MFC project (Dialog based, Use Unicode Libraries->Checked), Dialog-ի դիզայնում գրում եմ հայերեն (Unicode) ամեն ինչ նորմալ ցույց է տալիս:
32801
Բայց ծրագիրը աշխատացնելուց ցույց է տալիս սա
32805
Կոդում ավելացնում եմ
// TODO: Add extra initialization here
this->SetWindowTextW(L"Պատուհան");
GetDlgItem(IDC_STATIC)->SetWindowTextW(L"Հայերեն");
և ծրագիրը աշխատելուց ամեն ինչ նորմալ ցույց է տալիս, ոնց որ դիզայնում:
Ինչ որ մեկը գիտի թե ոնց անել, որ ամեն ինչ նորմալանա, թե չէ դրա համար կոդ գրելը ...
MFC-ում առանց այդ էլ դիզայնը քրտնաջան աշխատանք է:
Ժող ջան էս նույն խնդիրը այժմ ես ունեմ, CCoder-ի կողմից բացված այս թեման արդեն 1.5 տարի է ինչ կա ու մինչև հիմա կոնկրետ լուծում չի ստացել, հնարավոր է ձեզանից ոմանք ունեցել են այս խնդիրը և գտել են լուծման ձևը, միանգամից ասեմ որ Regional and Language Options-ում խնդիր չունեմ, այսինքն երկրորդ թաբի առաջին ծիտիկը դրածա: Նախօրոք շնորհակալ եմ
Ժող ջան էս նույն խնդիրը այժմ ես ունեմ, CCoder-ի կողմից բացված այս թեման արդեն 1.5 տարի է ինչ կա ու մինչև հիմա կոնկրետ լուծում չի ստացել, հնարավոր է ձեզանից ոմանք ունեցել են այս խնդիրը և գտել են լուծման ձևը, միանգամից ասեմ որ Regional and Language Options-ում խնդիր չունեմ, այսինքն երկրորդ թաբի առաջին ծիտիկը դրածա: Նախօրոք շնորհակալ եմ
ռեգիոնալում ինչ կա Հայաստան դիր, համենայնդեպս ռուսերեն ծրագրերի դեպքում օգնումա
Պատճառը էն ա, որ Visual Studio 2008-ը (ու երևի նախորդներն էլ) ռեսուրսների ֆայլը (.rc) պահում ա ԱՆՍԻ-ով, ու դիալոգի վրա գրված հայերեն տեքստը .rc ֆայլում որպես հարցականներ ա գրվում:
Սխալը ուղղելու համար պետք ա մինչև դիալոգի վրա հայերեն գրելը .rc ֆայլը յունիկոդ դարձնել: Դրա համար`
1. Solution Explorer-ում աջ քլիք արեք .rc ֆայլի վրա ու ընտրեք "View Code"
2. File մենյուից ընտրեք "Save xxx.rc As..."
3. Սխմեք "Save"-ի կողքի սլաքը և ընտրեք "Save With Encoding..." (կհարցնի ուզում եք replace անեք, ասեք հա)
4. Բացված պատուհանի վրա "Encoding"-ը ընտրեք "Unicode - Codepage 1200" ու OK
5. Փակեք .rc ֆայլը, բացեք դիալոգը ու սկսեք հայերեն գրել :)
Ահա արդյունքը`
http://i077.radikal.ru/1006/c8/b6bd9c87d1bc.png
Հ.Գ. Visual Studio 2010-ը արդեն էս խնդրիը չունի :)
Պատճառը էն ա, որ Visual Studio 2008-ը (ու երևի նախորդներն էլ) ռեսուրսների ֆայլը (.rc) պահում ա ԱՆՍԻ-ով, ու դիալոգի վրա գրված հայերեն տեքստը .rc ֆայլում որպես հարցականներ ա գրվում:
Սխալը ուղղելու համար պետք ա մինչև դիալոգի վրա հայերեն գրելը .rc ֆայլը յունիկոդ դարձնել: Դրա համար`
1. Solution Explorer-ում աջ քլիք արեք .rc ֆայլի վրա ու ընտրեք "View Code"
2. File մենյուից ընտրեք "Save xxx.rc As..."
3. Սխմեք "Save"-ի կողքի սլաքը և ընտրեք "Save With Encoding..." (կհարցնի ուզում եք replace անեք, ասեք հա)
4. Բացված պատուհանի վրա "Encoding"-ը ընտրեք "Unicode - Codepage 1200" ու OK
5. Փակեք .rc ֆայլը, բացեք դիալոգը ու սկսեք հայերեն գրել :)
Ահա արդյունքը`
http://i077.radikal.ru/1006/c8/b6bd9c87d1bc.png
Հ.Գ. Visual Studio 2010-ը արդեն էս խնդրիը չունի :)
վայ շատ շատ շատ մերսի LoK® ջան, էլի դու օգնեցիր, քեզանից շատ շնորհակալ եմ
LoK® ջան էլի քո օգնությանն եմ դիմում:)
քաշել եմ VS 2010-ը, ոնց որ ասել էիր ռեսուրսները ունիկոդովա պահպանում ու հայերենի հետ խնդիր չկա, բայց սենց մի սիտուացիա է ստեղծվել, հայերենը նորմալ ցույց է տալիս միայն այն կոմպերի վրա որոնց Regional and Language Options-ում երկրորդ թաբի առաջին ծիտիկը դրածա, իսկ որ կոմպերում որ չկա դրած հայերենի փոխարեն վանդակներա ցույց տալիս:
հարցս հետևյալն է.
կարող եմ փոխել պրոյեկտի հիմնական ֆոնտը և դնել ասենք sylfaen, որ առկա է ցանկացած համակարգչի մեջ:
իսկ եթե հնարավոր չե ապա հայերենին վերաբերող որ ֆոնտն է ավելանում Regional and Language Options-ում երկրորդ թաբի առաջին ծիտիկը դնելիս, այսինքն ինձ պետք է այդ ֆոնտը տեղադրեմ ինստալ պակետի մեջ, և ծրագիրը ինստալ անելուց այդ ֆոնտը տեղադրեմ համապատասխան բաժնում, որով էլ փաստացի կլուծվի հայերենի հետ խնդիրը անկախ նրանից թէ այդ համակարգչում Regional and Language Options-ում երկրորդ թաբի առաջին ծիտիկը դրած է թէ ոչ
min-mak ջան, երևի ամենաճիշտ տարբերակը էտ ծիտիկը դնելն ա :) Էտ ժամանակ բացի ֆոնտերից, սիստեմայում էլի ինչ-որ բանա փոխվում (ենթադրում եմ ինչ-որ codepage-եր ու FontSubstitution-ներ ա փոխում/ավելացնում): Ես փորձեցի էտ ծիտիկի հետ ավելացող ֆոնտերը դնել "առանց ծիտիկ" սիստեմայում, չօգնեց:
Ամեն դեպքում դիալոգի ֆոնտը փոխելու հետ կապած ենթադրությունդ ճիշտ ա: Կարաս դնես Sylfaen ու առանց սիստեմայում բան փոխելու հայերեն տառերը ճիշտ կերևան դիալոգի վրա:
Կարաս ուրիշ ֆոնտ դնես (օրինակ Tahoma Armenian (http://hayeren.am/fonts/tahomaA.ttf)) ու համապատասխան ֆոնտը սիստեմայում էլ դնես, էլի կաշխատի:
Մի բացառություն կա, էս դեպքում դիալոգի թայթլում հայերենի փոխարեն էլի քառակուսիներ են:
http://i058.radikal.ru/1006/e2/30acd4971a72.png http://i068.radikal.ru/1006/42/7105c31c1d23.png
Ցավոք ավել բան չեմ կարա ասեմ, ֆոնտերից/լեզուներից շատ տեղյակ չեմ :)
Եթե ազատ ժամանակ ունենամ, կփորձեմ պարզել էտ ծիտիկի հետ բացի ֆոնտերից էլ ինչ ա փոխվում, որ հայերենը սկսում ա աշխատել:
min-mak ջան, երևի ամենաճիշտ տարբերակը էտ ծիտիկը դնելն ա :) Էտ ժամանակ բացի ֆոնտերից, սիստեմայում էլի ինչ-որ բանա փոխվում (ենթադրում եմ ինչ-որ codepage-եր ու FontSubstitution-ներ ա փոխում/ավելացնում): Ես փորձեցի էտ ծիտիկի հետ ավելացող ֆոնտերը դնել "առանց ծիտիկ" սիստեմայում, չօգնեց:
Ամեն դեպքում դիալոգի ֆոնտը փոխելու հետ կապած ենթադրությունդ ճիշտ ա: Կարաս դնես Sylfaen ու առանց սիստեմայում բան փոխելու հայերեն տառերը ճիշտ կերևան դիալոգի վրա:
Կարաս ուրիշ ֆոնտ դնես (օրինակ Tahoma Armenian (http://hayeren.am/fonts/tahomaA.ttf)) ու համապատասխան ֆոնտը սիստեմայում էլ դնես, էլի կաշխատի:
Մի բացառություն կա, էս դեպքում դիալոգի թայթլում հայերենի փոխարեն էլի քառակուսիներ են:
http://i058.radikal.ru/1006/e2/30acd4971a72.png http://i068.radikal.ru/1006/42/7105c31c1d23.png
Ցավոք ավել բան չեմ կարա ասեմ, ֆոնտերից/լեզուներից շատ տեղյակ չեմ :)
Եթե ազատ ժամանակ ունենամ, կփորձեմ պարզել էտ ծիտիկի հետ բացի ֆոնտերից էլ ինչ ա փոխվում, որ հայերենը սկսում ա աշխատել:
LoK® ջան իսկ հնարավորա այնպես անել որ պրոյեկտի բոլոր օբյեկտների(button, edit ...) ֆոնտերը մի հրամանով փոխել?
ես ամեն մի օբյեկտի համար առաձին ֆոնտ եմ տալիս(այսպես օր. CButton m_but1; m_but1.SetFont(ֆոնտ), CEdit m_edit1; m_edit1.SetFont(ֆոնտ)...): չկա այնպիսի մի ձև որ դիալոգին տված ֆոնտը բոլորի համար դառնա դեֆաուլտ
LoK® ջան իսկ հնարավորա այնպես անել որ պրոյեկտի բոլոր օբյեկտների(button, edit ...) ֆոնտերը մի հրամանով փոխել?
ես ամեն մի օբյեկտի համար առաձին ֆոնտ եմ տալիս(այսպես օր. CButton m_but1; m_but1.SetFont(ֆոնտ), CEdit m_edit1; m_edit1.SetFont(ֆոնտ)...): չկա այնպիսի մի ձև որ դիալոգին տված ֆոնտը բոլորի համար դառնա դեֆաուլտ
Դիալոգի Properties-ից լինում ա դիալոգի ֆոնտը ընտրել ;)
Դիալոգի Properties-ից լինում ա դիալոգի ֆոնտը ընտրել ;)
էտի ես ել գիտեմ բայց իմ մոտ որ սեղմում եմ են փոքր կնոպկան(3 հատ կետով) որ ֆոնտը փոխեմ VS-ն լռվումա, դա VS 2008-ում էլ էր տենց, ինձ միշտ թվացելա թե դա բագ է որը չեն նկատել microsoft-ում, բայց փաստորեն քո մոտ աշխատումա:think
էտի ես ել գիտեմ բայց իմ մոտ որ սեղմում եմ են փոքր կնոպկան(3 հատ կետով) որ ֆոնտը փոխեմ VS-ն լռվումա, դա VS 2008-ում էլ էր տենց, ինձ միշտ թվացելա թե դա բագ է որը չեն նկատել microsoft-ում, բայց փաստորեն քո մոտ աշխատումա:think
Հա իմ մոտ նորմալ ա: Քո մոտ երևի ֆոնտ ընտրելու դիալոգի հետ խնդիր կա, փորձել ե՞ս ուրիշ ծրագրում ֆոնտ փոխել:
Հա իմ մոտ նորմալ ա: Քո մոտ երևի ֆոնտ ընտրելու դիալոգի հետ խնդիր կա, փորձել ե՞ս ուրիշ ծրագրում ֆոնտ փոխել:
հա ուրիշ ծրագրերում նորմալ աշխատումա(AkelPad, Opera) :think
Դելավ, GUI-ից չի լինում, դու էլ .rc ֆայլը բացի, փոխի :)
.rc ֆայլում գտի դիալոգի սեկցիան`
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_MY2010MFC_DIALOG DIALOGEX 0, 0, 141, 71
STYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
EXSTYLE WS_EX_APPWINDOW
CAPTION "Թեսթ"
FONT 8, "Tahoma Armenian", 400, 0, 0xCC
BEGIN
DEFPUSHBUTTON "Լավ",IDOK,7,50,50,14
PUSHBUTTON "Դելաավ",IDCANCEL,84,50,50,14
CTEXT "Ես գրված եմ tahoma armenian-ով",IDC_STATIC,7,20,127,8
END
ու ֆոնտի անունը քո ուզածը գրի:
Թվերը երևի պետք չլինի փոխել, բայց ամեն դեպքում դրանց նշանակությունը այստեղ (http://msdn.microsoft.com/en-us/library/aa381013(v=VS.85).aspx) գրած ա: