Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 11

Часы с использованием Canvas

09.10.2010, 17:13. Показов 3152. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В-общем есть программа, аналоговые часы, с будильником. Проблемы такие:
1. Часы идут в обратную сторону
2. Часы отражены по горизонтали (если провести через центр часов горизонтальную линию, то они от неё отражены), наверняка именно поэтому они и идут в обратную сторону
3. Не работает запуск программы при совпадании времени с выставленным таймером
4. Методы перерисовки канвы каждую секунду стирают всё что есть на форме: фон, кнопки.

Писалось всё это барахло в 6-ом делфи, может кто сможет дать полезный(-ые) совет(-ы) по поводу этой программы?

Ссылка на скачивание архива вот: http://file.qip.ru/file/4VmtACTe/_online.html ( 292.57 Кб )

И ещё, если вы перепишете программу чтоб она работала корректно и скинете её мне, я конечно не обижусь, но мне будет гораздо приятнее если вы мне поможете разобраться почему так и как это исправить)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.10.2010, 17:13
Ответы с готовыми решениями:

Часы, Delphi, Canvas
Приветствую. Проблема: не отображаются стрелки в часах. https://vk.cc/6stX3A - страница 94 - как должно быть (оттуда и код). (Если...

Frames, Canvas и часы
Собсна написал прогу для управления бд. Решил кинуть в интерфейс простенькие аналоговые часы. Во фрейме они просто так работать не будут,...

Трансформация изображения с использованием Canvas
Итак, задача: Организовать с помощью мыши перетаскивание опорных точек области Image2 с последующим перерисовыванием трансформированного...

2
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 11
10.10.2010, 19:54  [ТС]
Мне куратор уже прислал рабочий вариант часов, да и я смотрю что кажется на форуме есть другой рабочий вариант проги. Почему они шли не так как положено так и не разобрался, почему отражены тоже не разобрался, со стиранием разобрался, надо было не делать событие Timer1onTimer а в его свойстве onTimer просто указать процедуру прорисовки часов, в этом случае не нужно даже делать оператор стирания канвы - и так прекрасно работает (хотя фон использовать не выйдет - каждый ход стрелки его таки затирает до фона формы). ShellExecute тоже заработал. А всё-таки интересно почему у меня они идут в обратную сторону, при идентичном коде, сколько ни сравнивал, ничего не понял. Уже не горит. Если будет интересно скину вариант рабочих часов, сравним вместе
0
113 / 85 / 56
Регистрация: 09.01.2009
Сообщений: 209
11.10.2010, 01:47
Лучший ответ Сообщение было отмечено Smash Must Die как решение

Решение

чтобы шли в нужную сторону
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
procedure TForm1.DrawClock;
var
   i:integer; t:TDateTime; Color:Tcolor;
Begin
   Color:=Canvas.Pen.Color;
   Canvas.Pen.Color:=clBlack;
 
   t:=Now();
   Canvas.Pen.Color:=Color;
ahr:=90+HourOf(t)*30+(MinuteOf(t)div 12)*6;
   amin:=90+MinuteOf(t)*6;
   asec:=90+SecondOf(t)*6;
   Canvas.Pen.Width:=3;
   Vector(x0,y0,ahr,R-50);
   Canvas.Pen.Width:=2;
   Vector(x0,y0,amin,R-30);
   Canvas.Pen.Width:=1;
   Vector(x0,y0,asec,R-10);
   for i:=1 to 12 do
   Begin
      ahr:=i*30;
      DrawPoint(x0,y0,ahr,r);
   end;
   for i:=1 to 60 do
   Begin
      ahr:=i*6;
      DrawPoint1(x0,y0,ahr,r);
   end;
end;
почему отражены
у меня норм
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.10.2010, 01:47
Помогаю со студенческими работами здесь

Масштабирование графики на Canvas с использованием TrackBar
На форме с помощью Canvas нарисована прямая. Подскажите, как используя компонент TrackBar менять масштаб этой прямой.

Класс с использованием canvas
function getRandom(min, max) { return Math.floor(min + Math.random() * (max + 1 - min)); } var canvas =...

Часы в несколько кликов с использованием TChart
Помещаем на форму компонент TChart (вкладка TeeChart), выставляем (желательно, но не обязательно) свойство Align чарта в alClient, создаем...

Идущие часы: переделать код с использованием классов
Добрый день, у меня есть код идущих часов с помощью функций. Не мог бы кто-то помочь переделать его с помощью классов? function...

Как передвинуть Rectangle из одной точки в другую на Canvas с использованием timer
Доброго времени суток! Ребят, подскажите как передвинуть Rectangle из одной точки в другую на Canvas с использованием timer, а то я только...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru