твсРаботаСФайлами модуль 1с8

Функция ПолучитьРасширениеФайла(стрИмяФайла) Экспорт
	
	стрРасширениеФайла = "";
	
	ПозицияТочки = СтрДлина(стрИмяФайла);
	Пока ПозицияТочки >= 1 Цикл
		Если Сред(стрИмяФайла, ПозицияТочки, 1) = "." Тогда
			стрРасширениеФайла = Сред(стрИмяФайла, ПозицияТочки + 1);
			Прервать;
		КонецЕсли;
		ПозицияТочки = ПозицияТочки - 1;
	КонецЦикла;
	Возврат стрРасширениеФайла;
	
КонецФункции

Функция ВыбратьФайл(стрПолноеИмяФайла, Режим, Заголовок, Фильтр)
	
	Диалог = Новый ДиалогВыбораФайла(Режим);
	Диалог.Заголовок = Заголовок;
	Диалог.ПредварительныйПросмотр = Ложь;
	Диалог.Фильтр = Фильтр;
	
	Если ЗначениеЗаполнено(стрПолноеИмяФайла) Тогда
		Диалог.ПолноеИмяФайла= стрПолноеИмяФайла;
		стрИмяФайла = "";
		стрПутьКФайлу = "";
		РаботаСФайлами.ПолучитьКаталогИИмяФайла(стрПолноеИмяФайла, стрПутьКФайлу, стрИмяФайла);
		Диалог.Каталог = стрПутьКФайлу;
	КонецЕсли;
	
	Если Диалог.Выбрать() Тогда
		стрПолноеИмяФайла = Диалог.ПолноеИмяФайла;
		Возврат Истина;
	Иначе
		Возврат Ложь;
	КонецЕсли;
	
КонецФункции

// Открывает диалог выбора файла
//
// Параметры:
// стрИмяФайла - Строка - Полный путь к файлу
// Режим - РежимОткрытияФайла- (на запись, на чтение, на дозапись...)
// стрЗаголовок - Заголовок окна выбора файла
// Фильтр - маска фильтрации файлов в диалоге выбора файла
//
// Возвращаемое значение:
// нет
//
Функция ВыборИмениФайла(стрИмяФайла, Режим, стрЗаголовок = "", Фильтр = "*.*") Экспорт
	
	флВозврата = Ложь;
	СтандартнаяОбработка= Ложь;
	если Не ВыбратьФайл(стрИмяФайла, Режим, стрЗаголовок, Фильтр) тогда
		флВозврата = Ложь;
	Иначе
		флВозврата = Истина;
	КонецЕсли;
	Возврат флВозврата;
	
КонецФункции


// Проверяет по полному пути файла его существование
//
// Параметры:
// Параметр1 - Строка - Полный путь к файлу
//
// Возвращаемое значение:
// <Булево> - Возвращает Истина если файл существует
//
Функция ПроверитьСуществованиеФайла(стрПолнПутьКФайлу) Экспорт
	
	ФайлДляПроверки = Новый Файл(стрПолнПутьКФайлу);
	
	Возврат ФайлДляПроверки.Существует();
	
	
КонецФункции // ПроверитьСуществованиеФайла()

Функция СохранитьТекстВоВременныйФайл(стрТекст, стрРасширениеФайла, кодировкаФайла = "") Экспорт
	
	ЗагружаемыйФайл = Новый ТекстовыйДокумент;
	файлXML = Новый ЧтениеXML;
	
	ЗагружаемыйФайл.ДобавитьСтроку(стрТекст);
	
	стрИмяФайла = ПолучитьИмяВременногоФайла(стрРасширениеФайла);
	локКодировкаФайла = ?(кодировкаФайла = "", КодировкаТекста.UTF8, кодировкаФайла);
	ЗагружаемыйФайл.Записать(стрИмяФайла, локКодировкаФайла);
	
	Возврат стрИмяФайла;
	
КонецФункции //СохранитьТекстВоВременныйФайл()


Функция СохранитьURLВоВременныйФайл(знач стрURL, стрРасширениеФайла = "") Экспорт
	
	Если стрРасширениеФайла = "" Тогда
		стрРасширениеФайла = ПолучитьРасширениеФайла(стрURL);
	КонецЕсли;
	стрИмяФайла = ПолучитьИмяВременногоФайла(стрРасширениеФайла);
	стрСервер = твсРаботаСИнтернетом.ПолучитьСерверИзURL(стрURL);
	
	локПрокси = твсРаботаСИнтернетом.ПолучитьПрокси();
	Соединение = Новый HTTPСоединение(стрСервер,,локПрокси);
	
	HTTP_Запрос = твсРаботаСИнтернетом.СформироватьHTTPЗапрос(стрURL);
	Состояние("Загрузка: " + стрURL);
	
	Попытка
		HTTP_Ответ = Соединение.Получить(HTTP_Запрос, стрИмяФайла);
	Исключение
		Сообщить("Ошибка получения данных из Интернета по адресу: " + стрURL);
	КонецПопытки;
	
	Попытка
		Если HTTP_Ответ.КодСостояния >= 400 Тогда
			Сообщить("Код ответа сервера: " + HTTP_Ответ.КодСостояния + ". Ошибка получения данных из Интернета по адресу: " + стрURL);
			стрИмяФайла = "";
		КонецЕсли;
	Исключение
		Сообщить("Ответ не получен по адресу: " + стрURL);
	КонецПопытки;
	
	Возврат стрИмяФайла;
	
КонецФункции // СохранитьURLВоВременныйФайл()


+ Нет комментариев

Добавить свой