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

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

Реестр и StringToColor [D7, WinXP]


Aleks ©   (2009-09-29 16:29:00) 

На форме фигура(Shape).Цвет Shape меняю в программе и сохраняю в реестре при выходе. При перезапуске программы читаю цвет в String и присваиваю Shape. Компилится отлично,а при запуске вылетает ошибка :( . Причина так думаю после чтения из реестра и конвертации функцией StringToColor прочтенного значения в Color, так-как если исключить эту строку из программы, то все работает,но у Shape стандартный цвет заданный изначально при кодинге. Как правильно преобразовать String в Color? Почему не работает родная StringToColor? Если можно приведите пример чтения из реестра параметров цвета и присваивание его Shape. Спасибо!


Dennis I. Komarov   (2009-09-30 15:56:00) [1]


> Сергей М. ©   (29.09.09 16:34) [1]
>

Так все секреты гуру расскажешь ;)


brother   (2009-09-30 09:01:00) [2]

> Почему не работает родная StringToColor?

Description

Call StringToColor to reverse the translation performed by ColorToString. This method is useful for converting the strings entered by the user into useable TColor values.

The S parameter can be either the name of a built-in color constant such as 'clBtnFace', or the string representation of a valid TColor value such as '$02FF8800'. StringToColor returns the TColor value that corresponds to the S parameter.

Note: If the string identifier can only be the name of a color constant, use IdentToColor instead.


AIK   (2009-09-30 08:03:00) [3]


> Как правильно преобразовать String в Color? Почему не работает
> родная StringToColor?


Function StringToColor(S: String): TColor;
Begin
If s='красный' then result:= clRed     else
If s='зеленный' then result:= clGreen  else
If s='синий' then result:= clBlue      else
......                                 else result:=0;
End;


))))))))


Германн   (2009-09-30 01:37:00) [4]


> Amoeba ©   (29.09.09 22:19) [4]

А есть принципиальная разница?
:)


Amoeba   (2009-09-29 22:19:00) [5]


> Shape.Pen.Color := Registry.ReadInteger('MyShape_PenColor');
>
>

Может не Pen а  Brush?


Сергей М.   (2009-09-29 17:09:00) [6]

Registry.WriteInteger('MyShape_PenColor', Shape.Pen.Color);
Shape.Pen.Color := Registry.ReadInteger('MyShape_PenColor');


Aleks   (2009-09-29 17:04:00) [7]

Если можно приведите пример записи-чтения из реестра параметров цвета и присваивание его Shape с помощью TRegistry.Read/WriteInteger . Спасибо!


Сергей М.   (2009-09-29 16:34:00) [8]

TColor - это integer.

Нашиша хранить в реестре строку - не понятно ..
Есть же TRegistry.Read/WriteInteger ..


Наверх

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