Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2015.09.10;
Скачать: CL | DM;

Вниз

чтение из реестра   Найти похожие ветки 

 
Роман   (2014-03-21 12:30) [0]

Добрый день, помогите пожалуйста с консультацией.
Я не могу никак разобраться как присвоить свойству компонента, значение сохраненные в реестре.
Имеются две процедуры, одна сохраняет значение в реестр

procedure TForm1.SaveProgParam;
var
ZapReg:TRegIniFile;
R:Trect;
begin
ZapReg:= TRegIniFile.Create("Software");
if ToolBar1.HostDockSite<>ControlBar1 then
 begin
   GetWindowRect(ToolBar1.Handle, R);
   ZapReg.OpenKey("delphiprog",true);
   ZapReg.WriteInteger("Options","Left", R.Left);
   ZapReg.WriteInteger("Options","Top", R.Top);
   ZapReg.Free;
 end;


а другая должна читать значения из реестра. Точнее сказать компонент ToolBar1 должен запускаться с параметрами прочитанными из реестра

procedure TForm1.LoadProgParam;
var
ZapReg:TRegIniFile;
r:Trect;
begin
 ZapReg:= TRegIniFile.Create("Software");
 if ToolBar1.HostDockSite<>ControlBar1 then
   begin
   ZapReg.OpenKey("delphiprog",true);
   ToolBar1.Left:=ZapReg.ReadInteger("Options", "Left",Left);
   ToolBar1.Top:=ZapReg.ReadInteger("Options", "Top",top);
   ZapReg.Free;
   end;
end;


процедура LoadProgParam прописана в обработчике события FormShow
процедура SaveProgParam прописана в оброботчике события OnShow

в реестр значения записались нормально, но вот присвоить их компоненту ToolBar1 при запуске программы не получается.
помогите пожалуйста разобраться.


 
Роман   (2014-03-21 12:33) [1]

прошу прощение за ошибку
процедура SaveProgParam прописана в оброботчике события FormClose


 
icWasya ©   (2014-03-21 12:49) [2]

Для начала - ZapReg.Free; выполняется только когда ToolBar1. HostDockSite <> ControlBar1 . А если равно?
Ну и учитесь пользоваться отладчиком.


 
Inovet ©   (2014-03-21 13:15) [3]

> [0] Роман   (21.03.14 12:30)
> TRegIniFile

А зачем старые костыли тащить? Почему не TRegistry?


 
Роман   (2014-03-21 14:29) [4]

я новичек)
просто этот объект изучил уже.
но почему то все равно не получается(


 
clickmaker ©   (2014-03-21 14:57) [5]

что именно не получается?
вот эта строчка
ToolBar1.Left:=ZapReg.ReadInteger("Options", "Left",Left);
выполняется? что в итоге в ToolBar1.Left?


 
Германн ©   (2014-03-21 15:02) [6]

Кстати. OpenKey между прочим функция.


 
Германн ©   (2014-03-21 15:05) [7]

Кстати2.
Для цели только чтения не стоит вызывать OpenKey со вторым параметром True.


 
Роман   (2014-03-21 15:11) [8]

ToolBar1.Left:=ZapReg.ReadInteger("Options", "Left",Left);
ToolBar1.Top:=ZapReg.ReadInteger("Options", "Top",top);
эти строчки как будто не выполняются, то есть в программа должна из реестра считать параметры и по ним выставить окно, но окно открывается без этих параметров


 
RWolf ©   (2014-03-21 15:13) [9]


> программа должна из реестра считать параметры и по ним выставить
> окн

но ведь она выставляет не окно, а какой-то тулбар.


 
Роман   (2014-03-21 15:17) [10]

Если можно напишите пожалуйста кто нибудь пример загрузки параметров из реестра. Просто к какому нибудь компоненту. Например к кнопке.
с условием, в реестре запись храниться вот так HКEY_CURRENT_USER\Software\button


 
clickmaker ©   (2014-03-21 15:24) [11]

> как будто не выполняются

что значит "как будто"? а отладчик тебе на что даден?


 
Роман   (2014-03-21 15:25) [12]

я не умею им пользоватсья


 
Кщд   (2014-03-21 20:53) [13]

в ветку вызывается Плохиш


 
alexdn ©   (2014-03-21 21:38) [14]

Что то вообще не понимаю в чём тут могут быть проблемы.. Для чтения из реестра я пользуюсь:
var Regstr:string;
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.OpenKeyReadOnly("SOFTWARE\тра та та");
Regstr:=Reg.ReadString("STR");
Reg.CloseKey;
Reg.Free;

И крути потом этой строчкой как хочешь.


 
Плохиш ©   (2014-03-21 22:21) [15]


> Роман   (21.03.14 12:30) 

ToolBar1 - это, то что вверху окохи с пимпочками? И вы пытаетесь ему позицию выставить.
Я бы порекомендовал вам сменить поле деятельности, рекомендовать банальщину, типа почитать чего, уже скучно.


 
clickmaker ©   (2014-03-22 00:38) [16]

Позицию ему можно таки выставить, если у него DragKind = dkDock
ToolBar1.ManualFloat()


 
Anatoly Podgoretsky ©   (2014-03-22 13:02) [17]


> я не умею им пользоватсья

Придется научиться, иначе удачи не видать.


 
Inovet ©   (2014-03-22 13:16) [18]

https://www.google.ru/#newwindow=1&q=%D0%BA%D0%B0%D0%BA+%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%D1%81%D1%8F+%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D1%87%D0%B8%D0%BA%D0%BE%D0%BC+delphi



Страницы: 1 вся ветка

Текущий архив: 2015.09.10;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.071 c
15-1413664202
Юрий
2014-10-19 00:30
2015.09.10
С днем рождения ! 19 октября 2014 воскресенье


15-1417080359
alexdn
2014-11-27 12:25
2015.09.10
Приложение для андроид


15-1418808674
zagayevskiy
2014-12-17 12:31
2015.09.10
Игра для Android


15-1412886602
Юрий
2014-10-10 00:30
2015.09.10
С днем рождения ! 10 октября 2014 пятница


15-1412620344
kriss
2014-10-06 22:32
2015.09.10
FireMonkey