crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Таймер в консольном приложении. Базы данных.
smirnoffx
  опции профиля:
сообщение 10.5.2011, 20:44
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 6.11.2010
Пользователь №: 2173

Спасибо сказали: 0 раз(а)




Репутация:   0  


Доброго всем времени суток.

Есть задача реализовать выгрузку неких данных в БД MSSQL по определенному интервалу. Реализация должна без проблем запускаться в linux и windows.

Для этого дабы не писать gui хочу реализовать консольное приложение.
Встал вопрос как реализовать таймер и функцию-обработчик события?

QTimer::singleShot(2000, &a, SLOT(f()));
не катит. Пишет что
No such slot QCoreApplication::f() in ...

Необходимо реализовать класс унаследованный от QCoreApplication в котором определить слот и таймер?

Как реализовать таймер?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Алексей1153
  опции профиля:
сообщение 10.5.2011, 20:57
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


один из вариантов - QThread . В потоке делать задержки нужного интервала и вызывать нужные функции.

у QThread есть таймеры с разной точностью

void QThread::usleep ( unsigned long usecs ) [static protected]
void QThread::msleep ( unsigned long msecs ) [static protected]
void QThread::sleep ( unsigned long secs ) [static protected]

Если не запускать новый поток, то воспользоваться напрямую помешают модификаторы protected, поэтому произведи свой класс и оттуда сделай public транплин
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 23.11.2024, 21:29