Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перевод цветав строку


Iriss ©   (2009-06-15 10:17:00) 

Здравствуйте,
пробелма следующая:
задаю цвет в таком формате:
var Color: TColor;
var strColor: string;
 Color      := $00B5F894;

 strColor       := ColorToString( Color );


при переводе цвета в стрококве значение всегда выдает 'clNone',
что делаю не так?


clickmaker   (2009-06-15 10:57:00) [1]

> [6] Iriss   (15.06.09 10:48)

зайди отладчиком в ColorToString да посмотри, что там делается


oldman   (2009-06-15 10:57:00) [2]


> Iriss   (15.06.09 10:55) [8]


Вот ты, наверное, первый кто сказал "спасибо" за один единственный совет: "ищи ошибку".
:)


oldman   (2009-06-15 10:56:00) [3]

Проверил, что colortostring(11925652) выдает $00B5F894.
Ищи ошибку
Поставь точки останова и посмотри значения переменных


Iriss   (2009-06-15 10:55:00) [4]

правы, нашел, спасибо


Palladin   (2009-06-15 10:51:00) [5]

и где тут подробно то... опять те же две строки... в этих двух строках описаная тобой ситуация - не воспроизводится. вывод: ты не прав где то в других. так какого ты опять тут тоже самое приводишь. давай остальные.


Iriss   (2009-06-15 10:48:00) [6]

подробно:

при заполнении контейнера, состоящего из items
делаю присваевание
item.Color      := $00B5F894; //где Color: TColor;
сразу отображает в свойстве Color число 11925652

потом в другой процедуре прохожу по контейнеру и в нужный момент делаю
strColor:= ColorToString( item.Color );//strColor: string;
причем item.Color показывает, что равен item.Color = 11925652,
но strColor становится =  'clNone'


oldman   (2009-06-15 10:45:00) [7]

Написав


procedure TForm1.Button1Click(Sender: TObject);
var
 color: tcolor;
 strcolor: string;
begin
 color:=$00B5F894;
 form1.color:=color;
 strcolor:=colortostring(color);
 label1.caption:=strcolor;
end;


получил "$00B5F894"
Автор, ищи ошибку в программе!


sniknik   (2009-06-15 10:38:00) [8]

> подозреваю, что $00B5F894 переводится ColorToString как clNone
не надо... такое подозревание подразумевает ляп в основных функциях, что редкость.
всегда подозревай глюк у автора, как бы он этому не сопротивлялся, будеш на 99.9% прав.


Leonid Troyanovsky   (2009-06-15 10:36:00) [9]


> oldman ©   (15.06.09 10:33) [2]

> подозреваю, что $00B5F894 переводится ColorToString как
> clNone

Переводится как $00B5F894

--
Regards, LVT.


oldman   (2009-06-15 10:33:00) [10]


> Iriss   (15.06.09 10:17)


А что ты хотел получить?

я написав


procedure TForm1.Button1Click(Sender: TObject);
begin
 label1.caption:=colortostring(form1.color);
end;


получил clBtnFace

подозреваю, что $00B5F894 переводится ColorToString как clNone


Palladin   (2009-06-15 10:22:00) [11]

Ты куда торопишься? Форум никуда не денется. Это во первых, а во вторых если clNone, значит clNone, с чего ты взял что Color, который учавствует в ColorToString и есть тот Color, которому ты назначил перед этим значение. Или с чего вдруг ColorToString не может выполнится до назначения значения. Отрывки кода никому тут ничего не скажут. Не выдирай из контекста.


Наверх

Титульная страница Поиск, карта сайта Написать письмо