Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2008, 02:35   #1
eks-s
Пользователь
 
Регистрация: 15.01.2008
Сообщений: 64
Вопрос TRegIniFile. Удаление раздела

Подскажите пожалуйста, что то не могу разобраться. Если существует раздел, то его удалить.

Вот моё дерево:
HKEY_CURRENT_USER\Software\Myprog\n odd

procedure TForm1.Button2Click(Sender: TObject);
var
reg : TRegIniFile;
begin
reg := TRegIniFile.Create('Software');
reg.OpenKey('Myprog',True);
if reg.KeyExists('nodd') then
reg.DeleteKey('nodd',' ? ? ? ');
reg.Free;
end;

Последний раз редактировалось eks-s; 22.01.2008 в 08:27. Причина: ошибка
eks-s вне форума Ответить с цитированием
Старый 22.01.2008, 08:15   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
reg.DeleteKey('nodd',' ? ? ? ');
reg.DeleteKey('Myprog','nodd');
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.01.2008, 09:28   #3
eks-s
Пользователь
 
Регистрация: 15.01.2008
Сообщений: 64
По умолчанию

HKEY_CURRENT_USER\Software\Myprog\n odd

неа, не удаляет. ((

procedure TForm1.Button1Click(Sender: TObject);
var
reg : TRegIniFile;
begin
reg := TRegIniFile.Create('Software');
reg.OpenKey('Myprog',True);
reg.CreateKey('nodd');
reg.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
reg : TRegIniFile;
begin
reg := TRegIniFile.Create('Software');
reg.OpenKey('Myprog',True);
if reg.KeyExists('nodd') then
reg.DeleteKey('Myprog','nodd');
reg.Free;
end;
eks-s вне форума Ответить с цитированием
Старый 22.01.2008, 09:45   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Так nodd это не ключ а секция у тебя.
Код:
reg := TRegIniFile.Create('Software');
reg.RootKey:=HKEY_CURRENT_USER;
reg.OpenKey('Myprog',True);
reg.EraseSection('nodd');
reg.Free;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.01.2008, 00:27   #5
eks-s
Пользователь
 
Регистрация: 15.01.2008
Сообщений: 64
Вопрос

ааа, спасибо.
а что такое тогда ключ?

_HKEY_CURRENT_USER\
___Software\
_____Myprog\
_______nodd\
__________MyPath - C:\myprog

Вот такая веточка, я так понимал что Mypath это Value, используя TRegistry я c ней так работал:
создавал - reg.WriteString('MyPath','C:\myprog ');
и удалял - reg.DeleteValue('MyPath');

Можно тогда объяснить как называется каждый элемент в ветке? Потому что в реестре это Раздел, Параметр и Значение, а тут получается я Параметр через DeleteValue удаляю
eks-s вне форума Ответить с цитированием
Старый 23.01.2008, 08:33   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

MyPath - C:\myprog это key
а
___Software\
_____Myprog\
_______nodd\
Это Section
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.01.2008, 03:07   #7
eks-s
Пользователь
 
Регистрация: 15.01.2008
Сообщений: 64
По умолчанию

Спасибо! . . . .
eks-s вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TReginifile Killbrum Помощь студентам 2 30.08.2008 20:38
Потеря данных при изменении рамера раздела Drandulet Софт 5 06.07.2008 07:52
Буква логического раздела ХР Rastaman Свободное общение 1 01.10.2007 16:09