|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.09.2007, 17:29 | #1 |
Новичок
Джуниор
Регистрация: 19.09.2007
Сообщений: 1
|
Хранение TColor в Access
Подскажите как можно преобразовать формат Tcolor в формат, который поддерживает базы данных Access(integer,string....)
|
19.09.2007, 17:48 | #2 |
Форумчанин
Регистрация: 16.04.2007
Сообщений: 298
|
Если Edit1.text это String то что такое Edit1.font.color?
TColor - это Integer, чтоб задать нужный цвет можно пользовать константы, а можно в числовом виде: Edit1.font.color:=$223344 где 22 - яркость красного цвета, может быть в пределах от 00 до FF где 33 - яркость зеленого цвета, может быть в пределах от 00 до FF где 44 - яркость синего цвета, может быть в пределах от 00 до FF Например: Edit1.font.color:=$000000 - черный Edit1.font.color:=$FFFFFF - белый Edit1.font.color:=$00FF00 - зеленый Всего определено 256*256*256 цветов В примерах я использовал шестнадцатиричные значения так как так проще, но можно и десятичные, если разберетесь какой это цвет Edit1.font.color:=123456 Тип TColor состоит из четырех байт. Первый байт - указатель на замену цвета (о нем поговорим позже). Второй байт - яркость красного цвета от 0 до 255 (от 00 до FF). Третий байт - яркость зеленого цвета от 0 до 255 (от 00 до FF). И, наконец, четвертый байт - яркость синего цвета, также, от 0 до 255 (от 00 до FF). А как Вы уже знаете, из этих трех цветов: красного, зеленого и синего, регулируя их яркость, можно составить практически любой цвет. Поговорим теперь о первом байте - указателе на замену цвета. Итак, этот байт может принимать три различных значения - ноль ($00), единицу ($01) или двойку ($02). Что это значит: Ноль ($00) - цвет, который не может быть воспроизведен точно, заменяется ближайшим цветом из системной палитры. Единица ($01) - цвет, который не может быть воспроизведен точно, заменяется ближайшим цветом из палитры, которая установлена сейчас. Двойка ($02) - цвет, который не может быть воспроизведен точно, заменяется ближайшим цветом из палитры, которую поддерживает текущее устройство вывода (в нашем случае - монитор). Видимо, всегда лучше устанавливать значение первого байта равным нулю ($00), по крайней мере, так происходит при получении типа TColor при помощи функции RGB. И, напоследок, несколько примеров:
Не надо ничего усложнять. Все достаточно тривиально.
|
20.09.2007, 13:56 | #3 |
детский тренер
Форумчанин
Регистрация: 08.06.2007
Сообщений: 532
|
наверное, он это хотел узнать....
var a:integer; begin a:=ColorToRGB(Form1.Font.Color); end; преобразовуете цвет в Integer .... Сохраняете в базе... Если нужно потом из базы взять цет , то : Form1.color := a; , где а - это значение из базы
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
MDI и Access | stan64 | БД в Delphi | 2 | 09.05.2008 23:53 |
Из Access в dbf | Abbatik | БД в Delphi | 21 | 04.02.2008 08:16 |
Delphy и Access.вводя инфу во вторичный файл Access, она отражалась в первом ADOTable | Lev | БД в Delphi | 0 | 11.11.2007 12:14 |
Хранение и шифрование данных | Paul Hindenburg | БД в Delphi | 1 | 20.08.2007 09:04 |