Какая то измена при работе с файлами REG

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
JWST
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 07.01.2006 (Сб) 21:05

Какая то измена при работе с файлами REG

Сообщение JWST » 07.01.2006 (Сб) 22:13

Суть такая. Нужно открыть файл к примеру file.reg
и заменить в нём одни значения на другие.

Я реализовал так.

Открываю файл и считываю через

Line Input #1, GetValues(Counter)

каждую строчку в массив.

Затем заменяю нужные мне значения одно на другое и записываю при помощи Print #2, GetValues(Counter)

Так вот с файлами ini и txt всё нормально. Так же всё нормально с файлами reg, которые сделал я сам в блокноте.

Но если я экспортировал при помощи RegEdit файлы из реестра (т.е. не сам писал), то текст файла становится какими-то квадратиками.

Вылечил я это просто. Зашёл в экспортный файл REG нажал ctrl+a и скопировал всё. Затем создал новый файл REG (САМ!!!) и вставил туда всё что было в оригинальном файле. И всё заработало. Но это же геммор. Неужели в оригинальных файлах REG не такая структура как у обычных TXT. И поэтому происходит такой дур-дом.

JWST
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 07.01.2006 (Сб) 21:05

Сообщение JWST » 07.01.2006 (Сб) 22:15

Что делать может есть мысли?

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 08.01.2006 (Вс) 0:10

В Unicode пишет regedit. По всей видимости, нужно преобразовывать из Unicode и обратно. См., например, функцию StrConv.

JWST
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 07.01.2006 (Сб) 21:05

Сообщение JWST » 08.01.2006 (Вс) 4:06

Я победил проблему, что в рег файле заменялся весь текст. Дело в том, что при считвании в первой строке REG файла есть первые два символа. Они видимо и определяют на то что это файл реестра и касячили всю структуру. Поэтому я предпринял простое решение:

If NumStr = 1 Then GetValues(NumStr) = Mid(GetValues(NumStr), 3)

т.е. если первая строка, то её записать не сначала а с третьего символа (т.е. первые два пропусить)

И программа стала нормально переписывать строчки, но тут я заметил новый касяк.

Об этом тут: http://bbs.vbstreets.ru/viewtopic.php?p=6577506


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 19

    TopList