Помогите исправить ошибку
Как можно преобразовать тип. Эта проблема возник когда я хотел привоить значения из регистра к 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");
Цитата:
Originally posted by phyton
как тут можно присвоить?
Form1->ComboBox1->Color=Reg->ReadString("Color");
как тут можно присвоить?
Form1->ComboBox1->Color=Reg->ReadString("Color");
А какое значение ты хранишь в ключе реестра "Color"? String, DWORD, Binary?
Цитата:
Originally posted by ddnh_bc
А какое значение ты хранишь в ключе реестра "Color"? String, DWORD, Binary?
А какое значение ты хранишь в ключе реестра "Color"? String, DWORD, Binary?
Я вообще то храню в стринг типе.
А вот когда я извлекаю из реестра оно выдает ошибку несовместимости типов.
Свойства Колор и Фонт под каким типом надо хранить в реестре?
Цитата:
Originally posted by phyton
Я вообще то храню в стринг типе.
А вот когда я извлекаю из реестра оно выдает ошибку несовместимости типов.
Свойства Колор и Фонт под каким типом надо хранить в реестре?
Я вообще то храню в стринг типе.
А вот когда я извлекаю из реестра оно выдает ошибку несовместимости типов.
Свойства Колор и Фонт под каким типом надо хранить в реестре?
Color имеет тип TColor - typedef от int. Так что лучше всего хранить в DWORD. Хотя можешь сделать так:
Form1->ComboBox1->Color=StrToInt(Reg->ReadString("Color"));
Цитата:
Originally posted by ddnh_bc
Form1->ComboBox1->Color=StrToInt(Reg->ReadString("Color"));
Form1->ComboBox1->Color=StrToInt(Reg->ReadString("Color"));
А почему ReadString?
Цитата:
Originally posted by ddnh_bc
Color имеет тип TColor - typedef от int. Так что лучше всего хранить в DWORD. Хотя можешь сделать так:
Form1->ComboBox1->Color=StrToInt(Reg->ReadString("Color"));
Color имеет тип TColor - typedef от int. Так что лучше всего хранить в DWORD. Хотя можешь сделать так:
Form1->ComboBox1->Color=StrToInt(Reg->ReadString("Color"));
Граждане... по-моему так ничего не вырулит... А если он там хранит строку "красный", то ни в какой Int ничего не переделается. Такая штука пройдет если в реестре хранится цифровой код цвета.
Цитата:
Originally posted by UserPro
Граждане... по-моему так ничего не вырулит... А если он там хранит строку "красный", то ни в какой Int ничего не переделается. Такая штука пройдет если в реестре хранится цифровой код цвета.
Граждане... по-моему так ничего не вырулит... А если он там хранит строку "красный", то ни в какой Int ничего не переделается. Такая штука пройдет если в реестре хранится цифровой код цвета.
Хотя и с предупреждением, но этот код работает
Form1->ComboBox1->Color=StrToInt(Reg->ReadString("Color"));
Спасибо.