Автор | Сообщение |
|
| постоянный участник
|
Пост N: 6460
Зарегистрирован: 12.09.06
|
|
Отправлено: 03.10.19 22:43. Заголовок: Дни недели в Харборе....
Пишу в МиниГуи, т.е. там последняя версия Харбора SET LANGUAGE TO RUSSIAN SET CODEPAGE TO RUSSIAN ...... ? "Понедельник", CTODOW("Понедельник") ? "Вторник" , CTODOW("Вторник") ? "Среда" , CTODOW("Среда") ? "Четверг" , CTODOW("Четверг") ? "Пятница" , CTODOW("Пятница") ? "Суббота" , CTODOW("Суббота") ? "Воскресенье", CTODOW("Воскресенье") Результат: Понедельник 2 Вторник 3 Среда 4 Четверг 5 Пятница 6 Суббота 7 Воскресенье 1 И как такое понимать ?
|
|
|
Ответов - 5
[только новые]
|
|
|
| |
Пост N: 7105
Зарегистрирован: 17.05.05
|
|
Отправлено: 03.10.19 23:36. Заголовок: а там как у "чук..
а там как у "чукчей" , понедельник это 2 день недели и по ходу еще с Clipper PS Не знал типа ? О точно , забыл снова
|
|
|
|
| постоянный участник
|
Пост N: 6461
Зарегистрирован: 12.09.06
|
|
Отправлено: 04.10.19 00:07. Заголовок: Dima пишет: Не знал..
Dima пишет: цитата: | Не знал типа ? О точно , забыл снова |
| Да не забыл ! Клипер был ещё в старом столетии... На дворе 21 век. А в Харборе до сих пор по русским датам дни недели - прошлый век. Менять в Харборе не собираются совсем ? Может всё таки поменяют там на правильные дни недели ... До этого не нужны были дни недели, сейчас приспичило и обнаружил эту фигню.
|
|
|
|
| постоянный участник
|
Пост N: 2934
Зарегистрирован: 17.02.12
|
|
Отправлено: 04.10.19 01:40. Заголовок: Andrey пишет сейчас ..
Andrey пишет цитата: | сейчас приспичило и обнаружил эту фигню |
| Еще нужны склонения месяцев, суммы прописью и ... Чего пенять, всегда сами писали, а hb повторяя clipper в этом вопросе, соблюдает историю. Вот вариант, имена сам придумай правильные (5 минут набрать) FUNC nCtoDow( cDow ) LOCAL nDow := 0 STATIC hCtoDowN IF hCtoDowN == NIL hCtoDowN := hb_Hash() AEval( {"Понедельник","Вторник","Среда","Четверг","Пятница","Суббота","Воскресенье"}, ; {|cdn,ndn| hb_HSet( hCtoDowN, upper(cdn), ndn ) } ) ENDIF IF cDow != NIL nDow := hb_HGetDef( hCtoDowN, upper(cDow), 0 ) ENDIF RETURN nDow FUNC cCtoDow( nDow ) LOCAL cDow := "" STATIC hCtoDowC IF hCtoDowC == NIL hCtoDowC := hb_Hash() AEval( {"Понедельник","Вторник","Среда","Четверг","Пятница","Суббота","Воскресенье"}, ; {|cdn,ndn| hb_HSet( hCtoDowC, ndn, cdn ) } ) ENDIF IF nDow != NIL cDow := hb_HGetDef( hCtoDowC, nDow, "" ) ENDIF RETURN cDow ? nCtoDow("Понедельник") ? nCtoDow("Вторник") ? nCtoDow("Среда") ? nCtoDow("Четверг") ? nCtoDow("Пятница") ? nCtoDow("Суббота") ? nCtoDow("Воскресенье") ? ? cCtoDow(1) ? cCtoDow(2) ? cCtoDow(3) ? cCtoDow(4) ? cCtoDow(5) ? cCtoDow(6) ? cCtoDow(7) ?
|
|
|
|
| |
Пост N: 1501
Зарегистрирован: 20.02.11
|
|
Отправлено: 04.10.19 10:09. Заголовок: Andrey пишет: До эт..
Andrey пишет: цитата: | До этого не нужны были дни недели, сейчас приспичило и обнаружил эту фигню. |
| Все не просто, ... а очень просто FUNC _CTODOW(cDay) LOCAL n := CTODOW(cDay) RETURN IF( n == 1 , 7, n - 1) FUNC _NTOCDOW(n) n := IF(n == 7, 1, n + 1) RETURN NTOCDOW(n) ? _CTODOW("Понедельник") ? _CTODOW("Вторник") ... ? _CTODOW("Воскресенье") ? _NTOCDOW(1) ? _NTOCDOW(2) ... ? _NTOCDOW(7) PS . При желании сдвиг в обеих функциях можно сделать назначаемым, написав свою SetDowCfg(x) где x - что считать началом недели , к примеру кому то надо чтоб со вторника начиналась, Тогда n в обеих функциях должна учитывать этот х Но я посчитал это уже лишним
|
|
|
|
| Администратор
|
Пост N: 3893
Зарегистрирован: 23.05.05
|
|
Отправлено: 04.10.19 13:18. Заголовок: Andrey пишет: Да не..
Andrey пишет: цитата: | Да не забыл ! Клипер был ещё в старом столетии... На дворе 21 век. |
| Открываем c5g01r.ng, ищем функцию dow, и наслаждаемся Клиппер писали буржуины, а у них все не как у людей :)
|
|
|
|