Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.01.2011, 16:48   #1
Dima DDM
Форумчанин
 
Аватар для Dima DDM
 
Регистрация: 09.11.2010
Сообщений: 134
Вопрос RGB цвет(!!!)

мне необходимо чтобы при вводе в 3 edit'a (1-Red 2-Green 3-Blue соответственно) цвет который получается при смешивании этих 3 цветов выводился в paintbox например.Проблема в том что я пытаюсь это сделать с помощь функции RGB вот пример
Код:
var
Red:TColor;
begin

Red:=RGB (255,0,0)
Form7.Color:=Red;
Но НЕ получается Подскажите пожалуйста как это реализовать!!!Может с помощью какой-нибудь другой функции??? HELP!
http://ddmsite.ucoz.ru Мой сайт.
Бесплатный Блокировщик рекламы
http://download.adguard.ru/d/1656/adguardInstaller.exe
Dima DDM вне форума Ответить с цитированием
Старый 07.01.2011, 16:54   #2
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

В Edit1.Text находится значение типа String. А функция RGB() требует тип Integer. Нужно переводить из String в Integer перед тем как засунуть значения из Едитов в RGB(). Для этих целей существует функция StrToInt.

Код:
RGB(StrToInt(Edit1.Text), StrToInt(Edit2.Text), StrToInt(Edit3.Text))
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 07.01.2011, 17:19   #3
Dima DDM
Форумчанин
 
Аватар для Dima DDM
 
Регистрация: 09.11.2010
Сообщений: 134
По умолчанию

функция RBG требует НЕ integer а byte !!! Там ведь значение от 0 до 255
http://ddmsite.ucoz.ru Мой сайт.
Бесплатный Блокировщик рекламы
http://download.adguard.ru/d/1656/adguardInstaller.exe
Dima DDM вне форума Ответить с цитированием
Старый 07.01.2011, 17:23   #4
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

StrToInt работает и для Byte!!!
а лучше исползуи SpinEdit на вкладке Samples
VirusN13

Последний раз редактировалось ArtGrek; 07.01.2011 в 17:28.
ArtGrek вне форума Ответить с цитированием
Старый 07.01.2011, 17:35   #5
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Цитата:
Сообщение от Dima DDM Посмотреть сообщение
функция RBG требует НЕ integer а byte !!! Там ведь значение от 0 до 255
Да, Byte. Напрямую компилятор не даст выйти за диапазон, но если написать:

Код:
RGB(StrToInt(Edit1.Text), StrToInt(Edit2.Text), StrToInt(Edit3.Text))
то спокойно будет работать даже при значения как отрицательных, так и превышающии 255.. Тобишь весь Integer. Видать комипилятор это както отрабатывает...
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 07.01.2011, 17:36   #6
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Цитата:
то спокойно будет работать даже при значения как отрицательных, так и превышающии 255.. Тобишь весь Integer. Видать комипилятор это както отрабатывает...
Переполнением называется
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 07.01.2011, 17:43   #7
Vaigard
Delphi and (not C)
Форумчанин
 
Аватар для Vaigard
 
Регистрация: 04.12.2010
Сообщений: 117
По умолчанию

А лучше, используй StrToIntDef(Edit1.text). Тогда значения за диапазоном не будут влиять на работу программы, они просто не будут читаться.
<--Жми на весы
Vaigard вне форума Ответить с цитированием
Старый 07.01.2011, 17:44   #8
Vaigard
Delphi and (not C)
Форумчанин
 
Аватар для Vaigard
 
Регистрация: 04.12.2010
Сообщений: 117
По умолчанию

Почитай "Библия Delphi" М. Фленова. Там все это подробно описывается.
<--Жми на весы

Последний раз редактировалось Vaigard; 07.01.2011 в 17:48.
Vaigard вне форума Ответить с цитированием
Старый 07.01.2011, 18:04   #9
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

не проше ли зделат
SpinEdit.MaxValue := 255;
SpinEdit.MinValue := 0;

ето в своиствах пропиши, для всех 3-х

Код:
var
  Red:TColor;
begin
  Red:=RGB (SpinEdit1.Value,SpinEdit.Value,SpinEdit.Value)
  Form.Color:=Red;
end;
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 07.01.2011, 19:10   #10
Dima DDM
Форумчанин
 
Аватар для Dima DDM
 
Регистрация: 09.11.2010
Сообщений: 134
По умолчанию

Спасибо сработало только КАК ВЫВЕСТИ ЭТОТ ЦВЕТ НА PAINTBOX или еще куда???? я вобще не знаю??!!!
http://ddmsite.ucoz.ru Мой сайт.
Бесплатный Блокировщик рекламы
http://download.adguard.ru/d/1656/adguardInstaller.exe
Dima DDM вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цвет заливки ячейки в зависимости от значений RGB nikcher Microsoft Office Excel 6 24.08.2016 16:52
RGB цвет в clЦвет Niklan Общие вопросы Delphi 4 06.11.2009 22:03
Каким образом можно изменять цвет фона и цвет шрифта в Label? jungle Win Api 17 21.09.2009 00:38
RGB в Цвет. HELP! Altera Мультимедиа в Delphi 1 27.02.2008 07:58
цвет из RGB в glColor3f? shepelin Gamedev - cоздание игр: Unity, OpenGL, DirectX 0 07.01.2008 15:13