![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Реестр и 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 ..