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

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

Как правильно писать в реестр данные типа REG_MULTI_SZ? [D5, D7, XP]


JohnKorsh ©   (2010-04-19 16:38:00) 

Не подскажет ли кто как считыват из реестра, а, самое главное, как писать данные типа REG_MULTI_SZ.

var: S : string;
S := ReadString ('Test1') - даёт ошибку на этапе выполнения,

var: S : TStrings;
S := ReadString ('Test1') - даёт ошибку ещё на этапе компиляции,

ReadMultiString - нет такого оператора,

ReadBinaryData - читается в массив с последующим восстановлением стринга, но, при записи, Data в реестре становится Binary и приходится восстанавливать реестр.


Anatoly Podgoretsky   (2010-04-20 16:03:00) [1]


> там разделители $0 и в конце два нуля

Вот это сформируй и вызови RegSetValueEx


JohnKorsh   (2010-04-20 15:45:00) [2]

Да, неправда - там разделители $0 и в конце два нуля. Допшло понемногу.


Anatoly Podgoretsky   (2010-04-20 13:36:00) [3]

> JohnKorsh  (20.04.2010 08:24:02)  [2]

> а REG_MULTI_SZ - TStrings.

Неправда


Anatoly Podgoretsky   (2010-04-20 13:32:00) [4]

> JohnKorsh  (19.04.2010 16:38:00)  [0]

Надо написать наследника и реализовать два дополнтительных метода ReadMultiString/WriteMultiString
Другой вариант поискать в Сети уже готовую реализацию, правда там и писать нечего.


JohnKorsh   (2010-04-20 08:46:00) [5]

Спасибо.


Leonid Troyanovsky   (2010-04-20 08:35:00) [6]


> JohnKorsh   (19.04.10 16:38)

> Не подскажет ли кто как считыват из реестра, а, самое главное,
>  как писать данные типа REG_MULTI_SZ.

http://groups.google.com/group/de.comp.lang.delphi.misc/msg/d7b35a5d536ce0f8?dmode=source

--
Regards, LVT.


И. Павел   (2010-04-20 08:26:00) [7]

> Ошибка несовместимости типов.

Это и так ясно. А какая ошибка этапа выполнения?


JohnKorsh   (2010-04-20 08:25:00) [8]

В общем, с помощью ReadBinaryData считать можно, записать не могу.


JohnKorsh   (2010-04-20 08:24:00) [9]

Ошибка несовместимости типов. Функция возвращает string, а REG_MULTI_SZ - TStrings.


И. Павел   (2010-04-19 19:02:00) [10]

> S := ReadString ('Test1') - даёт ошибку ещё на этапе компиляции,

function ReadString(const Name: String): String;
Посмотрите, что возвращает функция в случае REG_MULTI_SZ, и присвойте TStrings вручную.


> даёт ошибку на этапе выполнения

Какую?


Наверх

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