Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] Таймер


Автор: graff9 28.6.2009, 23:13
Доброго времени суток всем!!!! 
У меня такая задача, нужно написать часы и таймер, который будет щитать оставшееся время до олимпиады... (С++или delfi)
Я пишу на пхп, а вот с С++ все очень плохо = нуб)))
Пробую делать на Borland C++ 5, с формами там и обработчиками событий рабрался так сяк.... но немугу понять как мне примениьт это для решея даной задачи....
Знатоки обьясните плизз как можно подробнее как для нуба....
Только плиз не посылайте к учебникам на 600 страниц и тд... ввесь с++ пока не нужен, возможно в будущем.... На выполнение задачи у меня 2 недели
Есле есть какие то статьи, с элементарными понятиями, которые помогут в данной работе, буду благодарен Но лучше всякой статьи канеш совет специалиста....))

Автор: bsa 28.6.2009, 23:54
С помощью http://msdn.microsoft.com/en-us/library/ms644906(VS.85).aspx делаешь, чтобы твоей форме периодически приходил сигнал. По этому сигналу будешь обновлять счетчик можно организовать из количества секунд. Для этого можно воспользоваться функциями из time.h.

Автор: graff9 29.6.2009, 18:59
bsa спс канеш, но я нуб)))
есле делать к
онсольное приложение, можна както с применрами, часов или таймера, протсо реально нужно решиьт эту задачу...

Добавлено через 1 минуту и 5 секунд
ну хоть с какимито пояснениями, понимаю, что раздражаю вас своими тупыми вопросами, но все же ...

Автор: bsa 29.6.2009, 21:19
Код
#include <time.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#ifdef WIN32
# include <windows.h>
# define SLEEP(x) Sleep(x)
#else /* WIN32 */
# include <unistd.h>
# define SLEEP(x) usleep(x*1000)
#endif /* WIN32 */

int main()
{
   struct tm targetDate;
   memset(&targetDate, 0, sizeof(targetDate));
   //задаем дату Олимпиады (поправь)
   targetDate.tm_year = 114; //год от 1900
   targetDate.tm_mon = 1; //месяц
   targetDate.tm_mday = 1; //день
   time_t tDate = mktime(&targetDate); //это указанная дата в секундах от 01.01.1970
   do {
       time_t curTime = time(NULL); //текущее время в секундах от 01.01.1970
       time_t dTime = tDate - curTime; //сколько секунд осталось
       printf("Remains: %lu seconds\n", (unsigned long)dTime);
       SLEEP(1000); //ждем секунду
   } while(1);
   return 0;
}

Автор: bsa 29.6.2009, 21:20
Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 

Автор: graff9 29.6.2009, 22:02
Супер, большое спасибо, а как можно вывести дату в формате ?
лет:месяцев:дней:часов:секунд

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)