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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2010, 15:34   #1
T-dayne
Пользователь
 
Аватар для T-dayne
 
Регистрация: 07.02.2010
Сообщений: 54
Восклицание ColorDialog | получить шестандцатеричный код выбранного цвета

собственно, проблема в заголовке, помогите написать функцию, возвращающую код выбранного цвета в colordialog.
#xxxxxx
T-dayne вне форума Ответить с цитированием
Старый 03.03.2010, 15:45   #2
KoliyR
Пользователь
 
Регистрация: 01.09.2009
Сообщений: 55
По умолчанию

Какую функцию?, в этом компоненте есть свойства - вот ими и пользуйся
Обучение, задания по Делфи http://KoliyR.tk
KoliyR вне форума Ответить с цитированием
Старый 03.03.2010, 15:51   #3
T-dayne
Пользователь
 
Аватар для T-dayne
 
Регистрация: 07.02.2010
Сообщений: 54
По умолчанию

KoliyR
есть свойство .color , но оно возвращает цвет в формате tcolor.
А мне нужна в итоге стринговая переменная с кодом цвета.
T-dayne вне форума Ответить с цитированием
Старый 03.03.2010, 15:55   #4
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

Код:
function ColorToHTMLHexColor(Color: TColor): string;
begin
  result := IntToHex(GetRValue(ColorToRGB(Color)), 2) +
    IntToHex(GetGValue(ColorToRGB(Color)), 2) +
    IntToHex(GetBValue(ColorToRGB(Color)), 2);
end;
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 03.03.2010, 16:03   #5
KoliyR
Пользователь
 
Регистрация: 01.09.2009
Сообщений: 55
По умолчанию

G := GetGValue(ColorDialog.Color);
R := GetRValue(ColorDialog.Color);
B := GetBValue(ColorDialog.Color);
Обучение, задания по Делфи http://KoliyR.tk
KoliyR вне форума Ответить с цитированием
Старый 03.03.2010, 16:57   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Что хелп отменили?
Цитата:
Returns a string that represents the name of a TColor value.

Unit

Graphics

Category

graphics utilities

function ColorToString(Color: TColor): string;

Description

Call ColorToString to obtain a string that represents a TColor value. If there is a symbolic constant defined for the color (such as clBlack or clWindow), ColorToString returns the name of the constant. Otherwise, ColorToString returns the hex value of the color, formatted as a string such as '$02FF8800'.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.03.2010, 20:02   #7
T-dayne
Пользователь
 
Аватар для T-dayne
 
Регистрация: 07.02.2010
Сообщений: 54
По умолчанию

ОДИНОЧЕСТВО В СЕТИ
Спасибо вам.
Возникла новая проблема, нужно написать обратную функцию, преобразования 16ричного кода в Tcolor. Это возможно вообще?
T-dayne вне форума Ответить с цитированием
Старый 04.03.2010, 06:41   #8
Google2010
Форумчанин
 
Регистрация: 16.02.2010
Сообщений: 316
По умолчанию

Цитата:
написать обратную функцию, преобразования 16ричного кода в Tcolor
Код:
function HexToTColor(sColor : string) : TColor;
begin
   Result :=
     RGB(
       StrToInt('$'+Copy(sColor, 1, 2)),
       StrToInt('$'+Copy(sColor, 3, 2)),
       StrToInt('$'+Copy(sColor, 5, 2))
     ) ;
end;
а вообще вот
Цитата:
Модуль graphics.pas содержит функцию ColorToString() которое преобразует допустимое значение TColor в его строковое представление используя либо константу-название цвета (по возможности) либо шестнадцатиричную строку. Обратная функция - StringToColor()

Последний раз редактировалось Google2010; 04.03.2010 в 06:47.
Google2010 вне форума Ответить с цитированием
Старый 14.03.2010, 19:08   #9
T-dayne
Пользователь
 
Аватар для T-dayne
 
Регистрация: 07.02.2010
Сообщений: 54
По умолчанию

Код:
function HexToTColor(sColor : string) : TColor;
begin
   Result :=
     RGB(
       StrToInt('$'+Copy(sColor, 1, 2)),
       StrToInt('$'+Copy(sColor, 3, 2)),
       StrToInt('$'+Copy(sColor, 5, 2))
     ) ;
end;
Вот с такой функцией получается ошибка: '$' is not valid integer value
В этом коде:
Код:
edit2.Color:=hextotcolor(ini.ReadString('main', 'title1color', ''));
Где ошибка?
T-dayne вне форума Ответить с цитированием
Старый 14.03.2010, 19:10   #10
T-dayne
Пользователь
 
Аватар для T-dayne
 
Регистрация: 07.02.2010
Сообщений: 54
По умолчанию

В инишнике эта строчка выглядит так:
Код:
[titles]
title1color=cf0404
T-dayne вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
можно ли определить код цвета с помощью дельфи ? kakawkin Общие вопросы Delphi 2 12.11.2009 16:34
Как получить цвета из 6-ти значного 16ти ричного кода? Altera Мультимедиа в Delphi 2 02.03.2009 12:01
Получить список файлов выбранного каталога в MFC DPRO Visual C++ 2 17.08.2008 22:34
Как получить 16ричный код цвета? Adm Общие вопросы Delphi 9 24.11.2007 14:25