Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
15 / 15 / 0
Регистрация: 22.06.2018
Сообщений: 199

Динамический ProgressBar

04.01.2021, 19:11. Показов 3543. Ответов 50
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Никто не стакивался, как рисовать разными цветами ProgressBar на Delphi 10.3

Delphi
1
2
3
 ProgressBar_indicator.BarColor:=clRed;
  ProgressBar_indicator.BackgroundColor:=clYellow;  
  ProgressBar_indicator.Position:=ProgressBar_indicator.Position+10;
К сожалению, рисует только зеленым цветом.

Если кто знает, то прошу ,пожалуйста помочь.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.01.2021, 19:11
Ответы с готовыми решениями:

Консольный progressbar или progressbar в TMemo
Здравствуйте. Хочу спросить ради интереса как создать вот такой ProgressBar но с указанием своих сиволов в консоли и в...

Создать динамический класс Book, содержащий динамический массив Authors
Мне нужно написать программу,а я не знаю как ее написать. Знаю, тут люди за кого-то не делают, укажите хотя бы направление. вот сама...

Создать динамический класс Book, содержащей динамический массив Authors
Всем привет. может кто-то набросать код для такой вот задачи: Создать динамический класс Book, содержащей динамический массив...

50
15 / 15 / 0
Регистрация: 22.06.2018
Сообщений: 199
06.01.2021, 01:05  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Arcor Посмотреть сообщение
А дальше скармливаем функции и получаем набор из равноудаленных цветов от начального до конечного
Да, согласен с Вами необычно и интересно! Я посмотрю, думаю этот вариант использовать или как, минимум, сравню с переборами if else .
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
06.01.2021, 01:07
удачи с if-else
0
15 / 15 / 0
Регистрация: 22.06.2018
Сообщений: 199
06.01.2021, 01:08  [ТС]
Цитата Сообщение от Arcor Посмотреть сообщение
удачи с if-else
Ок,я завтра посмотрю Ваш вариант . Если не пойму, то можно задать вопрос?
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
06.01.2021, 01:09
Цитата Сообщение от Alexey-PK Посмотреть сообщение
Если не пойму, то можно задать вопрос?
нет! Ни в коем разе, завтра ведь среда! Какие вопросы по средам?!
0
15 / 15 / 0
Регистрация: 22.06.2018
Сообщений: 199
06.01.2021, 01:11  [ТС]
Цитата Сообщение от Arcor Посмотреть сообщение
нет! Ни в коем разе, завтра ведь среда! Какие вопросы по средам?!
Ясно, я понял шутку!) Спокойной ночи!
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
06.01.2021, 01:15
Добрых снов
0
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,497
06.01.2021, 01:16
if'ы нужны только если имеется несколько градиентов на одной полосе.
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
06.01.2021, 01:19
Цитата Сообщение от AzAtom Посмотреть сообщение
if'ы нужны только если имеется несколько градиентов на одной полосе.
да и то не факт)))) можно же сгенерировать такой "массив" со взвешанными частями

10% от красного до синего
30% от синего до зеленого
5% от зеленого до белого
50% от белого до серобуромалинового
5% от серобуромалинового до ... в продрысь


тут лишь фантазия уже)
1
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
06.01.2021, 01:26
продумать лишь быструю систему генерации и вперед

на вход типа подается массив цветов и их вес, а на выходе подается уже результирующий массив
Миниатюры
Динамический ProgressBar  
0
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
06.01.2021, 01:31
Цитата Сообщение от Arcor Посмотреть сообщение
алгоритм не мой
RxLib?
0
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,497
06.01.2021, 01:31
Цитата Сообщение от Arcor Посмотреть сообщение
можно же сгенерировать такой "массив" со взвешанными частями
Ну да, можно.

Цитата Сообщение от Arcor Посмотреть сообщение
на вход типа подается массив цветов и их вес, а на выходе подается уже результирующий массив
Я бы заранее сгенерировал битмап размером с отображаемый компонент и с нужными градиентами, затем просто выводил бы нужную его часть. Можно сделать 2 варианта, активная и неактивная часть полосы, и выводить соответственно. Ещё можно легко сделать, что эти градиенты как бы вылезают снизу/сверху/сбоку, а не просто появляется часть неподвижного столбца.

В общем да, ограничено сугубо фантазией.
1
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,497
06.01.2021, 01:40
Для одной своей программы я делал собственную полосу поиска и отображения, так как, стандартные ScrollBar и TrackBar не устроили ни по работе с ними, ни по отображению. Но там только однотонная заливка.
Миниатюры
Динамический ProgressBar  
1
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
06.01.2021, 01:55
Ну а мне как-то заказали небанальный индикатор того, что программа не зависла. Сделал его с помощью процедуры из RxLib
Delphi
1
2
procedure GradientFillRect(Canvas: TCanvas; ARect: TRect; StartColor,
  EndColor: TColor; Direction: TFillDirection; Colors: Byte);
Программа работала с внешним устройством через СОМ-порт и после каждого ответа устройства перерисовывала некий прямоугольник с с помощью этой процедуры. StartColor и EndColor задавались случайно. Получилось красиво.
2
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,497
06.01.2021, 02:05
Ещё делал плавное изменение палитры. В принципе сводится к тому же градиенту, изменение цвета от начального до конечного за определённое число шагов. Плюс ещё для каждого промежуточного значения строится градиентная палитра от чёрного до промежуточного цвета. Получилось замудрёно. Наверное, попроще можно реализовать.
1
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
06.01.2021, 02:46
Цитата Сообщение от northener Посмотреть сообщение
RxLib?
левая какая-то библиотека? Не я не пользуюсь левыми, я уже и стандартными не пользуюсь))
а вот именно эту часть кода нашел на просторах инета, остальное все вокруг свое, возможно и уже делал кто-то чтоно такое же) Но умышленно я не откуда не воровал ничего...

