Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не считываются значения из реестра 
:(
    Опции темы
Кощей
Дата 13.5.2009, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 9.5.2009

Репутация: нет
Всего: нет



При создании формы значения должны считываться из реестра и присваивать значение чекбоксам.
 

Код

Reg := Tregistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;

Reg.OpenKey ('Software\KosheyTest\', true);
    if reg.KeyExists('SetIconInTray') then
            SetIconInTray.Checked:= reg.ReadBool('SetIconInTray');
    if reg.KeyExists('SetOffStartPanel') then
            SetOffStartPanel.Checked:= reg.ReadBool('SetOffStartPanel');
    if reg.KeyExists('SetStartInMinimized') then
            SetStartInMinimized.Checked:= reg.ReadBool('SetStartInMinimized');
Reg.CloseKey;
finally
Reg.Free;


Условие reg.KeyExists выполняются все...я проверял..а значения не присваиваются...где я туплю?

Добавлено через 1 минуту и 7 секунд
В реестре значения и true и false есть...
PM MAIL   Вверх
MetalFan
Дата 13.5.2009, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 22
Всего: 128



Цитата(Кощей @  13.5.2009,  13:53 Найти цитируемый пост)
В реестре значения и true и false есть... 

и как они там записаны? как строки? при чем тогда ReadBool? нажми Ctrl+Click на ReadBool и увидишь:
Код

function TRegistry.ReadBool(const Name: string): Boolean;
begin
  Result := ReadInteger(Name) <> 0;
end;

наверное проблема в этом.

Добавлено @ 14:41
попробуй так
Код

SetIconInTray.Checked:= SameText(reg.ReadString('SetIconInTray'), 'True');


Это сообщение отредактировал(а) MetalFan - 13.5.2009, 14:41


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Кощей
Дата 13.5.2009, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 9.5.2009

Репутация: нет
Всего: нет



я их записывал как 

Код

Reg := Tregistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey ('Software\KosheyTest\', true);
Reg.WriteBool('SetIconInTray', SetIconInTray.Checked);
Reg.WriteBool('SetOffStartPanel', SetOffStartPanel.Checked);
Reg.WriteBool('SetStartInMinimized', SetStartInMinimized.Checked);
Reg.CloseKey;
finally
Reg.Free;


в реестр было добавлено в зависимости от true-единички...в противном случае при else нули...

пытался считывать как
Код

if reg.KeyExists('SetIconInTray') then
            begin 
                if reg.ReadInteger('SetIconInTray') = 1  then SetIconInTray.Checked:=true;
end;


пытался так же как строчку принимать....при старте чекбоксы не реагируют....
PM MAIL   Вверх
Кощей
Дата 13.5.2009, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 9.5.2009

Репутация: нет
Всего: нет



Цитата

попробуй так
Код

SetIconInTray.Checked:= SameText(reg.ReadString('SetIconInTray'), 'True');




Спасибо, но не работает...версию опечатки я не откидываю...но вроде все проверил smile ...
PM MAIL   Вверх
MetalFan
Дата 13.5.2009, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 22
Всего: 128



тогда Use Debug DCU и смотри, что происходит внутри OpenKey и ReadBool


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Кощей
Дата 13.5.2009, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 9.5.2009

Репутация: нет
Всего: нет



Извиняюсь...но как этим чудом  smile  пользоваться, галочку в опциях я нашел...изменений я не вижу...или где почитать об этом?
PM MAIL   Вверх
Christoph
Дата 13.5.2009, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 667
Регистрация: 23.1.2008
Где: Харьков

Репутация: 5
Всего: 11



ну потом построчно идешь по коду F8, а если у тебя на текущей строчке используется метод и ты хочешь посмотреть что творится в методе, например посмотреть значения, нажимаешь F7 trace into, и откроется исходник с методом!
F8 для перехода к новой строчке кода, а Ф7 для того что заглянуть внутрь метода  smile 


--------------------
user posted image
PM MAIL ICQ   Вверх
Кощей
Дата 13.5.2009, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 9.5.2009

Репутация: нет
Всего: нет



MetalFan, Christoph благадарствую. 

странно...

Код

if reg.KeyExists('SetIconInTray') then
            SetIconInTray.Checked:= reg.ReadBool('SetIconInTray');


Закоментил строчку "if reg.KeyExists('SetIconInTray') then"...все заработало...

при этом...
Код

if reg.KeyExists('SetIconInTray') then
           begin
            SetIconInTray.Checked:= reg.ReadBool('SetIconInTray');
            Button1.Visible:= false;
           end;


кнопка исчезала...но значения не присваивались...

 Спасибо за помощь.
PM MAIL   Вверх
MetalFan
Дата 13.5.2009, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 22
Всего: 128



аааа! семен-семеныч... а слона то я и не заметил! при чем тут KEYExists? ValueExists надо пользовать


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
THandle
Дата 13.5.2009, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 50
Всего: 372



Все таки прежде чем что-либо использовать, надо это изучить, ИМХО smile

Почитай хотя бы мою статейку:

http://forum.vingrad.ru/articles/topic-200341.html

там все методы описаны.
MetalFan правильно заметил в предыдущем посте...
PM   Вверх
Кощей
Дата 13.5.2009, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 9.5.2009

Репутация: нет
Всего: нет



Да я по твоей статье и писал))) Ты везде на неё ссылаешь...отличная статья...тупанул я малек)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0584 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.