On-line: PSP, гостей 4. Всего: 5 [подробнее..]
АвторСообщение
администратор




Пост N: 5092
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 09.07.15 11:10. Заголовок: DOW() и компания


Нет ли какой переключалки в Harbour что бы функции из разряда дней недели
Dow() , Cdow() , NtocDow() работали по европейскому стандарту в котором
первый день недели понедельник а не в американском где первый день недели
воскресение.
Понятно что можно свои переходники спаять.

PS
В пиндостане все ни как у людей


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 28 , стр: 1 2 All [только новые]


администратор




Пост N: 5108
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 09.07.15 22:39. Заголовок: Pasha Если не сложн..


Pasha
Если не сложно и время есть , можешь релизнуть всех братцев DOW() , ты понял о чем я
в Cи варианте ?


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 604
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 09.07.15 22:39. Заголовок: Dima пишет: тест че..


Dima пишет:

 цитата:
тест чекануть ;)



что не так ?

? dow(date()+i), FT_DAYTOBOW(date()+i) + 1

этим FT_DATECNFG( , 6 ) ты установил в что неделя начинается в ПЯТНИЦУ тогда четверг это 7

вот твой тест с +1

5 7 четверг
6 1 пятница
7 2 суббота
1 3
2 4
3 5
4 6

Надо ставить не пятницу конечно

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5110
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 09.07.15 22:46. Заголовок: Haz Извини что спат..


Haz
Извини что спать не даю )))
Смотри.
 

for i=0 to 7
? dow(date()+i), _dow(date()+i),FT_DAYTOBOW(date()+i) + 1
next


wait


#pragma BEGINDUMP

#include "hbapi.h"

HB_FUNC( _DOW )
{
hb_retnl( HB_ISDATE(1) ? (hb_pardl(1) % 7) + 1 : 0 );
}

#pragma ENDDUMP




Результат
 
5 4 5
6 5 6
7 6 7
1 7 1
2 1 2
3 2 3
4 3 4
5 4 5


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5111
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 09.07.15 22:48. Заголовок: Да виноват надо было..


Да виноват надо было FT_DATECNFG( , 2 )
Буду знать.
Но вариант Паши мне больше нравится ! ;)

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 605
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 09.07.15 22:50. Заголовок: Dima пишет: Смотри...


Dima пишет:

 цитата:
Смотри.



так проверь
Func Main()
local i := 0
local dDate := DATE()
FT_DATECNFG( , 2 )
for i := 0 to 6
? dow(date()+i), FT_DAYTOBOW(date()+i)+1
next

RETURN NIL


у Паши несравнимо эффективнее в этом случае , но FT_ XXXXX() много еще чего могут , прими в копилку ))

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5112
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 09.07.15 22:57. Заголовок: Haz пишет: прими в ..


Haz пишет:

 цитата:
прими в копилку


Понял !

Dima пишет:

 цитата:
Если не сложно и время есть , можешь релизнуть всех братцев DOW() , ты понял о чем я
в Cи варианте ?


Павел это можно сделать ?
Хотя бы CDOW , Ntocdow

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3312
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 10.07.15 13:25. Заголовок: CDOW переделывать см..


CDOW переделывать смысла нет, т.к. там на вход подается дата, а на выходе - строка
Ntocdow - это если на вход дается номер дня недели:

#pragma BEGINDUMP

#include "hbapi.h"
#include "hbapilng.h"

HB_FUNC( _DOW )
{
hb_retnl( HB_ISDATE(1) ? (hb_pardl(1) % 7) + 1 : 0 );
}

HB_FUNC( NTOCDOW )
{
int iDow;
if( HB_ISNUM(1) )
iDow = hb_parni(1);
else
iDow = 0;
if( iDow >= 1 && iDow <= 7 )
hb_retc_const( hb_langDGetItem( HB_LANG_ITEM_BASE_DAY + ( iDow % 7 ) ) );
else
hb_retc("");
}

#pragma ENDDUMP

А больше там функций вроде бы и нет

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5113
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 10.07.15 13:58. Заголовок: Pasha Да с CDOW() я..


Pasha
Да с CDOW() я ошибся и ему все равно какой стандарт.
10 июля 2015 что в Африке пятница , что в Америке ......хоть что то общее ;)
Спасибо за NTOCDOW , работает

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 28 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 370
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет