Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi

Войти
Регистрация
Восстановить пароль
 
qwert228
0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 55
Завершенные тесты: 1
#1

Сравнение цветов - Delphi

02.04.2017, 14:25. Просмотров 220. Ответов 7

Не получается сделать сравнение цветов в panel.
Вот что я сделал
Delphi
1
2
3
if panel1.Color:=clGreen
and  panel15.Color:=clGreen then
label1.Caption:=a+1;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2017, 14:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сравнение цветов (Delphi):

разбегающиеся из центра окружности разных цветов - Delphi
Написать программу, рисующую разбегающиеся из центра окружности разных цветов.

Набор из 23 пикселей случайных цветов(анимация) - Delphi
Набор из 23 пикселей случайных цветов, двух квадратов с диагоналями, параллельными краям экрана, и двух окружностей. Изменять размеры...

Как получить больше цветов, чем 8bit на канал (RGB)? - Delphi
Как получить больше цветов, чем 8 bit на канал (RGB)? Стандартно, насколько я знаю, можно работать с количеством цветов на каждый из...

Сравнение дробных чисел - Delphi
Всем привет. Проверяю версию программы. Получаю версию так: procedure TForm1.Button1Click(Sender: TObject); var st:string; ...

Выбор и сравнение Делфи - Delphi
Здравствуйте! Глупый вопрос, но не знаю к кому обратиться и где написать! Вопрос следующий написал ИС на Delphi необходимо обосновать...

Delphi сравнение 3 чисел. - Delphi
Доброго времени суток! Прошу помочь с написанием приложеняия (Delphi 7) сравнения 3 чисел задающихся пользователем, через поля edit ......

7
Puporev
Модератор
52840 / 40651 / 13905
Регистрация: 18.05.2008
Сообщений: 94,355
02.04.2017, 14:55 #2
Delphi
1
2
3
4
5
6
7
8
9
procedure TForm1.Button1Click(Sender: TObject);
var a:integer;
begin
a:=100;
if (panel1.Color=clGreen)
and  (panel5.Color=clGreen) then
label1.Caption:=inttostr(a+1);
 
end;
0
GoodWeather
131 / 130 / 41
Регистрация: 28.02.2017
Сообщений: 764
02.04.2017, 17:05 #3
Дак сравнение у вас вроде бы нормальное, это непонятно что вы пытались присвоить Caption, какого типа у вас a? Если строка - к строке незя прибавлять числа.
0
Puporev
Модератор
52840 / 40651 / 13905
Регистрация: 18.05.2008
Сообщений: 94,355
02.04.2017, 17:15 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от GoodWeather Посмотреть сообщение
Дак сравнение у вас вроде бы нормальное,
Это нормальное сравнение?
if panel1.Color:=clGreen
and panel15.Color:=clGreen then
и без скобок?
2
GoodWeather
02.04.2017, 17:19
  #5

Не по теме:

оу... Без очков за комп сел, не увидел двоеточий, мой косяк, спасибо.

0
qwert228
0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 55
Завершенные тесты: 1
02.04.2017, 17:48  [ТС] #6
Puporev, Спасибо. Помогите пожалуйста еще с одним вопросом. Не могу сделать так чтобы panel принимал наугад только 2 цвета (зеленый и красный). Попробовал так panel15.Color:=random(clgreen or clred); он он берет еще какие то цвета.
0
Puporev
Модератор
52840 / 40651 / 13905
Регистрация: 18.05.2008
Сообщений: 94,355
02.04.2017, 18:10 #7
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Delphi
1
2
k:=random(2);
if k=0 then panel15.Color:=clGreen else  panel15.Color:=cRed;
1
GoodWeather
131 / 130 / 41
Регистрация: 28.02.2017
Сообщений: 764
02.04.2017, 21:22 #8
Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.FormCreate(Sender: TObject);
begin
Randomize(); // надо вызвать один раз, в событии FormCreate вполне пойдёт
end;
 
procedure TForm1.Button1Click(Sender: TObject);
const MyColors: array [0..2] of TColor = (clRed, clGreen, clBlue); // список допустимых цветов, три цвета - с индексами от 0 до 2
begin
Panel1.Color:=MyColors[RandomRange(Low(MyColors), High(MyColors)+1)]; // берём случайный цвет из списка, нужен модуль Math
end;
Не учитывается что панель может быть уже этого же случайного цвета.

Добавлено через 22 минуты
А вот чтоб цвет обязательно сменялся:
Delphi
1
2
3
4
5
6
7
8
9
procedure TForm1.Button1Click(Sender: TObject);
const MyColors: array [0..2] of TColor = (clRed, clGreen, clBlue);
var Col: TColor;
begin
repeat
    Col:=MyColors[RandomRange(Low(MyColors), High(MyColors)+1)];
    until (Col<>Panel1.Color);
Panel1.Color:=Col;
end;
0
02.04.2017, 21:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2017, 21:22
Привет! Вот еще темы с ответами:

Деревья. Сравнение деревьев. - Delphi
Рекурсивно и не рекурсивно создать и продемонстрировать работу логической функции equal (T1,T2), проверяющую на равенство деревья Т1 и Т2. ...

Сравнение двух звуковых файлов. - Delphi
Ну начну: задача стоит следующая - есть эталон звука (как я понимаю записанный в WAV-файл), есть сигнал с микрофона, подключенного к...

Сравнение трех текстовых файлов - Delphi
Здравствуйте! Прошу помочь в написании программы в delphi ! Суть такова: Есть три текстовых файла в которых есть список слов. ...

Сравнение строки из Edit и Memo - Delphi
Доброго времени суток, форумчане. Есть код: procedure TForm1.Button1Click(Sender: TObject); var i:integer; s:string; begin...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.