Delphi
1
2
3
4
      AColors[i] := RGB(
        SColor.R + MulDiv(i, EColor.R - SColor.R, Colors - 1),
        SColor.G + MulDiv(i, EColor.G - SColor.G, Colors - 1),
        SColor.B + MulDiv(i, EColor.B - SColor.B, Colors - 1))
Цитата Сообщение от AzAtom Посмотреть сообщение
Я бы заранее сгенерировал битмап размером с отображаемый компонент и с нужными градиентами, затем просто выводил бы нужную его часть
так я и взял слово массив в кавычки где-то там, когда предлагал)) и заранее сгенерировать набор чего-то

Цитата Сообщение от AzAtom Посмотреть сообщение
Ещё делал плавное изменение палитры. В принципе сводится к тому же градиенту, изменение цвета от начального до конечного за определённое число шагов
ВОТ. я эту мысль несколько лет формировал в голове и не знал как найти точ то надо, не мог оформить даже правильный запрос для поиска. Сколько всего перепробовал уже... Нуууу не дизайнер я)) Но потом видать щелкнуло в головушке, что все эти изменения перехода и делает градиент, что само за себя слово говорит))) И если еще применить фантазию, получаются очень прикольные вещи

Цитата Сообщение от AzAtom Посмотреть сообщение
Ещё делал плавное изменение палитры. В принципе сводится к тому же градиенту, изменение цвета от начального до конечного за определённое число шагов. Плюс ещё для каждого промежуточного значения строится градиентная палитра от чёрного до промежуточного цвета. Получилось замудрёно. Наверное, попроще можно реализовать.
вот прям с языка снял... делал я тут ColorPicker с быстрым выбором "нормального" цвета... а как список загенерирвоать?

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

ну а если уж надо какой-то там замудренный цвет, идем в расширенные настройки и .. там уже любой генерируем

просто пользователю для настроечных целей давать палитру полной RGB это равносильно насилию... а тут заведомая сотня цветов и оттенков... Что мы и видим в мс оффисе на панели быстрого доступа некая такая же палитра.. Удобно. По крайней мере для моей цели)

Тут заранее сгенерирвоанный массив уже чисел, чтобы каждый раз не генерировать)
Миниатюры
Динамический ProgressBar  
1
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
06.01.2021, 03:26
Цитата Сообщение от Arcor Посмотреть сообщение
левая какая-то библиотека?
Стыдись если ты RxLib не знаешь и ни разу о ней не слышал!
Её разработали одни из лучших разработчиков компонентов Дельфи ещё тогда, когда в самой Дельфи почти ничего не было.
1
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
06.01.2021, 03:28
Цитата Сообщение от northener Посмотреть сообщение
Стыдись если ты RxLib не знаешь и ни разу о ней не слышал!


ну все, ночь спать не буду))))

Они бесплатьные? какая лицензия чтобы дооолго не вчитываться в подробности, торговать можно с этими компонентами?
0
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
06.01.2021, 03:41
Да ладно, спи спокойно.
Они изначально бесплатные, ибо заказчики за них не заплатили, а авторы решили отдать их в пользование всем желающим.
Вообще история очень старая и очень громкая.
Ну а разработчики Лазаруса не брезгуют использовать их наработки. И правильно делают.
1
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
06.01.2021, 03:50
Цитата Сообщение от northener Посмотреть сообщение
Они изначально бесплатные, ибо заказчики за них не заплатили, а авторы решили отдать их в пользование всем желающим.
я картинки погуглил, что это такое, посмотреть. Что-то современных картинкофф нету, а только того стиля, когда я слово компутатор даже и не слышал, не то что о каком-то там дельфи)))
Я понимаю вы дядьки матерые, все это видели с самого начала... и мне завидно на сегодня, что я все это лет на 15 проспал)))) Я в 2009 увидел дельфи и вообще программирование и мне было уже 21 годик, за пару лет до этого комп то появился только..
0
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
06.01.2021, 04:04
Цитата Сообщение от Arcor Посмотреть сообщение
я картинки погуглил, что это такое, посмотреть. Что-то современных картинкофф нету, а только того стиля, когда я слово компутатор даже и не слышал, не то что о каком-то там дельфи)))
Современные картинки ищи по словам JCL и JVCL
Это та же библиотека, но в современном состоянии.
И не надо прибедняться. Тут почти все отвечающие в том или ином смысле такие же.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.01.2021, 04:04

Создать динамический класс Book, содержащей динамический массив Authors
всем привет. может кто-то набросать код для такой вот задачи: Создать динамический класс Book, содержащей динамический массив...

Динамический масив. Как статический переделать в динамический?
Динамический масив! КАк статический переделать в динамический? Помогите... Uses crt; const m=5; var arr: array of...

Динамический массив при наследовании, элементами которого являются объекты класса наследника динамический массив
Попробовал создать динамический массив, у которого элементы - объекты класса динамический массив, причем использовал класс-наследник от...

Сделать динамический массив структур, причем в структуре так же существует динамический массив
Добрый день. Есть такая пзадача: нужно сделать динамический массив структур, причем в структуре так же существует динамический массив....

Динамический массив ,элементами которого являются объекты класса динамический массив
Доброго времени суток, захотел создать динамический массив ,элементами которого являются объекты класса динамический массив, если...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru