Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Названия месецов по русски / 25 сообщений из 31, страница 1 из 2
14.12.2012, 07:28
    #38078832
Mihail3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
Здравствуйте. У меня такой вопрос. В отчете есть поле месяц, и он туда ставиться командой CMONTH(DATE()), но название месяца отображается по английски, как сделать так что бы оно было русским? Помню как то давно месяца 3-4 назад я это уже делал, но как я совершено не помню.
...
Рейтинг: 0 / 0
14.12.2012, 07:56
    #38078842
Березовский
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
Поставить русский рантайм. Или использовать самописную функцию
перевода n Month в c Month
...
Рейтинг: 0 / 0
14.12.2012, 08:16
    #38078853
Mihail3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
БерезовскийПоставить русский рантайм. А как можно поподробнее, как мне помниться я это делал без подключения чего либо.
...
Рейтинг: 0 / 0
14.12.2012, 08:37
    #38078862
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
Mihail3, vfp9rrus.dll кинуть в папку с программой.
...
Рейтинг: 0 / 0
14.12.2012, 08:44
    #38078867
Mihail3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
tanglir, Спасибо, а другого способа нет?, я как то по другому делал просто. Но в любом случае спасибо за помощь)
...
Рейтинг: 0 / 0
14.12.2012, 08:49
    #38078870
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
Mihail3tanglir, Спасибо, а другого способа нет?, я как то по другому делал просто. Но в любом случае спасибо за помощь)Ну держи UDF :)
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
FUNCTION P_Month
LPARAMETERS nM
PRIVATE mMn
DIMENSION mMn(12)
mMn(1)='Январь'
mMn(2)='Февраль'
mMn(3)='Март'
...
mMn(12)='Декабрь'
RETURN mMn(nM)
ENDFUNC
...
Рейтинг: 0 / 0
14.12.2012, 08:50
    #38078872
Mihail3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
Jonny540, Спасиб)
...
Рейтинг: 0 / 0
14.12.2012, 16:33
    #38079722
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
Jonny540Mihail3tanglir, Спасибо, а другого способа нет?, я как то по другому делал просто. Но в любом случае спасибо за помощь)Ну держи UDF :)
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
FUNCTION P_Month
LPARAMETERS nM
PRIVATE mMn
DIMENSION mMn(12)
mMn(1)='Январь'
mMn(2)='Февраль'
mMn(3)='Март'
...
mMn(12)='Декабрь'
RETURN mMn(nM)
ENDFUNC


Я бы еще добавил чтоб ошибок не возникало:
Код: sql
1.
return iif(between(nM, 1, 12), mMn(nM), 'МАРТОБРЬ')
...
Рейтинг: 0 / 0
14.12.2012, 16:46
    #38079749
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
Dima TJonny540пропущено...
Ну держи UDF :)
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
FUNCTION P_Month
LPARAMETERS nM
PRIVATE mMn
DIMENSION mMn(12)
mMn(1)='Январь'
mMn(2)='Февраль'
mMn(3)='Март'
...
mMn(12)='Декабрь'
RETURN mMn(nM)
ENDFUNC


Я бы еще добавил чтоб ошибок не возникало:
Код: sql
1.
return iif(between(nM, 1, 12), mMn(nM), 'МАРТОБРЬ')

Ну уж если совсем по большому счету, то и
Код: plsql
1.
2.
3.
if type('nM')#'N'
  return 'С Новым Годом! Пошел на фиг!'
endif
...
Рейтинг: 0 / 0
14.12.2012, 18:50
    #38079983
BMJ
BMJ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
Мартобря это то что надо, особенно при склонении.... или спряжении....вобщем не в пятницу вопрос.. вот опохмелимся....
...
Рейтинг: 0 / 0
17.12.2012, 09:47
    #38081469
ArgonS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
BMJ,

самый простой способ: SET DATE LONG
только, желательно, не забывать возвращать значение на исходное
...
Рейтинг: 0 / 0
18.12.2012, 07:43
    #38082896
Mihail3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
ArgonS, о да чудо)))
...
Рейтинг: 0 / 0
18.12.2012, 11:45
    #38083167
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
ArgonSсамый простой способ: SET DATE LONG
Как только автор поставит свое приложение на англоязычной Windows у него снова появится тот же самый вопрос. Это еще не считая необходимости дополнительно "выковыривать" название месяца из полученной строки.

Самый правильный способ в данном случае - это именно собственная функция. Решение проблемы через настройки и внешние библиотеки - не надежно.
...
Рейтинг: 0 / 0
04.01.2013, 18:16
    #38100186
sg12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
Вроде на функцию не тянет:
#DEFINE ENUM_MONTH 'Январь,Февраль,Март,Апрель,Май,Июнь,Июль,Август,Сентябрь,Октябрь,Ноябоь,Декабрь'
RETURN GETWORDNUM(ENUM_MONTH,tnMonth,',')
...
Рейтинг: 0 / 0
04.01.2013, 20:34
    #38100264
reware
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
Mihail3Здравствуйте. У меня такой вопрос. В отчете есть поле месяц, и он туда ставиться командой CMONTH(DATE()), но название месяца отображается по английски, как сделать так что бы оно было русским? Помню как то давно месяца 3-4 назад я это уже делал, но как я совершено не помню.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
public array mes(12) && в голове программы
mes[1]='Январь'
mes[2]='Февраль'
mes[3]='Март'
mes[4]='Апрель'
mes[5]='Май'
mes[6]='Июнь'
mes[7]='Июль'
mes[8]='Август'
mes[9]='Сентябрь'
mes[10]='Октябрь'
mes[11]='Ноябрь'
mes[12]='Декабрь'

FUNCTION AllowMes && пишется где-то в головном модуле
PARAM indate
LOCAL m2
m2=MONTH(INDATE)
RETURN mes[m2]



В отчёте вместо СMONTH(DATE()) проставить ALLOWMES(DATE()).
...
Рейтинг: 0 / 0
05.01.2013, 07:26
    #38100414
Людмila
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
GETWORDNUM('январь февраль март апрель май июнь июль август сентябрь октябрь ноябрь декабрь',MONTH(дата))
по-моему сама элегантность. Дарю!
...
Рейтинг: 0 / 0
01.02.2013, 10:48
    #38133304
Mihail3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
Людмila, ага красивый код
...
Рейтинг: 0 / 0
01.02.2013, 10:56
    #38133312
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
Mihail3Людмila, ага красивый кодТолько вот не для всех версий...
...
Рейтинг: 0 / 0
01.02.2013, 15:11
    #38133836
Mihail3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
нашел подобное в книге visual foxpro в подлинике

Код: sql
1.
2.
3.
4.
procedure c_month  
  parameters m.data  
  return GetWordNum('январь февраль март апрель май июнь июль август сентябрь октябрь ноябрь декабрь',Month(m.Data))
? Month(m.Data)
...
Рейтинг: 0 / 0
01.02.2013, 17:35
    #38134139
BMJ
BMJ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
Я опять о том, что писал. Как сегодня с прописью? т.е не 01 февраль, а февралЯ 2013. Тут не хватит, правда, красивого кода, еще напильник нужен.
...
Рейтинг: 0 / 0
01.02.2013, 18:52
    #38134243
sg12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
BMJЯ опять о том, что писал. Как сегодня с прописью? т.е не 01 февраль, а февралЯ 2013. Тут не хватит, правда, красивого кода, еще напильник нужен.

Напишите строку 'января, февраля ...'
...
Рейтинг: 0 / 0
01.02.2013, 21:29
    #38134385
BMJ
BMJ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
sg12BMJЯ опять о том, что писал. Как сегодня с прописью? т.е не 01 февраль, а февралЯ 2013. Тут не хватит, правда, красивого кода, еще напильник нужен.

Напишите строку 'января, февраля ...'

Разумеется, но теряется универсальность, например отчёт за "январь", а данные на 15 января. Я к этому подводил.
...
Рейтинг: 0 / 0
02.02.2013, 05:25
    #38134590
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
BMJ... теряется универсальность, например отчёт за "январь", а данные на 15 января. Я к этому подводил.Кто мешает немного подправить эту 13862384 процедуру?
Например, так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
? c_month(m.Data)

procedure c_month  
parameters m.data, nMode  
do case
  case nMode=1
    return GetWordNum('январь февраль март апрель май июнь июль август сентябрь октябрь ноябрь декабрь',Month(m.Data))
  case nMode=2
    return GetWordNum('января февраля марта апреля мая июня июля августа сентября октября ноября декабря',Month(m.Data))
  otherwise
  return " "
endcase
endproc

Для ранних версий - двумерный массив.
...
Рейтинг: 0 / 0
02.02.2013, 09:04
    #38134602
sg12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
Jonny540BMJ... теряется универсальность, например отчёт за "январь", а данные на 15 января. Я к этому подводил.Кто мешает немного подправить эту 13862384 процедуру?
Например, так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
? c_month(m.Data)

procedure c_month  
parameters m.data, nMode  
do case
  case nMode=1
    return GetWordNum('январь февраль март апрель май июнь июль август сентябрь октябрь ноябрь декабрь',Month(m.Data))
  case nMode=2
    return GetWordNum('января февраля марта апреля мая июня июля августа сентября октября ноября декабря',Month(m.Data))
  otherwise
  return " "
endcase
endproc

Для ранних версий - двумерный массив.

А теперь вопрос на засыпку.
Что мешает добавить в эту процедуру еще и дни недели: "Понедельник,Вторник, ..."?
...
Рейтинг: 0 / 0
02.02.2013, 09:37
    #38134611
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Названия месецов по русски
sg12,

Не изобретайте сущностей свех необходимости
Особенно круто названия дней недели будут смотреться в процедуре именования месяцев...
С третьей стороны, как представлю себе, когда это может понадобиться:
"Сего дня, втарога четверга котября месяца..."
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Названия месецов по русски / 25 сообщений из 31, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]