Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

реестр


ksenia ©   (2006-06-07 14:09:00) 

Здравствуйте!
Помогите, пожалуйста....пытаюсь считать из реестра значение параметра и не получается,  если сказать
RegIni:=TRegIniFile.Create('Software');
RegIni.OpenKey('Software\My Company\My Program', true);
str:=RegIni.ReadString('Settings','Reg','N'), считывается N, а не значение, кот. стоит в параметре...?!

а если написать
RegIni:=TRegIniFile.Create('Software');
RegIni.OpenKey('Software\My Company\My Program\Settings', true);
str:=RegIni.ReadString('Reg');
то ругается "Not enough actual parameters"

а если написать
RegIni:=TRegIniFile.Create('Software');
RegIni.OpenKey('Software\My Company\My Program\Settings', true);
str:=RegIni.ReadString('Reg','N');
то ругается "Not enough actual parameters"

что-то я уже ничего не понимаю....Как правильно?


Тимофей Юрьевич   (2006-06-07 16:34:00) [1]

var
 Reg: TRegistry;
begin
 Reg := TRegistry.Create;
 try
   Reg.RootKey := HKEY_CURRENT_USER;
   if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\RunOnce', True) then
   begin
     Reg.WriteString('MyApp','"' + ParamStr(0) + '"');
     Reg.CloseKey;
   end;
 finally
   Reg.Free;
   inherited;
 end;

вот пример


Iehbr   (2006-06-07 16:33:00) [2]

Вот пример из справки, ежели самой лень посмотреть:

procedure TForm1.Button1Click(Sender: TObject);
var
 Reg: TRegistry;
 Val:TStringList;
 I:Integer;
begin
 Reg:=TRegistry.Create;
 try
   Val:=TStringList.Create;
   try
     Reg.RootKey:=HKEY_LOCAL_MACHINE; // Section to look for within the registry
     if not Reg.OpenKey(Edit1.Text,False) then
       ShowMessage('Error opening key')
     else
     begin
       Reg.GetValueNames(Val);

       for I:=0 to Val.Count-1 do
       begin
         ShowMessage(Edit1.Text + Chr(13) +
                     'has an Entry Called '+Val.Strings[I]+Chr(13)+
                     'With a Value of '+Reg.ReadString(Val.Strings[I]));
       end;
       if MessageDlg('Ok to delete the key and lose all these values?'
                    ,Mtinformation,[mbYes,mbNo],0)=mryes then
          Reg.DeleteKey(Edit1.Text);

     end;
   finally
     Val.Free;
   end;
 finally
   Reg.Free;
 end;
end;


ksenia   (2006-06-07 16:29:00) [3]

а по конкретней нельзя?


Сергей М.   (2006-06-07 14:52:00) [4]


> из реестра


> Как правильно?


"Правильным" будет использование класса TRegistry, а не TRegIniFile


Наверх

Титульная страница Поиск, карта сайта Написать письмо