Как распарсить файл настроек пользователя 1cv7.cfg (7.7)
15.02.2008
10:43
#3
"Чтобы редактировать, что было напихано туда процедурой СохранитьЗначение() и прочими в секции UserValuesProfile и т.д.
Пока только дошел до:
//На форму положить список значений СписЗнач
Процедура Сформировать()
Данные=СоздатьОбъект("Текст");
Данные.Открыть(КаталогПользователя()+"1cv7.cfg");
НачСпис=СоздатьОбъект("СписокЗначений");
Для Ном=3 По Данные.КоличествоСтрок() Цикл
ВрСтр=Данные.ПолучитьСтроку(Ном);
НачСпис.ИзСтрокиСРазделителями(Лев(ВрСтр,СтрДлина(ВрСтр)-1));//Отъели последнюю ","
Если НачСпис.ПолучитьЗначение(1)="UserValuesProfile" Тогда
ВрСтр=НачСпис.ПолучитьЗначение(2);
ВрСтр=Лев(ВрСтр,СтрДлина(ВрСтр)-7);//Откусили хвост "}}"}}} "
ВрСтр=Прав(ВрСтр,СтрДлина(ВрСтр)-2);//Откусили сначала "{{"
ТСим="""";
ТСтр="""";
Кол=0;
Для Ном=1 По СтрДлина(ВрСтр) Цикл
ТСим=Сред(ВрСтр,Ном,1);
Если ТСим="{" Тогда
Если Кол=0 Тогда
Кол=Кол+1;
ТСтр=ТСтр+ТСим;
Иначе
ТСтр=Лев(ТСтр,СтрДлина(ТСтр)-2);
СписЗнач.ДобавитьЗначение(ТСтр+" ");
ТСтр="""";
Кол=0;
КонецЕсли;
Иначе
ТСтр=ТСтр+ТСим;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
"
Пока только дошел до:
//На форму положить список значений СписЗнач
Процедура Сформировать()
Данные=СоздатьОбъект("Текст");
Данные.Открыть(КаталогПользователя()+"1cv7.cfg");
НачСпис=СоздатьОбъект("СписокЗначений");
Для Ном=3 По Данные.КоличествоСтрок() Цикл
ВрСтр=Данные.ПолучитьСтроку(Ном);
НачСпис.ИзСтрокиСРазделителями(Лев(ВрСтр,СтрДлина(ВрСтр)-1));//Отъели последнюю ","
Если НачСпис.ПолучитьЗначение(1)="UserValuesProfile" Тогда
ВрСтр=НачСпис.ПолучитьЗначение(2);
ВрСтр=Лев(ВрСтр,СтрДлина(ВрСтр)-7);//Откусили хвост "}}"}}} "
ВрСтр=Прав(ВрСтр,СтрДлина(ВрСтр)-2);//Откусили сначала "{{"
ТСим="""";
ТСтр="""";
Кол=0;
Для Ном=1 По СтрДлина(ВрСтр) Цикл
ТСим=Сред(ВрСтр,Ном,1);
Если ТСим="{" Тогда
Если Кол=0 Тогда
Кол=Кол+1;
ТСтр=ТСтр+ТСим;
Иначе
ТСтр=Лев(ТСтр,СтрДлина(ТСтр)-2);
СписЗнач.ДобавитьЗначение(ТСтр+" ");
ТСтр="""";
Кол=0;
КонецЕсли;
Иначе
ТСтр=ТСтр+ТСим;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
"
Читают тему
(гостей: 1)