![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
чтение из реестра [D2005]
Роман © (2014-03-21 12:30:00)Добрый день, помогите пожалуйста с консультацией.
Я не могу никак разобраться как присвоить свойству компонента, значение сохраненные в реестре.
Имеются две процедуры, одна сохраняет значение в реестр
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 при запуске программы не получается.
помогите пожалуйста разобраться.
Inovet (2014-03-22 13:16:00) [1]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
Anatoly Podgoretsky (2014-03-22 13:02:00) [2]
> я не умею им пользоватсья
Придется научиться, иначе удачи не видать.
clickmaker (2014-03-22 00:38:00) [3]Позицию ему можно таки выставить, если у него DragKind = dkDock
ToolBar1.ManualFloat()
Плохиш (2014-03-21 22:21:00) [4]
> Роман (21.03.14 12:30)
ToolBar1 - это, то что вверху окохи с пимпочками? И вы пытаетесь ему позицию выставить.
Я бы порекомендовал вам сменить поле деятельности, рекомендовать банальщину, типа почитать чего, уже скучно.
alexdn (2014-03-21 21:38:00) [5]Что то вообще не понимаю в чём тут могут быть проблемы.. Для чтения из реестра я пользуюсь:
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 20:53:00) [6]в ветку вызывается Плохиш
Роман (2014-03-21 15:25:00) [7]я не умею им пользоватсья
clickmaker (2014-03-21 15:24:00) [8]> как будто не выполняются
что значит "как будто"? а отладчик тебе на что даден?
Роман (2014-03-21 15:17:00) [9]Если можно напишите пожалуйста кто нибудь пример загрузки параметров из реестра. Просто к какому нибудь компоненту. Например к кнопке.
с условием, в реестре запись храниться вот так HКEY_CURRENT_USER\Software\button
RWolf (2014-03-21 15:13:00) [10]
> программа должна из реестра считать параметры и по ним выставить
> окн
но ведь она выставляет не окно, а какой-то тулбар.
Роман (2014-03-21 15:11:00) [11]ToolBar1.Left:=ZapReg.ReadInteger('Options', 'Left',Left);
ToolBar1.Top:=ZapReg.ReadInteger('Options', 'Top',top);
эти строчки как будто не выполняются, то есть в программа должна из реестра считать параметры и по ним выставить окно, но окно открывается без этих параметров
Германн (2014-03-21 15:05:00) [12]Кстати2.
Для цели только чтения не стоит вызывать OpenKey со вторым параметром True.
Германн (2014-03-21 15:02:00) [13]Кстати. OpenKey между прочим функция.
clickmaker (2014-03-21 14:57:00) [14]что именно не получается?
вот эта строчка
ToolBar1.Left:=ZapReg.ReadInteger('Options', 'Left',Left);
выполняется? что в итоге в ToolBar1.Left?
Роман (2014-03-21 14:29:00) [15]я новичек)
просто этот объект изучил уже.
но почему то все равно не получается(
Inovet (2014-03-21 13:15:00) [16]> [0] Роман (21.03.14 12:30)
> TRegIniFile
А зачем старые костыли тащить? Почему не TRegistry?
icWasya (2014-03-21 12:49:00) [17]Для начала - ZapReg.Free; выполняется только когда ToolBar1. HostDockSite <> ControlBar1 . А если равно?
Ну и учитесь пользоваться отладчиком.
Роман (2014-03-21 12:33:00) [18]прошу прощение за ошибку
процедура SaveProgParam прописана в оброботчике события FormClose