Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перевод цвета в цифры 
V
    Опции темы
Andervers
Дата 17.2.2006, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 17.2.2006

Репутация: нет
Всего: нет



Мне дано задание сделать что-то типа продажи машин. Там присутствует такой раздел, как цвет машины. Нужно перевести цвет в формат типа: #f00f0f0
Для простоты: есть 2 элемента: Edit и Shape. Цвет Shape Нужно передать в Edit
PM MAIL   Вверх
Romikgy
Дата 17.2.2006, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Цитата(Andervers @ 17.2.2006, 16:15 Найти цитируемый пост)
цвет

А это как представлено?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Snowy
Дата 17.2.2006, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Код
function ColorToWebcolor(Col: TColor): string;
begin
  result := '#' + Format('%.2x%.2x%.2x', [GetRValue(Col), GetGValue(Col), GetBValue(Col)]);
end;

Добавлено @ 17:43
Обратно: http://vingrad.ru/DELPHI-DLP-001554
PM MAIL   Вверх
_hunter
Дата 17.2.2006, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



это довольно-таки легко делается -- сначала составляем таблицу соответствия всех цветов их кодам ( штук 10000 наиболее распространенных должно хватить ) а потом просто ищем в этой таблице указанный в Shape-ом цвет ( +- 10 по яркости/контрастности ). если цвет не найден -- просим пользователя ввести информацию о нем ( так база цветов будет постоянно пополнятсья )


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Andervers
Дата 17.2.2006, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 17.2.2006

Репутация: нет
Всего: нет



Цитата(Romikgy @ 17.2.2006, 17:28)
Цитата(Andervers @  17.2.2006,  16:15 Найти цитируемый пост)
цвет

А это как представлено?

ну
Shape1.Brush.Color должно быть текстом в Edit1.Text
Незнаю как точнее обьяснитьsmile
PM MAIL   Вверх
Snowy
Дата 17.2.2006, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Используя приведенную мной выше функцию:
Код
  Edit1.Text := ColorToWebcolor(Shape1.Brush.Color);

PM MAIL   Вверх
Andervers
Дата 17.2.2006, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 17.2.2006

Репутация: нет
Всего: нет



[Error] Unit1.pas(8): Unsatisfied forward or external declaration: 'ColorToWebcolor'?
PM MAIL   Вверх
Snowy
Дата 17.2.2006, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Ты забыл добавить в код функцию ColorToWebcolor.
Ее текст возьми в сообщении, которое я написал ранее.
PM MAIL   Вверх
_hunter
Дата 17.2.2006, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



так это не то ( как я понял ).
автор хочет видеть в edit' е не FF0000 а красный.
или нет?


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Andervers
Дата 17.2.2006, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 17.2.2006

Репутация: нет
Всего: нет



нет
я как раз хочу видеть f0f0f0 и т.д.
Все цвета перечислять довольно долго
Добавлено @ 18:24
result := '#' + Format('%.2x%.2x%.2x', [GetRValue(Col), GetGValue(Col), GetBValue(Col)]);
я вот на счёт этого туго соображаю...
Можно поточнее, что за код и куда ставить?
PM MAIL   Вверх
Snowy
Дата 17.2.2006, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Ну вот пример юнита:
Код
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Shape1: TShape;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function ColorToWebcolor(Col: TColor): string;
begin
  result := '#' + Format('%.2x%.2x%.2x', [GetRValue(Col), GetGValue(Col), GetBValue(Col)]);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.Text := ColorToWebcolor(Shape1.Brush.Color);
end;

end.
Так понятней?
PM MAIL   Вверх
Andervers
Дата 17.2.2006, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 17.2.2006

Репутация: нет
Всего: нет



Работает!
Спасибо, сейчас буду всё доводить до ума)

Помечаю этот вопрос как разрешенный smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0553 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.