From 033d7031ef29685af936e19cf7052ffc8bb106e9 Mon Sep 17 00:00:00 2001 From: Vladimir Nadulich Date: Tue, 15 Dec 2020 23:45:34 +0300 Subject: [PATCH 1/5] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=81=D0=BA=D0=BE=D1=80=D0=BE=D1=81=D1=82=D1=8C?= =?UTF-8?q?=20=D1=81=D0=BA=D0=B0=D1=87=D0=B8=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...320\241\320\241\320\260\320\271\321\202\320\276\320\274.os" | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\265\320\264\320\270\320\275\320\265\320\275\320\270\320\265\320\241\320\241\320\260\320\271\321\202\320\276\320\274.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\265\320\264\320\270\320\275\320\265\320\275\320\270\320\265\320\241\320\241\320\260\320\271\321\202\320\276\320\274.os" index 9ef39a0..4865e0a 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\265\320\264\320\270\320\275\320\265\320\275\320\270\320\265\320\241\320\241\320\260\320\271\321\202\320\276\320\274.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\265\320\264\320\270\320\275\320\265\320\275\320\270\320\265\320\241\320\241\320\260\320\271\321\202\320\276\320\274.os" @@ -57,7 +57,8 @@ ВремяВыполнения = Ответ.ВремяВыполнения / 1000; ДлинаФайла = ЗначениеЗаголовка(Ответ.Заголовки, "Content-Length", 0); РазмерФайла = Окр(ДлинаФайла / 1024, 1); - Сообщить(СтрШаблон("Скачан файл %1: %2 секунд, %3 kb " + Символы.ПС, Файл.ПолноеИмя, ВремяВыполнения, РазмерФайла)); + Сообщить(СтрШаблон("Скачан файл %1: %2 секунд, %3 kb, %4 kb/s " + Символы.ПС, + Файл.ПолноеИмя, ВремяВыполнения, РазмерФайла, Формат(РазмерФайла/ВремяВыполнения, "ЧДЦ=1"))); КонецЕсли; From 79bca1ac604f474c0b719ae2be3d6c93bb2c6d48 Mon Sep 17 00:00:00 2001 From: Vladimir Nadulich Date: Fri, 5 Nov 2021 21:24:08 +0300 Subject: [PATCH 2/5] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...40\320\265\320\273\320\270\320\267\321\213.os" | 5 +++++ ...00\320\260\320\275\320\270\321\206\321\213.os" | 2 +- ...41\320\260\320\271\321\202\320\276\320\274.os" | 15 +++++++++++---- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214\320\241\320\262\320\265\320\266\320\270\320\265\320\240\320\265\320\273\320\270\320\267\321\213.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214\320\241\320\262\320\265\320\266\320\270\320\265\320\240\320\265\320\273\320\270\320\267\321\213.os" index 934b80e..1a2494b 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214\320\241\320\262\320\265\320\266\320\270\320\265\320\240\320\265\320\273\320\270\320\267\321\213.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\276\320\272\320\260\320\267\320\260\321\202\321\214\320\241\320\262\320\265\320\266\320\270\320\265\320\240\320\265\320\273\320\270\320\267\321\213.os" @@ -15,5 +15,10 @@ // Выполняет логику команды Процедура ВыполнитьКоманду(Знач Команда) Экспорт + + //Команда.ПолучитьОпцию + days = Команда.ЗначениеОпции("days"); + testing = Команда.ЗначениеОпции("testing"); + ВызватьИсключение "Не реализовано" КонецПроцедуры \ No newline at end of file diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\320\276\320\267\321\200\320\265\320\262\320\260\321\202\320\265\320\273\321\214\320\241\321\202\321\200\320\260\320\275\320\270\321\206\321\213.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\320\276\320\267\321\200\320\265\320\262\320\260\321\202\320\265\320\273\321\214\320\241\321\202\321\200\320\260\320\275\320\270\321\206\321\213.os" index ceb665d..5b739be 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\320\276\320\267\321\200\320\265\320\262\320\260\321\202\320\265\320\273\321\214\320\241\321\202\321\200\320\260\320\275\320\270\321\206\321\213.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\320\276\320\267\321\200\320\265\320\262\320\260\321\202\320\265\320\273\321\214\320\241\321\202\321\200\320\260\320\275\320\270\321\206\321\213.os" @@ -197,7 +197,7 @@ Попытка ПредыдущееЗначениеЦветаТекта = Консоль.ЦветТекста; Исключение - ПредыдущееЗначениеЦветаТекта = Консоль.ЦветТекста; + ПредыдущееЗначениеЦветаТекта = Консоль.Серый; КонецПопытки; Консоль.ЦветТекста = ЦветКонсоли.Бирюза; diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\265\320\264\320\270\320\275\320\265\320\275\320\270\320\265\320\241\320\241\320\260\320\271\321\202\320\276\320\274.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\265\320\264\320\270\320\275\320\265\320\275\320\270\320\265\320\241\320\241\320\260\320\271\321\202\320\276\320\274.os" index 4865e0a..52a7f0b 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\265\320\264\320\270\320\275\320\265\320\275\320\270\320\265\320\241\320\241\320\260\320\271\321\202\320\276\320\274.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\265\320\264\320\270\320\275\320\265\320\275\320\270\320\265\320\241\320\241\320\260\320\271\321\202\320\276\320\274.os" @@ -22,10 +22,16 @@ Функция ПолучитьСодержимое(Адрес) Экспорт + Результат = Новый Структура("ЭтоФайл,ТекстСтраницы,Ошибка", Ложь, "", Ложь); + Префикс = ?(Лев(Адрес, 4) = "http", "", Домен); - Ответ = Сессия.ВызватьМетод("GET", Префикс + Адрес); + Попытка + Ответ = Сессия.ВызватьМетод("GET", Префикс + Адрес); + Исключение + Сообщить(ОписаниеОшибки()); + Возврат Результат; + КонецПопытки; - Результат = Новый Структура; Результат.Вставить("ЭтоФайл", Лев(Ответ.URL, 10) = "https://dl"); Если НЕ Результат.ЭтоФайл Тогда Результат.Вставить("ТекстСтраницы", Ответ.Текст()); @@ -57,8 +63,9 @@ ВремяВыполнения = Ответ.ВремяВыполнения / 1000; ДлинаФайла = ЗначениеЗаголовка(Ответ.Заголовки, "Content-Length", 0); РазмерФайла = Окр(ДлинаФайла / 1024, 1); - Сообщить(СтрШаблон("Скачан файл %1: %2 секунд, %3 kb, %4 kb/s " + Символы.ПС, - Файл.ПолноеИмя, ВремяВыполнения, РазмерФайла, Формат(РазмерФайла/ВремяВыполнения, "ЧДЦ=1"))); + ТекстСообщения = СтрШаблон("Скачан файл %1: %2 секунд, %3 kb, %4 kb/s + |", Файл.ПолноеИмя, ВремяВыполнения, РазмерФайла, Формат(РазмерФайла/ВремяВыполнения, "ЧДЦ=1")); + Сообщить(ТекстСообщения); КонецЕсли; From d6388d78da03e85744c5e74328d8f64f4a3be1b2 Mon Sep 17 00:00:00 2001 From: Vladimir Nadulich Date: Sat, 13 Nov 2021 23:53:21 +0300 Subject: [PATCH 3/5] =?UTF-8?q?=D0=91=D0=B8=D0=B1=D0=BB=D0=B8=D0=BE=D1=82?= =?UTF-8?q?=D0=B5=D0=BA=D0=B0=20coloratos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 +- packagedef | 7 +- ...20\266\320\265\320\275\320\270\321\217.os" | 2 +- ...20\241\320\260\320\271\321\202\320\260.os" | 1 - ...20\260\320\275\320\270\321\206\321\213.os" | 24 ++-- ...20\260\320\271\321\202\320\276\320\274.os" | 28 ++-- ...20\222\321\213\320\262\320\276\320\264.os" | 127 ------------------ 7 files changed, 30 insertions(+), 161 deletions(-) delete mode 100644 "src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\246\320\262\320\265\321\202\320\275\320\276\320\271\320\222\321\213\320\262\320\276\320\264.os" diff --git a/.gitignore b/.gitignore index 69e02ea..bdb7e40 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ .vscode/* temp/* - +*.ospx diff --git a/packagedef b/packagedef index 65ae1c7..ddaa6eb 100644 --- a/packagedef +++ b/packagedef @@ -1,10 +1,11 @@ Описание.Имя("releasecliexplorer") - .Версия("0.3.0") - .ВерсияСреды("1.4.0") + .Версия("0.4.0") + .ВерсияСреды("1.7.0") .ЗависитОт("1connector", "2.1.3") .ЗависитОт("asserts", "1.3.0") .ЗависитОт("logos") - .ЗависитОт("fs",) + .ЗависитОт("fs") + .ЗависитОт("coloratos") .ВключитьФайл("src") .ВключитьФайл("README.md") .ИсполняемыйФайл("src/cmd/ReleaseCliExplorer.os"); diff --git "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" index 11f234b..d5b0cfe 100644 --- "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" +++ "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" @@ -3,7 +3,7 @@ КонецФункции Функция ВерсияПриложения() Экспорт - Возврат "0.3.0"; + Возврат "0.4.0"; КонецФункции Функция ИмяЛогаСистемы() Экспорт diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\320\276\320\267\321\200\320\265\320\262\320\260\321\202\320\265\320\273\321\214\320\241\320\260\320\271\321\202\320\260.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\320\276\320\267\321\200\320\265\320\262\320\260\321\202\320\265\320\273\321\214\320\241\320\260\320\271\321\202\320\260.os" index d29943b..b04502a 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\320\276\320\267\321\200\320\265\320\262\320\260\321\202\320\265\320\273\321\214\320\241\320\260\320\271\321\202\320\260.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\320\276\320\267\321\200\320\265\320\262\320\260\321\202\320\265\320\273\321\214\320\241\320\260\320\271\321\202\320\260.os" @@ -15,7 +15,6 @@ ДополнительныеПараметры = Новый Структура("ЭтоПерваяСтраница", Истина); Обозреватель = Новый ОбозревательСтраницы(Сессия, Адрес, РазмерСтраницы, ДополнительныеПараметры); - Консоль = Новый Консоль; Консоль.Очистить(); КонецПроцедуры diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\320\276\320\267\321\200\320\265\320\262\320\260\321\202\320\265\320\273\321\214\320\241\321\202\321\200\320\260\320\275\320\270\321\206\321\213.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\320\276\320\267\321\200\320\265\320\262\320\260\321\202\320\265\320\273\321\214\320\241\321\202\321\200\320\260\320\275\320\270\321\206\321\213.os" index 5b739be..e222066 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\320\276\320\267\321\200\320\265\320\262\320\260\321\202\320\265\320\273\321\214\320\241\321\202\321\200\320\260\320\275\320\270\321\206\321\213.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\320\276\320\267\321\200\320\265\320\262\320\260\321\202\320\265\320\273\321\214\320\241\321\202\321\200\320\260\320\275\320\270\321\206\321\213.os" @@ -1,3 +1,5 @@ +#Использовать coloratos + Перем Сессия; Перем АдресСтраницы; Перем ТаблицаДействий; @@ -44,7 +46,7 @@ Процедура ПросмотрСтраницы() - ЦветнойВывод.Вывести("получаю данные с сайта ...", "Серый"); + ЦветнойВывод.ВывестиСтроку("получаю данные с сайта ...", "Серый"); Результат = Сессия.ПолучитьСодержимое(АдресСтраницы); Если Результат.ЭтоФайл Тогда @@ -60,9 +62,8 @@ Процедура ВывестиПорцию(Старт = 0) Экспорт - Консоль = Новый Консоль(); Консоль.Очистить(); - ЦветнойВывод.Вывести("(Адрес:|#color=Белый) " + АдресСтраницы, "Желтый"); + ЦветнойВывод.ВывестиСтроку("(Адрес:|#color=Белый) " + АдресСтраницы, "Желтый"); ЗаполнитьТаблицу(Старт); @@ -163,7 +164,7 @@ Группы = Совпадения[0].Группы; Если Группы.Количество() > 1 Тогда НештатнаяСитуация = Истина; - ЦветнойВывод.Ввывести(Группы[1].Значение, "Малиновый"); + ЦветнойВывод.ВывестиСтроку(Группы[1].Значение, "Малиновый"); КонецЕсли; КонецЕсли; КонецЕсли; @@ -184,7 +185,7 @@ Процедура ВывестиТаблицу() Для Каждого стрДействие Из ТаблицаДействий Цикл - ЦветнойВывод.Вывести(СтрШаблон("[ (%1|#color=Желтый) ] - %2", стрДействие.КодОперации, стрДействие.Описание), стрДействие.ЦветТекста); + ЦветнойВывод.ВывестиСтроку(СтрШаблон("[ (%1|#color=Желтый) ] - %2", стрДействие.КодОперации, стрДействие.Описание), стрДействие.ЦветТекста); КонецЦикла; КонецПроцедуры @@ -193,15 +194,12 @@ ВыбранныйКод = ""; - Консоль = Новый Консоль; - Попытка - ПредыдущееЗначениеЦветаТекта = Консоль.ЦветТекста; - Исключение - ПредыдущееЗначениеЦветаТекта = Консоль.Серый; - КонецПопытки; + ПредыдущееЗначениеЦветаТекта = Консоль.ЦветТекста; + Если НЕ ЗначениеЗаполнено(ПредыдущееЗначениеЦветаТекта) Тогда + ПредыдущееЗначениеЦветаТекта = ЦветКонсоли.Белый; + КонецЕсли; - Консоль.ЦветТекста = ЦветКонсоли.Бирюза; - Консоль.Вывести(Сообщение); + ЦветнойВывод.Вывести(Сообщение, "Бирюза"); Консоль.ЦветТекста = ЦветКонсоли.Желтый; ВыбранныйКод = Консоль.ПрочитатьСтроку(); diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\265\320\264\320\270\320\275\320\265\320\275\320\270\320\265\320\241\320\241\320\260\320\271\321\202\320\276\320\274.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\265\320\264\320\270\320\275\320\265\320\275\320\270\320\265\320\241\320\241\320\260\320\271\321\202\320\276\320\274.os" index 52a7f0b..c454487 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\265\320\264\320\270\320\275\320\265\320\275\320\270\320\265\320\241\320\241\320\260\320\271\321\202\320\276\320\274.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\265\320\264\320\270\320\275\320\265\320\275\320\270\320\265\320\241\320\241\320\260\320\271\321\202\320\276\320\274.os" @@ -1,5 +1,5 @@ #Использовать 1connector -#Использовать asserts +#Использовать coloratos #Использовать fs Перем Логин; @@ -98,38 +98,34 @@ Процедура УстановитьПараметрыАвторизации() Экспорт - Консоль = Новый Консоль(); - Попытка - ПредыдущийЦветТекстаКонсоли = Консоль.ЦветТекста; - Исключение - ПредыдущийЦветТекстаКонсоли = ЦветКонсоли.Белый; - КонецПопытки; + ПредыдущееЗначениеЦветаТекта = Консоль.ЦветТекста; + Если НЕ ЗначениеЗаполнено(ПредыдущееЗначениеЦветаТекта) Тогда + ПредыдущееЗначениеЦветаТекта = ЦветКонсоли.Белый; + КонецЕсли; Если НЕ ЗначениеЗаполнено(Логин) Тогда - Консоль.ЦветТекста = ЦветКонсоли.Белый; - Консоль.Вывести("Введите login: "); + ЦветнойВывод.Вывести("Введите login: ", "Белый"); Консоль.ЦветТекста = ЦветКонсоли.Желтый; Пока НЕ ЗначениеЗаполнено(Логин) Цикл Логин = Консоль.ПрочитатьСтроку(); КонецЦикла; - Консоль.ЦветТекста = ПредыдущийЦветТекстаКонсоли; + Консоль.ЦветТекста = ПредыдущееЗначениеЦветаТекта; КонецЕсли; Если НЕ ЗначениеЗаполнено(Пароль) Тогда - Консоль.ЦветТекста = ЦветКонсоли.Белый; - Консоль.Вывести("Введите pass: "); + ЦветнойВывод.Вывести("Введите pass: ", "Белый"); Консоль.ЦветТекста = ЦветКонсоли.Черный; Пока НЕ ЗначениеЗаполнено(Пароль) Цикл Пароль = Консоль.ПрочитатьСтроку(); КонецЦикла; - Консоль.ЦветТекста = ПредыдущийЦветТекстаКонсоли; + Консоль.ЦветТекста = ПредыдущееЗначениеЦветаТекта; Консоль.Очистить(); //скрыть пароль с экрана @@ -166,8 +162,10 @@ Данные.Вставить("rememberMe", "on"); Ответ = Сессия.ВызватьМетод("POST", Ответ.URL, Новый Структура("Данные", Данные)); - Ожидаем.Что(Ответ.URL).Равно(Домен + "/total"); - + Если НЕ Ответ.URL = Домен + "/total" Тогда + ВызватьИсключение "Авторизация не выполнена. Проверьте логин или пароль"; + КонецЕсли; + КонецПроцедуры Процедура УстановитьПутьСохранения(Знач парамПутьСохранения) Экспорт diff --git "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\246\320\262\320\265\321\202\320\275\320\276\320\271\320\222\321\213\320\262\320\276\320\264.os" "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\246\320\262\320\265\321\202\320\275\320\276\320\271\320\222\321\213\320\262\320\276\320\264.os" deleted file mode 100644 index fde7620..0000000 --- "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\246\320\262\320\265\321\202\320\275\320\276\320\271\320\222\321\213\320\262\320\276\320\264.os" +++ /dev/null @@ -1,127 +0,0 @@ -Перем ВыводВозможен; -Перем ЗапоминатьПредыдущееЗначениеЦвета; - -Процедура Вывести(Знач ФорматированнаяСтрока, Знач ЦветТекста = Неопределено) Экспорт - - ТаблицаПолей = РазобратьСтроку(ФорматированнаяСтрока, ЦветТекста); - - Если ВыводВозможен Тогда - - Консоль = Новый Консоль(); - Если ЗапоминатьПредыдущееЗначениеЦвета Тогда - ПредыдущееЗначениеЦветаТекта = Консоль.ЦветТекста; - Иначе - ПредыдущееЗначениеЦветаТекта = ЦветКонсоли.Белый; - КонецЕсли; - - Если ЦветТекста = Неопределено Тогда - ЦветТекста = ПредыдущееЗначениеЦветаТекта; - КонецЕсли; - Для Каждого Поле Из ТаблицаПолей Цикл - Если ЗначениеЗаполнено(Поле.Цвет) Тогда - Консоль.ЦветТекста = ЦветКонсоли[Поле.Цвет]; - Иначе - Консоль.ЦветТекста = ПредыдущееЗначениеЦветаТекта; - КонецЕсли; - Консоль.Вывести(Поле.Текст); - КонецЦикла; - - Консоль.ЦветТекста = ПредыдущееЗначениеЦветаТекта; - - Консоль.Вывести(Символы.ПС); - - Иначе - - МассивПолей = ТаблицаПолей.ВыгрузитьКолонку("Текст"); - НеФорматированнаяСтрока = СтрСоединить(МассивПолей); - - Сообщить(НеФорматированнаяСтрока); - - КонецЕсли; - -КонецПроцедуры - -Функция РазобратьСтроку(ФорматированнаяСтрока, ЦветТекста) - - Длина = СтрДлина(ФорматированнаяСтрока); - - Таблица = Новый ТаблицаЗначений(); - Таблица.Колонки.Добавить("Текст"); - Таблица.Колонки.Добавить("Цвет"); - - тзЦветныеПоля = ЦветныеПоля(ФорматированнаяСтрока); - - Поз = 1; - Для Каждого ЦветПоле Из тзЦветныеПоля Цикл - Если Поз < ЦветПоле.Позиция Тогда - Текст = Сред(ФорматированнаяСтрока, Поз, ЦветПоле.Позиция - Поз + 1); - Стр = Таблица.Добавить(); - Стр.Текст = Текст; - Стр.Цвет = ЦветТекста; - КонецЕсли; - - Стр = Таблица.Добавить(); - Стр.Текст = ЦветПоле.Текст; - Стр.Цвет = ЦветПоле.Цвет; - - Поз = ЦветПоле.Позиция + ЦветПоле.Длина + 1; - КонецЦикла; - - Если Поз-1 <= Длина Тогда - Текст = Сред(ФорматированнаяСтрока, Поз); - Стр = Таблица.Добавить(); - Стр.Текст = Текст; - Стр.Цвет = ЦветТекста; - КонецЕсли; - - Возврат Таблица; - -КонецФункции - -Функция ЦветныеПоля(ФорматированнаяСтрока) - - Выражение = "\((.+?)\|#color=(.+?)\)"; - РВ = Новый РегулярноеВыражение(Выражение); - Совпадения = РВ.НайтиСовпадения(ФорматированнаяСтрока); - - ЦветныеПоля = Новый ТаблицаЗначений; - ЦветныеПоля.Колонки.Добавить("Позиция"); - ЦветныеПоля.Колонки.Добавить("Текст"); - ЦветныеПоля.Колонки.Добавить("Длина"); - ЦветныеПоля.Колонки.Добавить("Цвет"); - - Для Каждого Совпадение Из Совпадения Цикл - Группы = Совпадение.Группы; - стр = ЦветныеПоля.Добавить(); - стр.Позиция = Совпадение.Индекс; - стр.Текст = Группы[1].Значение; - стр.Длина = Совпадение.Длина; - ЦветИмя = Группы[2].Значение; - стр.Цвет = ЦветИмя; - КонецЦикла; - - ЦветныеПоля.Сортировать("Позиция"); - - Возврат ЦветныеПоля; - -КонецФункции - -Процедура УстановитьВозможностьИспользованияЦветногоВывода() - - // возможно понадобится вообще запрещать цветной вывод - ВыводВозможен = Истина; - - Попытка - Консоль = Новый Консоль(); - Цвет = Консоль.ЦветТекста; - ЗапоминатьПредыдущееЗначениеЦвета = Истина; - Исключение - ЗапоминатьПредыдущееЗначениеЦвета = Ложь; - КонецПопытки; - -КонецПроцедуры - -УстановитьВозможностьИспользованияЦветногоВывода(); - -// Пример форматирования вывода -// Вывести("Оу! (Привет!|#color=Красный) Кажется - я ('цветной'|#color=Малиновый). Как (дела|#color=Желтый)???", "Синий"); From 01f244593fe375d04c6ce31e9ab222fd1f337e4e Mon Sep 17 00:00:00 2001 From: Vladimir Nadulich Date: Sun, 14 Nov 2021 00:02:19 +0300 Subject: [PATCH 4/5] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\241\320\241\320\260\320\271\321\202\320\276\320\274.os" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\265\320\264\320\270\320\275\320\265\320\275\320\270\320\265\320\241\320\241\320\260\320\271\321\202\320\276\320\274.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\265\320\264\320\270\320\275\320\265\320\275\320\270\320\265\320\241\320\241\320\260\320\271\321\202\320\276\320\274.os" index c454487..4c8cb12 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\265\320\264\320\270\320\275\320\265\320\275\320\270\320\265\320\241\320\241\320\260\320\271\321\202\320\276\320\274.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\276\320\265\320\264\320\270\320\275\320\265\320\275\320\270\320\265\320\241\320\241\320\260\320\271\321\202\320\276\320\274.os" @@ -63,9 +63,9 @@ ВремяВыполнения = Ответ.ВремяВыполнения / 1000; ДлинаФайла = ЗначениеЗаголовка(Ответ.Заголовки, "Content-Length", 0); РазмерФайла = Окр(ДлинаФайла / 1024, 1); - ТекстСообщения = СтрШаблон("Скачан файл %1: %2 секунд, %3 kb, %4 kb/s + ТекстСообщения = СтрШаблон("Скачан файл %1: (%2|#color=Белый) секунд, (%3|#color=Белый) kb, (%4|#color=Белый) kb/s |", Файл.ПолноеИмя, ВремяВыполнения, РазмерФайла, Формат(РазмерФайла/ВремяВыполнения, "ЧДЦ=1")); - Сообщить(ТекстСообщения); + ЦветнойВывод.ВывестиСтроку(ТекстСообщения); КонецЕсли; From f0d7bb29120434ebe73fe534871694660800e098 Mon Sep 17 00:00:00 2001 From: Vladimir Nadulich Date: Sun, 14 Nov 2021 00:05:04 +0300 Subject: [PATCH 5/5] =?UTF-8?q?=D0=A3=D0=B4=D0=B0=D0=BB=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=BA=D0=BE=D0=BC=D0=B5=D0=BD=D1=82=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=BD=D1=8B=D0=B9=20=D0=BA=D0=BE=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\320\237\321\200\320\276\320\265\320\272\321\202\321\213.os" | 2 -- ...\320\240\320\260\320\267\320\264\320\265\320\273\321\213.os" | 1 - 2 files changed, 3 deletions(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\242\320\270\321\202\321\203\320\273\321\214\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260\320\237\321\200\320\276\320\265\320\272\321\202\321\213.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\242\320\270\321\202\321\203\320\273\321\214\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260\320\237\321\200\320\276\320\265\320\272\321\202\321\213.os" index 5f980b7..16f4915 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\242\320\270\321\202\321\203\320\273\321\214\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260\320\237\321\200\320\276\320\265\320\272\321\202\321\213.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\242\320\270\321\202\321\203\320\273\321\214\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260\320\237\321\200\320\276\320\265\320\272\321\202\321\213.os" @@ -31,8 +31,6 @@ стрПроект.НомерСтроки = сч; сч = сч + 1; - //Сообщить(" - " + стрПроект.Наименование); - КонецЦикла; КонецПроцедуры diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\242\320\270\321\202\321\203\320\273\321\214\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260\320\240\320\260\320\267\320\264\320\265\320\273\321\213.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\242\320\270\321\202\321\203\320\273\321\214\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260\320\240\320\260\320\267\320\264\320\265\320\273\321\213.os" index a00a745..5b5312c 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\242\320\270\321\202\321\203\320\273\321\214\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260\320\240\320\260\320\267\320\264\320\265\320\273\321\213.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\242\320\270\321\202\321\203\320\273\321\214\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260\320\240\320\260\320\267\320\264\320\265\320\273\321\213.os" @@ -12,7 +12,6 @@ стрРаздел = Таблица.Добавить(); стрРаздел.Код = Совпадение.Группы[1].Значение; стрРаздел.Наименование = Совпадение.Группы[2].Значение; - //Сообщить(стрРаздел.Наименование); ПроектыРаздела = Новый ТитульнаяСтраницаПроекты(ТекстСтраницы, стрРаздел.Код); ПроектыРаздела = ПроектыРаздела.ПолучитьТаблицу(); стрРаздел.ТаблицаПроектов = ПроектыРаздела;