C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Не могу в реестр записать, Помогите плиз
Young Coder
Отправлено: 22.07.2003, 14:24


Дежурный стрелочник

Группа: Участник
Сообщений: 34



Нашел это в архиве форума.

#include
void __fastcall TForm1::Button1Click(TObject *Sender)

{
if (NameofKey->Text.IsEmpty() || ValueforKey->Text.IsEmpty())
{
ShowMessage("Either the key name or value is missing.");
return;
}
TRegIniFile *Reg = new TRegIniFile("MyApplication");
try
{
Reg->RootKey = HKEY_LOCAL_MACHINE; // Section to look for within the registry
if (!Reg->OpenKey(NameofKey->Text, false))
{
if (Application->MessageBox("The specified key does not exist, create it?",

"", MB_YESNO) == IDYES)
{
Reg->CreateKey(NameofKey->Text);
if (!Reg->OpenKey(NameofKey->Text, false))
ShowMessage("Error in Opening Created Key");
else
Reg->WriteString("Section1", "Value1", ValueforKey->Text);
}
}
else
Reg->WriteString("Section1", "Value1", ValueforKey->Text);
}
__finally
{
delete Reg;

}
}

при создании ключа пишет, мол не может его создать. а почему?
Jean
Отправлено: 22.07.2003, 17:44


Дежурный стрелочник

Группа: Участник
Сообщений: 34



A Nameofkey и valueofkey ты где берешь?
Young Coder
Отправлено: 22.07.2003, 20:15


Дежурный стрелочник

Группа: Участник
Сообщений: 34



Положил на форму два Edit'а и переименовал их соответственно.
bitanga
Отправлено: 22.07.2003, 21:22


Ученик-кочегар

Группа: Участник
Сообщений: 25



CODE

void __fastcall TForm1::Button1Click(TObject *Sender)

{
   const char *RegKey = "Software\\MyBestCompany\\MyBestProgram";
   TRegistry *MyReg = new(TRegistry);
   MyReg->RootKey = HKEY_LOCAL_MACHINE;
   if (!MyReg->OpenKey (RegKey, false)) {    // проверка на наличие ключа в реестре, если нет — создаем
      MyReg->OpenKey (RegKey, true);
      MyReg->WriteString ("PathToBD", mPath);
      MyReg->WriteDate ("BeginDate", Form1->bDate.CurrentDate());
      MyReg->WriteFloat ("BeginRub", 0.0);
   } //if

   AnsiString PathToBD=MyReg->ReadString("PathToBD"); // пример чтения
   Form1->bDate=MyReg->ReadDate("BeginDate");
   AnsiString BeginRub=MyReg->ReadFloat("BeginRub");
}


Вернуться в Вопросы программирования в C++Builder