Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите записать данные в реестр! [D5, Win95/98, WinME, WinXP]


546634 ©   (2002-07-06 15:25:00) 

Привет!

Мне нужно записать данные, внесённые пользователем в Edit1 и Edit2, в реестр. Делаю это следующим образом:

procedure ChangeUninstallKey;
var
name, command: string;
i:integer;
begin
for i:=0 to Form1.listbox2.items.count-1 do
begin
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey("\Software\Microsoft\Windows\CurrentVersion\Uninstall\"+Form1.listbox2.items[i],False);

name:=reg.readstring("DisplayName");
name:=Form1.listbox2.items[Form1.listbox2.itemindex];

command := Reg.ReadString("UninstallString");
command := Form1.listbox3.items[Form1.listbox2.itemindex];
end;
Reg.WriteString("DisplayName", PChar(Form2.Edit1.Text));
Reg.WriteString("UninstallString", PChar(Form2.Edit2.Text));
Reg.CloseKey;
Reg.Free;
end;


Пытаясь записать данные в реестр, получаю сообщение:
"List index out of bounds (-1)". HELP ME!


GrayFox   (2002-07-06 18:54:00) [1]

номера элементов листбокса идут от 0 до (n-1), а ты наверно где-то обращаешься к n-ному элементы


AL2002   (2002-07-06 17:22:00) [2]

With ListBox1.Items do LinesList:=GetText;
Reg.WriteString("VotOniVse", LinesList);


546634   (2002-07-06 17:10:00) [3]


> Хрень какая-то.
> Зачем из листбокса в эдит данные копировать?
> Прямо из листбокса каждую строчечку по очереди и добавь.


Куда добавь?
Что-то ты, по-моему, меня не понял.


AL2002   (2002-07-06 16:45:00) [4]

Хрень какая-то.
Зачем из листбокса в эдит данные копировать?
Прямо из листбокса каждую строчечку по очереди и добавь.


546634   (2002-07-06 16:22:00) [5]

При загрузке программы идет заполнение listbox"сов:

В первый listbox помещаються все ключи ветви:
Software\Microsoft\Windows\CurrentVersion\Uninstall

Во второй заносятся все параметры DisplayName.

В третий - все параметры UninstallString.

Чтобы поместить в Edit"ы параметры, нужно сначало всё прочитать? Или нет? Предложите другой, более простой вариант по-возможности с примером.


Anatoly Podgoretsky   (2002-07-06 15:42:00) [6]

Вся программ вооще то сплошная ошибка, но ближе к нашим баранам
ты обращаегшься к несуществующим элементам списка или в Form1.listbox2 или в Form1.listbox3
Ошибка не имеет никакого отношения к реестру


MsGuns   (2002-07-06 15:30:00) [7]

Если данные в Edit`ах, то причем здесь TListBox ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо