powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Названия месецов по русски
25 сообщений из 31, страница 1 из 2
Названия месецов по русски
    #38078832
Mihail3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. У меня такой вопрос. В отчете есть поле месяц, и он туда ставиться командой CMONTH(DATE()), но название месяца отображается по английски, как сделать так что бы оно было русским? Помню как то давно месяца 3-4 назад я это уже делал, но как я совершено не помню.
...
Рейтинг: 0 / 0
Названия месецов по русски
    #38078842
Березовский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставить русский рантайм. Или использовать самописную функцию
перевода n Month в c Month
...
Рейтинг: 0 / 0
Названия месецов по русски
    #38078853
Mihail3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
БерезовскийПоставить русский рантайм. А как можно поподробнее, как мне помниться я это делал без подключения чего либо.
...
Рейтинг: 0 / 0
Названия месецов по русски
    #38078862
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mihail3, vfp9rrus.dll кинуть в папку с программой.
...
Рейтинг: 0 / 0
Названия месецов по русски
    #38078867
Mihail3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir, Спасибо, а другого способа нет?, я как то по другому делал просто. Но в любом случае спасибо за помощь)
...
Рейтинг: 0 / 0
Названия месецов по русски
    #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
Названия месецов по русски
    #38078872
Mihail3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Jonny540, Спасиб)
...
Рейтинг: 0 / 0
Названия месецов по русски
    #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
Названия месецов по русски
    #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
Названия месецов по русски
    #38079983
BMJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BMJ
Гость
Мартобря это то что надо, особенно при склонении.... или спряжении....вобщем не в пятницу вопрос.. вот опохмелимся....
...
Рейтинг: 0 / 0
Названия месецов по русски
    #38081469
ArgonS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BMJ,

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

Самый правильный способ в данном случае - это именно собственная функция. Решение проблемы через настройки и внешние библиотеки - не надежно.
...
Рейтинг: 0 / 0
Названия месецов по русски
    #38100186
sg12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде на функцию не тянет:
#DEFINE ENUM_MONTH 'Январь,Февраль,Март,Апрель,Май,Июнь,Июль,Август,Сентябрь,Октябрь,Ноябоь,Декабрь'
RETURN GETWORDNUM(ENUM_MONTH,tnMonth,',')
...
Рейтинг: 0 / 0
Названия месецов по русски
    #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
Названия месецов по русски
    #38100414
Людмila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GETWORDNUM('январь февраль март апрель май июнь июль август сентябрь октябрь ноябрь декабрь',MONTH(дата))
по-моему сама элегантность. Дарю!
...
Рейтинг: 0 / 0
Названия месецов по русски
    #38133304
Mihail3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Людмila, ага красивый код
...
Рейтинг: 0 / 0
Названия месецов по русски
    #38133312
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mihail3Людмila, ага красивый кодТолько вот не для всех версий...
...
Рейтинг: 0 / 0
Названия месецов по русски
    #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
Названия месецов по русски
    #38134139
BMJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BMJ
Гость
Я опять о том, что писал. Как сегодня с прописью? т.е не 01 февраль, а февралЯ 2013. Тут не хватит, правда, красивого кода, еще напильник нужен.
...
Рейтинг: 0 / 0
Названия месецов по русски
    #38134243
sg12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BMJЯ опять о том, что писал. Как сегодня с прописью? т.е не 01 февраль, а февралЯ 2013. Тут не хватит, правда, красивого кода, еще напильник нужен.

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

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

Разумеется, но теряется универсальность, например отчёт за "январь", а данные на 15 января. Я к этому подводил.
...
Рейтинг: 0 / 0
Названия месецов по русски
    #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
Названия месецов по русски
    #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
Названия месецов по русски
    #38134611
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sg12,

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


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