Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 2
Регистрация: 30.11.2013
Сообщений: 67

Графика. Цвет часовых стрелок

02.12.2014, 19:11. Показов 1012. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как изменить цвет стрелок в данной программе?(Чёт как-то у меня не выходит).
Pascal
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
30
31
32
uses crt, GraphABC;
var x0,y0, x,y,  R, min, sec,chas: integer;
 
begin
  lockdrawing;                  //Блокирует рисование на графическом окне
  SetWindowSize(500,500);       //задает размер экрана
  HideCursor;                   //скрывает курсор (курсор есть потому, что используется библиотека crt, а библиотека crt используется потому, что действие продолжается до нажатия клавиши (keypressed))
  x0:=250; y0:=250; min:=0; sec:=0;  //начальные значения центра часов
  repeat                             //цикл с постусловием
    ClearWindow;                     //очистить окно
    SetPenWidth(5);                  //задать толщину пера 5
    circle(250,250,170);             //круг
    setfontsize(20);                 //параметры шрифта: размер
    setfontcolor(clblack);           //параметры шрифта: цвет
    textout(235,90,'12');            //вывод текста
    textout(243,380,'6');
    textout(385,240,'3');
    textout(105,240,'9');
    sec:=sec+1; min:= sec div 60;chas:=min div 60;  //увеличиваем секунды на 1, минуты - после каждой 60-й секунды, часы - после каждой 60й минуты
    x:=x0+Round(120*sin(Pi*sec/30));                //координаты конечной точки секундной стрелки
    y:=y0-Round(120*cos(Pi*sec/30));
    SetPenWidth(3); Line(x0, y0, x, y);             //рисование секундной стрелки
    x:=x0+Round(100*sin(Pi*min/30));                //координаты конечной точки минутной стрелки
    y:=y0-Round(100*cos(Pi*min/30));
    SetPenWidth(7); Line(x0, y0, x, y);             //рисование минутной стрелки
    x:=x0+Round(60*sin(Pi*chas/30));                //координаты конечной точки часовой стрелки
    y:=y0-Round(60*cos(Pi*chas/30));
    SetPenWidth(10); Line(x0, y0, x, y);            //рисование часовой стрелки
    sleep(1000);                                    //задержка
    Redraw;                                         //перерисовка
  until keyPressed;                                 //пока не будет нажата любая клавиша (обозначаем условие для цикла с постусловием)
end.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.12.2014, 19:11
Ответы с готовыми решениями:

Графика. Анимировать жёлтый цвет
Всем добрый вечер. Нужно анимировать жёлтый цвет так что бы он переходил в другой квадратик с интервалом от 1-4 сек.(очень прошу помогите а...

Графика.Изобразить на форме отрезок, цвет которого плавно меняется
Изобразить на форме отрезок, цвет которого плавно меняется.

Изменение стрелок(цвет).
Уважаемые Читающие! Прошу вас обратить внимание. У меня такое задание, нужно сделать циферблат со стрелками, чтоб стрелки двигались в...

2
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
02.12.2014, 19:27
Pascal
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
30
31
32
33
34
35
36
uses crt, GraphABC;
var x0,y0, x,y,  R, min, sec,chas: integer;
 
begin
  lockdrawing;                  //Áëîêèðóåò ðèñîâàíèå íà ãðàôè÷åñêîì îêíå
  SetWindowSize(500,500);       //çàäàåò ðàçìåð ýêðàíà
  HideCursor;                   //ñêðûâàåò êóðñîð (êóðñîð åñòü ïîòîìó, ÷òî èñïîëüçóåòñÿ áèáëèîòåêà crt, à áèáëèîòåêà crt èñïîëüçóåòñÿ ïîòîìó, ÷òî äåéñòâèå ïðîäîëæàåòñÿ äî íàæàòèÿ êëàâèøè (keypressed))
  x0:=250; y0:=250; min:=0; sec:=0;  //íà÷àëüíûå çíà÷åíèÿ öåíòðà ÷àñîâ
  repeat                             //öèêë ñ ïîñòóñëîâèåì
    ClearWindow;                     //î÷èñòèòü îêíî
    SetPenWidth(5);                  //çàäàòü òîëùèíó ïåðà 5
    SetPencolor(clBlack);
    circle(250,250,170);             //êðóã
    setfontsize(20);                 //ïàðàìåòðû øðèôòà: ðàçìåð
    setfontcolor(clblack);           //ïàðàìåòðû øðèôòà: öâåò
    textout(235,90,'12');            //âûâîä òåêñòà
    textout(243,380,'6');
    textout(385,240,'3');
    textout(105,240,'9');
    sec:=sec+1; min:= sec div 60;chas:=min div 60;  //óâåëè÷èâàåì ñåêóíäû íà 1, ìèíóòû - ïîñëå êàæäîé 60-é ñåêóíäû, ÷àñû - ïîñëå êàæäîé 60é ìèíóòû
    x:=x0+Round(120*sin(Pi*sec/30));                //êîîðäèíàòû êîíå÷íîé òî÷êè ñåêóíäíîé ñòðåëêè
    y:=y0-Round(120*cos(Pi*sec/30));
    SetPencolor(clGreen);
    SetPenWidth(3); Line(x0, y0, x, y);             //ðèñîâàíèå ñåêóíäíîé ñòðåëêè
    x:=x0+Round(100*sin(Pi*min/30));                //êîîðäèíàòû êîíå÷íîé òî÷êè ìèíóòíîé ñòðåëêè
    y:=y0-Round(100*cos(Pi*min/30));
    SetPencolor(clRed);
    SetPenWidth(7); Line(x0, y0, x, y);             //ðèñîâàíèå ìèíóòíîé ñòðåëêè
    x:=x0+Round(60*sin(Pi*chas/30));                //êîîðäèíàòû êîíå÷íîé òî÷êè ÷àñîâîé ñòðåëêè
    y:=y0-Round(60*cos(Pi*chas/30));
    SetPencolor(clYellow);
    SetPenWidth(10); Line(x0, y0, x, y);            //ðèñîâàíèå ÷àñîâîé ñòðåëêè
    sleep(1000);                                    //çàäåðæêà
    Redraw;                                         //ïåðåðèñîâêà
  until keyPressed;                                 //ïîêà íå áóäåò íàæàòà ëþáàÿ êëàâèøà (îáîçíà÷àåì óñëîâèå äëÿ öèêëà ñ ïîñòóñëîâèåì)
end.
1
1 / 1 / 2
Регистрация: 30.11.2013
Сообщений: 67
02.12.2014, 20:06  [ТС]
Спасибо ZX Spectrum-128. Можешь помочь ещё с одной темой?

Добавлено через 2 минуты
Нужно что бы по очереди загорался квадрат жёлтым цветом. С интервалом от 1 до 4 сек.( по часовой)
Pascal
1
2
3
4
5
6
7
8
9
10
11
program abc;
uses graphABC;
begin
SetWindowSize(900,900);
line(400,1,880,1);
line(880,1,880,480);
line(880,480,400,480);
line(400,480,400,1);
line(400,240,880,240);
line(640,1,640,480);
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.12.2014, 20:06
Помогаю со студенческими работами здесь

Реализовать сдвиг графика влево и вправо по оси х с помощью стрелок
помогите реализовать сдвиг графика влево и вправо по оси х с помощью стрелочек,вот сам код программы который строит эти два графика.... ...

Цвет графика в TChart
Нужно сделать так, чтобы цвет графика в TChart менялся сразу после выбора цвета в стандартном ColorDialog: begin if not...

Изменить цвет графика Matplotlib
Привет, строю график с помощью Matplotlib, он самый на картинке. Изменить цвет сетки получилось, а как поменять собственно цвет заливки...

Возможно ли изменить цвет графика в TChart?
Здравствуйте! На компоненте TChart рисуется график (Series) измеряемой величины. Возможно ли изменение цвета графика при его выходе за...

MS ChartSpace, как изменить цвет графика?
в ChartSpace использован тип диаграммы Кривая. при этом цвета линий очень плохо различимы... перерыл весь МСДН, ни малейшего намека,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru