Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите исправить ошибку

5.0K
04 мая 2004 года
phyton
15 / / 26.04.2004
Е2034 cannot convert 'AnsiString' to 'TFont'

Как можно преобразовать тип. Эта проблема возник когда я хотел привоить значения из регистра к ReachEdit , как background.

void __fastcall TForm1::FormCreate(TObject *Sender)
{
TRegistry *Reg=new TRegistry;
try
{
Reg->RootKey=HKEY_LOCAL_MACHINE;
if(Reg->OpenKey("SOFTWARE\\MyForm\\properties",false))
{
Form1->ComboBox1->Color=Reg->ReadString("Color");
Form1->ListBox1->Color=ColorDialog1->Color;
Form1->RichEdit1->Color=ColorDialog1->Color;
Reg->CloseKey();
}
}
catch(Exception &A)
{
Reg->Free();
}
}


как тут можно присвоить?

Form1->ComboBox1->Color=Reg->ReadString("Color");

487
04 мая 2004 года
ddnh_bc
301 / / 16.09.2003
Цитата:
Originally posted by phyton

как тут можно присвоить?

Form1->ComboBox1->Color=Reg->ReadString("Color");



А какое значение ты хранишь в ключе реестра "Color"? String, DWORD, Binary?

5.0K
04 мая 2004 года
phyton
15 / / 26.04.2004
Цитата:
Originally posted by ddnh_bc


А какое значение ты хранишь в ключе реестра "Color"? String, DWORD, Binary?



Я вообще то храню в стринг типе.
А вот когда я извлекаю из реестра оно выдает ошибку несовместимости типов.

Свойства Колор и Фонт под каким типом надо хранить в реестре?

487
04 мая 2004 года
ddnh_bc
301 / / 16.09.2003
Цитата:
Originally posted by phyton


Я вообще то храню в стринг типе.
А вот когда я извлекаю из реестра оно выдает ошибку несовместимости типов.

Свойства Колор и Фонт под каким типом надо хранить в реестре?



Color имеет тип TColor - typedef от int. Так что лучше всего хранить в DWORD. Хотя можешь сделать так:
Form1->ComboBox1->Color=StrToInt(Reg->ReadString("Color"));

10
04 мая 2004 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by ddnh_bc
Form1->ComboBox1->Color=StrToInt(Reg->ReadString("Color"));


А почему ReadString?

5.6K
05 мая 2004 года
UserPro
15 / / 28.04.2004
Цитата:
Originally posted by ddnh_bc


Color имеет тип TColor - typedef от int. Так что лучше всего хранить в DWORD. Хотя можешь сделать так:
Form1->ComboBox1->Color=StrToInt(Reg->ReadString("Color"));


Граждане... по-моему так ничего не вырулит... А если он там хранит строку "красный", то ни в какой Int ничего не переделается. Такая штука пройдет если в реестре хранится цифровой код цвета.

5.0K
06 мая 2004 года
phyton
15 / / 26.04.2004
Цитата:
Originally posted by UserPro

Граждане... по-моему так ничего не вырулит... А если он там хранит строку "красный", то ни в какой Int ничего не переделается. Такая штука пройдет если в реестре хранится цифровой код цвета.




Хотя и с предупреждением, но этот код работает
Form1->ComboBox1->Color=StrToInt(Reg->ReadString("Color"));

Спасибо.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог