![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Прочитать определённую ветвь системного реестра... [D7, WinXP]
Starcom © (2005-11-01 16:39:00)Привет Мастера!
Как мне в моём приложении сделать следующее...
Прочитать определённую ветвь системного реестра
HKLM\SYSTEM\CurrentControlSet\Control\Nls\CodePage
SetValue "1250"="c_1250.nls" и если вней есть изменения
SetValue "1250"="c_1251.nls" то в CheckBox выставить
Checked = true;
С Уважением Starcom! ;)
Leonid Troyanovsky (2005-11-02 09:21:00) [1]
> Starcom © (01.11.05 19:18) [4]
> что вообще не так, можно с примером!
uses
Registry;
procedure TForm1.Button1Click(Sender: TObject);
var
Reg: TRegistry;
S: string;
begin
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('\SYSTEM\CurrentControlSet\Control\Nls\CodePage',False);
s :=Reg.ReadString('1250');
Reg.Free;
CheckBox1.Checked := Trim(s) = 'c_1251.nls';
end;
--
Regards, LVT.
Grol (2005-11-01 19:47:00) [2]А можно поинтересоваться? А как можно будет считать или записать информаци в реестр, если я нахожусь под ограниченной учетной записью в Windows XP?
Starcom (2005-11-01 19:18:00) [3]Leonid Troyanovsky © (01.11.05 18:06) [3]
С таким кодом что c_1250.nls или c_1251.nls - Checked = всегда - true
что вообще не так, можно с примером!
function TForm1.GetRegistryValue: string;
var
Registry: TRegistry;
S: string;
begin
Registry:=TRegistry.Create;
Registry.RootKey:=HKEY_LOCAL_MACHINE;
Registry.OpenKey('\SYSTEM\CurrentControlSet\Control\Nls\CodePage',False);
Result :=Registry.ReadString('"1250"="c_1250.nls"');
Form1.CheckBox1.Checked := Result = Registry.ReadString('"1250"="c_1251.nls"');
end;
Leonid Troyanovsky (2005-11-01 18:06:00) [4]
> Leonid Troyanovsky © (01.11.05 16:42) [1]
> Да всё понятно .... но как мне зделать Checked=True;
..
> Result :=Registry.ReadString('1250',);
Checked := Result = 'c_1251.nls' ; ?
--
Regards, LVT.
Starcom (2005-11-01 18:01:00) [5]Leonid Troyanovsky © (01.11.05 16:42) [1]
Да всё понятно .... но как мне зделать Checked=True;
>>>
var
Registry: TRegistry;
S: string;
begin
Registry:=TRegistry.Create;
try
Registry.RootKey:=HKEY_LOCAL_MACHINE;
if Registry.OpenKey('\SYSTEM\CurrentControlSet\Control\Nls\CodePage',False) then
Result:=Registry.ReadString('1250',);
end;
finally
Registry.Free;
end;
<<<
Leonid Troyanovsky (2005-11-01 16:42:00) [6]
> Starcom © (01.11.05 16:39)
> Как мне в моём приложении сделать следующее...
VCL Reference
Create, OpenKey, RootKey, WriteString, CloseKey example
--
Regards, LVT.