Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I use the registry?

In the simplest possible terms (I'm an occasional programmer who lacks up-to-date detailed programming knowledge) can someone explain the simplest way to make use of the registry in codegear C++ (2007).

I have a line of code in an old (OLD!) program I wrote which is causing a significant delay in startup...

DLB->Directory=pIniFile->ReadString("Options","Last Directory","no key!");

The code is making use of an ini file. I would like to be able to use the registry instead (to write variables such as the last directory the application was using)

But the specifics are not important. I'd just like a generic how-to about using the registry that's specific to codegear c++ builder.

I've googled this, but as usual with this type of thing I get lots of pages about c++ builder and a few pages about the windows registry, but no pages that explain how to use one with the other.

like image 290
MrVimes Avatar asked Dec 06 '22 05:12

MrVimes


1 Answers

Use the TRegistry class... (include registry.hpp)

//Untested, but something like...
TRegistry *reg = new TRegistry;
reg->RootKey = HKEY_CURRENT_USER; // Or whatever root you want to use
reg->OpenKey("theKey",true);
reg->ReadString("theParam",defaultValue);
reg->CloseKey();

Note, opening and reading a ini file is usually pretty fast, so maybe you need to test your assumption that the reading of the ini is actually your problem, I don't think that just grabbing your directory name from the registry instead is going to fix your problem.

like image 159
Tim Jarvis Avatar answered Jan 01 '23 01:01

Tim Jarvis