Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
Роман   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.04 c
15-1419456602
Юрий
2014-12-25 00:30
2015.09.10
С днем рождения ! 25 декабря 2014 четверг


15-1411849802
Юрий
2014-09-28 00:30
2015.09.10
С днем рождения ! 28 сентября 2014 воскресенье


11-1259936563
Егорка
2009-12-04 17:22
2015.09.10
Сервисы + Win7


15-1415975355
LIFTEX
2014-11-14 17:29
2015.09.10
Вопрос по версиям среды разработки


2-1393339999
Ден99
2014-02-25 18:53
2015.09.10
7 zip.dll





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский