|
|
|
а вот кому велосипед?
|
|||
|---|---|---|---|
|
#18+
велосипед заключается в следующем: класс TSYSTEMTIME для работы с датой/временем. вот пример работы: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. для преобразования даты в строку используется std::string. нет преобразования из строки в дату/время нет форматирования, формат жестко зашит. по виду dd.mm.yyyy hh:mm:ss кроссплатформенный по идее, но проверял только win32/FreeBSD для компиляции под win32 нужно задефайнить в проекте #define __WIN32__ или в опциях компилятора -D__WIN32__ хотелось бы увидеть полезные отклики и результаты тестирования на других платформах. а так же мысль, может ли быть такой велосипед полезен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 04:40 |
|
||
|
а вот кому велосипед?
|
|||
|---|---|---|---|
|
#18+
к стати, using namespace std в примере я привел по привычке :-) он там не нужен... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 04:43 |
|
||
|
а вот кому велосипед?
|
|||
|---|---|---|---|
|
#18+
a_kа так же мысль, может ли быть такой велосипед полезен? Любой велосипед полезен априори, хотябы как ещё одна тренировка по сборке велосипедов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2005, 08:51 |
|
||
|
а вот кому велосипед?
|
|||
|---|---|---|---|
|
#18+
alex_kхотелось бы увидеть полезные отклики и результаты тестирования на других платформах. а так же мысль, может ли быть такой велосипед полезен? Есть такой велосипед = www.boost.org ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2005, 21:18 |
|
||
|
а вот кому велосипед?
|
|||
|---|---|---|---|
|
#18+
а матацикл магещ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2005, 22:14 |
|
||
|
а вот кому велосипед?
|
|||
|---|---|---|---|
|
#18+
думаю над матациклам :-) сначала лисапед дострою :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2005, 23:08 |
|
||
|
а вот кому велосипед?
|
|||
|---|---|---|---|
|
#18+
Слушайте, а давайте, может у кого какие есть надобности на всякие такие языковые конструкции. Давайте их сюда, может A_k их сделает? А то он строит велосипед сначала, а потом его раздаёт. А может быть ведь наоборот, сначала раздать, а потом построить :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2005, 15:29 |
|
||
|
а вот кому велосипед?
|
|||
|---|---|---|---|
|
#18+
Мине нада написать свои std::vector и std::map. Без шабнонов. С поддержкой всей функциональности шаблонных MFC::CArray и MFC::CMap (мап пофигу какой, можно на дереве, можно на хэше, только чтоб быстро и универсально работал). Нужно все кросплатформенное. Выделение памяти стандартное С++. Кроме этого нужно не использовать конструкторы для копирования объектов внутри коллекций (как в STL), а использовать для этого спец. функции, возможно, задаваемые явно, и нужно различать перемещение элемента из одного вн. буфера в другой и вставку/удаление элемента (чего нет в STL и от чего собственно и страдаю). Ну чё, беретесь ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2005, 22:34 |
|
||
|
а вот кому велосипед?
|
|||
|---|---|---|---|
|
#18+
не мужыки :-) я только своими велосипедами занимаюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2005, 08:51 |
|
||
|
а вот кому велосипед?
|
|||
|---|---|---|---|
|
#18+
Жаль. Я уже и губу раскатал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2005, 18:31 |
|
||
|
а вот кому велосипед?
|
|||
|---|---|---|---|
|
#18+
Что увидел с ходу. if (wYear()%4==0) return 366; else return 365; - неверно должно быть if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) return 366; else return 365; Почитайте про високосный год в книжках. Отдельного кода под Win32 можно было бы не писать. Виндовый <time.h> не хуже. void incValue(int cv) { #ifdef __WIN32__ long long li; memcpy(&li,&value,8); li+=10000000LL*cv; memcpy(&value,&li,8); #else value+=cv; #endif init(); }; LL и long long очепятка? Всякие 60*60 и 60*60*24 повторяются многократно. Заменить бы на одну константную вещь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 09:45 |
|
||
|
а вот кому велосипед?
|
|||
|---|---|---|---|
|
#18+
большое спасибо за замеания. я с тех пор несколько переделал этот класс, но всеравно. Кодер Что увидел с ходу. if (wYear()%4==0) return 366; else return 365; - неверно должно быть if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) return 366; else return 365; Почитайте про високосный год в книжках. спасибо, обязательно исправлю. Кодер void incValue(int cv) { #ifdef __WIN32__ long long li; memcpy(&li,&value,8); li+=10000000LL*cv; memcpy(&value,&li,8); #else value+=cv; #endif init(); }; LL и long long очепятка? не понял. что не так? Кодер Всякие 60*60 и 60*60*24 повторяются многократно. Заменить бы на одну константную вещь. да, в принципе, компилятор сам же это сделает? мне показалось что так понятнее при чтении кода. Кодер Отдельного кода под Win32 можно было бы не писать. Виндовый <time.h> не хуже. а он в стандарт входит? в принципе мне хватило бы чтобы его msvc компилил и mingw под виндами.... в общем спасибо, принимаю к сведению, подправлю - выложу снова Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 10:04 |
|
||
|
а вот кому велосипед?
|
|||
|---|---|---|---|
|
#18+
alex_k не понял. что не так? В VC++ 6.0 нет long long alex_k да, в принципе, компилятор сам же это сделает? мне показалось что так понятнее при чтении кода. Понятнее на константу с хороше мнемоникой. alex_k а он в стандарт входит? в принципе мне хватило бы чтобы его msvc компилил и mingw под виндами.... Это ANSI стандарт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 10:16 |
|
||
|
а вот кому велосипед?
|
|||
|---|---|---|---|
|
#18+
начал переделывать под sys/times.h и столкнулся с тем что не могу оперировать с датами раньше 1971 года... это руки у меня кривые? все упирается в time_t которая в MinGW определена как long. или я гоню? и что делать то вообще? Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 18:44 |
|
||
|
а вот кому велосипед?
|
|||
|---|---|---|---|
|
#18+
alex_k начал переделывать под sys/times.h и столкнулся с тем что не могу оперировать с датами раньше 1971 года... это руки у меня кривые? все упирается в time_t которая в MinGW определена как long. или я гоню? и что делать то вообще? time_t содержит количество секунд от 1 Янв. 1970. Мне не было нужды в таких старых датах. Можно попробовать localtime свою написать. Я так понял, что из <time.h> это единственное, что ты используешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 19:13 |
|
||
|
а вот кому велосипед?
|
|||
|---|---|---|---|
|
#18+
я это класс уже активно использую в проектах связанных с бд(firebird) и вполне можно представить что мне понадобится(к примеру) обрабатывать даты рождения сотрудников. Переписывать то, что определено стандартом - мне как-то не хочется :-) Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 20:09 |
|
||
|
а вот кому велосипед?
|
|||
|---|---|---|---|
|
#18+
вот что получилось, зацените :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 20:10 |
|
||
|
а вот кому велосипед?
|
|||
|---|---|---|---|
|
#18+
виноват :-) вот то что получилось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 20:11 |
|
||
|
а вот кому велосипед?
|
|||
|---|---|---|---|
|
#18+
alex_kвиноват :-) вот то что получилось Уже лучше. Количество дней в месяцах в массив загони. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 20:17 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=402&tid=2033197]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
26ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 344ms |

| 0 / 0 |
