Автор | Сообщение |
|
| |
Пост N: 5092
Зарегистрирован: 17.05.05
|
|
Отправлено: 09.07.15 11:10. Заголовок: DOW() и компания
Нет ли какой переключалки в Harbour что бы функции из разряда дней недели Dow() , Cdow() , NtocDow() работали по европейскому стандарту в котором первый день недели понедельник а не в американском где первый день недели воскресение. Понятно что можно свои переходники спаять. PS В пиндостане все ни как у людей
|
|
|
Новых ответов нет
, стр:
1
2
All
[см. все]
|
|
|
| постоянный участник
|
Пост N: 1088
Зарегистрирован: 27.01.07
|
|
Отправлено: 09.07.15 11:24. Заголовок: Дима, так в письменн..
Дима, так в письменном виде все ж правильно возвращается. Ну и плевать, что четверг - это 5-й день )) Или есть более глубокие причины?
|
|
|
|
| |
Пост N: 5093
Зарегистрирован: 17.05.05
|
|
Отправлено: 09.07.15 11:26. Заголовок: NtocDow(1) чего верн..
NtocDow(1) чего вернет ? Прально воскресение а надо понедельник Ну или dwmas:={0,0,0,0,0,0,0} // дни недели stimer->(dbeval({|| dwmas[rusdow(stimer->data_z)]+=1})) пришлось делать RUSDOW ()
|
|
|
|
| постоянный участник
|
Пост N: 1089
Зарегистрирован: 27.01.07
|
|
Отправлено: 09.07.15 11:34. Заголовок: Ну, что поделать, ка..
Ну, что поделать, как-то так... )) Я просто учитываю, что sunday is number 1 и фсё... )
|
|
|
|
| |
Пост N: 5094
Зарегистрирован: 17.05.05
|
|
Отправлено: 09.07.15 11:35. Заголовок: Я думал что коли уст..
Я думал что коли установка формата даты , например SET DATE TO GERMAN то возможно и есть установка стандарта дней недели что ли )))
|
|
|
|
| постоянный участник
|
Пост N: 1090
Зарегистрирован: 27.01.07
|
|
Отправлено: 09.07.15 11:37. Заголовок: Не, такого нет...
Не, такого нет.
|
|
|
|
| |
Пост N: 5099
Зарегистрирован: 17.05.05
|
|
Отправлено: 09.07.15 21:29. Заголовок: Собственно делал в &..
Собственно делал в "лоб". func _dow(c) local n:=dow(c) return if(n==1,7,n-1) А после возник спортивный интерес а нельзя ли сделать короче через % , но что то не срастается и видимо я уже туплю ))) Есть идеи ?
|
|
|
|
| |
Пост N: 142
Зарегистрирован: 21.04.13
|
|
Отправлено: 09.07.15 21:44. Заголовок: короче..
func _dow(c) local n:=IIF(valtype(c)="D",dow(c-1) ,0) return n
|
|
|
|
| Администратор
|
Пост N: 3308
Зарегистрирован: 23.05.05
|
|
Отправлено: 09.07.15 21:47. Заголовок: Совсем просто и без ..
Совсем просто и без костылей будет так: func _dow(dt) return ( dt % 7 ) + 1
|
|
|
|
| |
Пост N: 5100
Зарегистрирован: 17.05.05
|
|
Отправлено: 09.07.15 21:50. Заголовок: petr707 Понял , пер..
petr707 Понял , перемудрил я )) Вот так будет короче func _dow(c) return dow(c-1) Проверка не нужна , функцию юзаю только я и туда 100 % попадет только дата. По началу подумал что отталкиваться надо от результата что выдаст DOW() и после этого с ним сделать что нужно.
|
|
|
|
| |
Пост N: 5101
Зарегистрирован: 17.05.05
|
|
Отправлено: 09.07.15 21:54. Заголовок: Pasha Паш что то не..
Pasha Паш что то не то ......)) Проверял так for i=0 to 7 ? dow(date()+i), _dow(date()+i) next
|
|
|
|
| Администратор
|
Пост N: 3309
Зарегистрирован: 23.05.05
|
|
Отправлено: 09.07.15 22:08. Заголовок: дык сегодня вроде че..
дык сегодня вроде четверг (date()%7+1) как раз будет 4. Не ?
|
|
|
|
|
| |
Пост N: 5102
Зарегистрирован: 17.05.05
|
|
Отправлено: 09.07.15 22:12. Заголовок: Pasha for i=0 ..
Pasha for i=0 to 7 ? dow(date()+i), _dow(date()+i) next wait func _dow(dt) return ( dt % 7 ) + 1 При выполнении Argument Error % Base 1085
|
|
|
|
| Администратор
|
Пост N: 3310
Зарегистрирован: 23.05.05
|
|
Отправлено: 09.07.15 22:13. Заголовок: Еще короче, то есть ..
Еще короче, то есть эффективнее: #pragma BEGINDUMP #include "hbapi.h" HB_FUNC( _DOW ) { hb_retnl( HB_ISDATE(1) ? (hb_pardl(1) % 7) + 1 : 0 ); } #pragma ENDDUMP
|
|
|
|
| |
Пост N: 5103
Зарегистрирован: 17.05.05
|
|
Отправлено: 09.07.15 22:15. Заголовок: Pasha пишет: Еще ко..
Pasha пишет: чудно , ошибка та же
|
|
|
|
| |
Пост N: 5104
Зарегистрирован: 17.05.05
|
|
Отправлено: 09.07.15 22:19. Заголовок: В операции % делимое..
В операции % делимое должно быть числом а у тебя дата
|
|
|
|
| |
Пост N: 603
Зарегистрирован: 20.02.11
|
|
Отправлено: 09.07.15 22:20. Заголовок: Dima пишет: что то ..
|
|
|
|
| |
Пост N: 5105
Зарегистрирован: 17.05.05
|
|
Отправлено: 09.07.15 22:28. Заголовок: Игорь а тест чеканут..
Игорь а тест чекануть ;) FT_DATECNFG( , 6 ) for i=0 to 7 ? dow(date()+i), FT_DAYTOBOW(date()+i) next Результат 5 6 6 0 7 1 1 2 2 3 3 4 4 5 5 6
|
|
|
|
| Администратор
|
Пост N: 3311
Зарегистрирован: 23.05.05
|
|
Отправлено: 09.07.15 22:30. Заголовок: я прогнал для xHarbo..
я прогнал для xHarbour, там для типа данных D операция % допустима. В Harbour, оказывается, нет. Но вариант на С работает, в С это до лампочки
|
|
|
|
| |
Пост N: 5106
Зарегистрирован: 17.05.05
|
|
Отправлено: 09.07.15 22:35. Заголовок: Pasha пишет: Но вар..
Pasha пишет: цитата: | Но вариант на С работает, в С это до лампочки |
| не работает
|
|
|
|
| |
Пост N: 5107
Зарегистрирован: 17.05.05
|
|
Отправлено: 09.07.15 22:38. Заголовок: Dima пишет: не рабо..
Dima пишет: Сори , убил все OBJ , пересобрал , работает. Глюки Hbmk2 видимо ......... Спасибо !
|
|
|
Новых ответов нет
, стр:
1
2
All
[см. все]
|
|