Различные полезные вещи для программистов 1С
julyp » Вс авг 07, 2011 10:58 pm
Данная функция разбивает строку вида "Параметр1=Значение1;Параметр2=Значение2" на структуру параметров
- Код: Выделить всё
// (Строка)
Функция РазбитьСтрокуНаПараметры(Строка) Экспорт
Строка =Строка + ";";
ТекущийСимвол = "";
ТекущийПараметр = "";
СтруктураПараметров = Новый Структура;
Для н = 1 По СтрДлина(Строка) Цикл
ТекущийСимвол = Сред(Строка, н, 1);
Если ТекущийСимвол = ";" Тогда
//Закончили считывание параметра
ОбработанныйПараметр = СокрЛП(ТекущийПараметр);
Если ОбработанныйПараметр <> "" Тогда
// Разделяем параметр на ключ и значение и записываем в структуру
ПозицияРавно = Найти(ОбработанныйПараметр, "=");
ДлинаПараметра = СтрДлина(ОбработанныйПараметр);
Если ПозицияРавно > 0 Тогда
Если ПозицияРавно = ДлинаПараметра +1 Тогда
// Случай "Ключ="
Ключ = Сред(ОбработанныйПараметр, 1, ПозицияРавно - 1);
Значение = "";
Иначе
// Случай "Ключ=Значение"
Ключ = Сред(ОбработанныйПараметр, 1, ПозицияРавно - 1);
Значение = Сред(ОбработанныйПараметр, ПозицияРавно + 1, ДлинаПараметра - ПозицияРавно);
КонецЕсли;
Иначе
Ключ = ОбработанныйПараметр;
Значение = "";
КонецЕсли;
СтруктураПараметров.Вставить(Ключ, Значение);
КонецЕсли;
ТекущийПарамтр = "";
Иначе
ТекущийПараметр = ТекущийПараметр + ТекущийСимвол;
КонецЕсли;
КонецЦикла;
Возврат СтруктураПараметров;
КонецФункции
-
julyp
- Администратор
-
- Сообщения: 127
- Зарегистрирован: Вт май 25, 2010 6:55 am
-
Вернуться в Полезные вещи
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1