![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Код:
procedure TForm2.Button1Click(Sender: TObject);
var
i:Integer;
begin
if ColorDialog1.Execute then
begin
Button1.Font.Color:=mas2[(Sender as TButton).Tag].Brush.Color; // сохраняем цвет (здесь просто в шрифте кнопки)
mas2[(Sender as TButton).Tag].Brush.Color:=ColorDialog1.Color; // присваиваем цвет из диалога
for i:=0 to b do
begin
if ((Sender as TButton).Tag<>i) and (mas2[(Sender as TButton).Tag].Brush.Color=mas [i].Brush.Color)then // если элемент массива не i-й и цвет тот же что и и выбран в в диалоге, то выдаём сообщение и возвращаем старый цвет, b- номер последнего элемента в массиве
begin
ShowMessage('Данный цвет уже выбран!');
mas2[(Sender as TButton).Tag].Brush.Color:=Button1.Font.Color;
end;
end;
end;
end;![]() Последний раз редактировалось vbh99, 17.04.2011 в 13:41. |
|
#2
|
||||
|
||||
|
мне кажется,что на этот вопрос будет не ответ, а вопрос...
Я прочитал несколько раз это, но так и не вкурил в чем проблема. Может быть я просто пьян ![]() |
|
#3
|
|||
|
|||
|
Цитата:
Проблема в чём: код, который приведён выше, срабатывает, например, на чисто белом, чисто чёрном, чисто красном и т.д., но если взять, например, цвет RGB(64, 0, 64) или RGB(255, 128, 128), то эти повторяющиеся цвета он пропускает т.е. не выдаёт сообщение. Последний раз редактировалось vbh99, 17.04.2011 в 13:44. |