Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > В реальном времени график


Автор: PILOT 19.10.2005, 23:31
В общем есть такая задача:
нужно в реальном масштабе рисовать график где по горизонтальной оси откладывается время (собственно 1сек, 2 сек, 3 сек и т.д.). Паралельно приходят значения через СОМ-порт, которые нужно отображать (гдето каждые 300мс).
Т.е. есть и исходные данные, и смысл всего ясен, но не получается синхронизироваться с "реальным" временем (появление надписи очередной секунды запаздывает), перерисовка графиков почти не ест ресурсов.
Использую TTimer. Знаю, что у этого события самый низкий приоритет, но ничего другого в голову не лезет. Пробовал другие компоненты - эффект тот же.

В общем есть проблема синхронизации с часами. Вот если дважды нажимаем на пиктограмму системных часов в панели инструментов виндовс и вызываем окошко с "аналоговыми" часами (циферблат) то задача сводиться к рисованию "штрихов" кончиком секундной стрелки через каждую секунду, причем нужно чтобы при
этом стрелка передвигалась плавно (а не каждую секунду).

СУв.

Автор: _hunter 20.10.2005, 14:21
хрен с ним, с таймером. пускаем поток в котором крутится цикл, который вычисляет разницу между последним срабатыванием и текущим временем. если она больше заданной ( для плавности можно установить интервал в 0.1 сек ) -- вызываем функцию отрисовки и запоминаем этот момент ( точнее наоборот )

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