I
iktomy
Привет всем! Visual C++ 6 & MFC
Такая вот фигня получается: Имеется форма с двумя эдитами. В первый пишу слово - название месяца. Во вторую должно выводить такую строку - "номер месяца" и само слово месяц в зависимости от падежа. Например пишу "октября", а должно вывести "10 месяца". Присвоил эдитам переменные m_Input и m_Output типа CString. В функцию кнопки ввел код:
В OnInitDialog установил русскую раскладку языка LoadKeyboardLayout("00000419", KLF_ACTIVATE).
Но нифига не получается. Не выводит во второй эдит того, что мне нужно. Пробовал вместо m_Input == jan делать m_Input.CompareNoCase( jan) == 0 (и просто Compare пробовал) - результат тот же. Что делать - ума не приложу. Хелп ми плиз, кто чем может.
Такая вот фигня получается: Имеется форма с двумя эдитами. В первый пишу слово - название месяца. Во вторую должно выводить такую строку - "номер месяца" и само слово месяц в зависимости от падежа. Например пишу "октября", а должно вывести "10 месяца". Присвоил эдитам переменные m_Input и m_Output типа CString. В функцию кнопки ввел код:
Код:
CString jan[] = {"январь", "января", "январю", "январем", "январе"};
CString febr[] = {"февраль", "февраля", "февралю", "февралем", "феврале"};
CString march[] = {"март", "марта", "марту", "мартом", "марте"};
CString april[] = {"апрель", "апреля", "апрелю", "апрелем", "апреле"};
CString may[] = {"май", "мая", "маю", "маем", "мае"};
CString june[] = {"июнь", "июня", "июню", "июнем", "июне"};
CString july[] = {"июль", "июля", "июлю", "июлем", "июле"};
CString august[]= {"август", "августа", "августу", "августом", "августе"};
CString sept[] = {"сентябрь", "сентября", "сентябрю", "сентябрем", "сентябре"};
CString octob[] = {"октябрь", "октября", "октябрю", "октябрем", "октябре"};
CString novem[] = {"ноябрь", "ноября", "ноябрю", "ноябрем", "ноябре"};
CString decem[] = {"декабрь", "декабря", "декабрю", "декабрем", "декабре"};
CString month[] = {"месяц", "месяца", "месяцу", "месяцем", "месяце"};
for(int i=0; i<5; i++)
{
if(m_Input == jan[i])
{
UpdateData(TRUE);
m_Output += "1 ";
m_Output += month[i];
UpdateData(FALSE);
}
}
for(int i=0; i<5; i++)
{
if(m_Input == febr[i])
{
UpdateData(TRUE);
m_Output += "2 ";
m_Output += month[i];
UpdateData(FALSE);
}
}
// и т.д. пока все месяцы не перебру
Но нифига не получается. Не выводит во второй эдит того, что мне нужно. Пробовал вместо m_Input == jan делать m_Input.CompareNoCase( jan) == 0 (и просто Compare пробовал) - результат тот же. Что делать - ума не приложу. Хелп ми плиз, кто чем может.