Лидеры рейтинга

ID: 226425

Konstantin Shvetski

Модератор

1003

Россия, Северодвинск


ID: 165461

Лангваген Сергей Евгеньевич

Советник

687

Россия, Московская обл.


ID: 401284

Михаил Александров

Академик

419

Россия, Санкт-Петербург


ID: 398750

Елена Васильевна

Специалист

401

Беларусь, Гомель


ID: 400669

epimkin

Профессионал

186


ID: 137394

Megaloman

Мастер-Эксперт

185

Беларусь, Гомель


ID: 401888

puporev

Профессор

163

Россия, Пермский край


8.3.1

01.03.2021

JS: 2.4.1
CSS: 4.4.0
jQuery: 3.5.1


 

Здесь можно выкладывать свои мнения о языках, для которых на форуме нет специальной ветки.


21.09.2017, 09:18
Вадим Исаев ака sir Henry (Мастер-Эксперт)

Megaloman

Мастер-Эксперт

ID: 137394
Постов: 1336

111842

Тогда зачем Вы добавляли лишние строки в учебный код?

Алексеев Владимир Николаевич
А затем, что я дилетант в пошике, я пробую разные варианты. Мне хочется поиграться, проникнуться философией новой среды, мне было важно выстроить возможную структуру кода.
Мне было интересно попробовать передачу параметров в функции, пормботать с данными разных типов, посмотреть, как возвращаются результаты.
А хело ворд я уже давно не пишу ....

Последнее редактирование 31.01.2021, 17:19 Megaloman (Мастер-Эксперт)

=====
Нет времени на медленные танцы

Алексеев Владимир Николаевич

Мастер-Эксперт

ID: 259041
Постов: 279

111843

Megaloman:

Вы писали : "я пробую разные варианты. Мне хочется поиграться, проникнуться философией новой среды" - и это замечательно! Так должны учиться все, кто хочет достичь Успеха!
Вы рекомендовали мне хороший учебник "PowerShell справочник УильямСтанек". В книге много листингов с учебными кодами. Заметьте, что бОльшая часть листингов содержит всего 1…5 строчек кода. Ничего лишнего в каждом Примере! Поэтому, нам легко понимать Учителя. А если бы Уильям напихал в листинги стихи и код-блоки не по теме, с которыми он когда-то игрался, нам было бы намного труднее отфильтровывать суть его мысли в текущем абзаце. И он не стал бы лучшим Учителем.
Давайте брать пример с культурно-деловых американцев. Тогда и спойлер не нужно будет просить у Алексея Георгиевича.

Алексеев Владимир Николаевич

Мастер-Эксперт

ID: 259041
Постов: 279

111846

Megaloman:

Вы просили "PowerShell справочник УильямСтанек … переслать её мне…" - эту книгу я скачал летом с http://1c-predpriyatie… . Эта ссылка и сегодня предлагает скачать справочник.

Спасибо Вам за предоставленную Вашу библиотеку!
"PowerShell Введение.АндрейПопов.pdf" я скачал 24янв2021 с Ссылка . Попов - большой спец по VBS , его материалы по PowerShell слабее, чем у Станека. Но Попов восполняет пограничные пробелы м-ду этими языками, когда чисто-консольный PowerShell не предлагает инструмы графич ДиалогЗапросов, и тогда можно из PowerShell вызвать в помощь VBS-диалог в удобном графи-окошке. =сУважением!

Алексеев Владимир Николаевич

Мастер-Эксперт

ID: 259041
Постов: 279

111868

Megaloman, Roman Chaplinsky / Химик CH:

Предлагаю вам и всем смелым испытателям опробовать мою программку BBCodeГенератор.
Написать её предложил уважаемый Roman Chaplinsky "сделать скрипт, превращающий символы вне определённого диапазона в BBcode и обратно… чтобы писать ответ понятными символами, а потом конвертировать в безопасно отправляемый формат" (rfpro.ru/question/199149#316831).

Написать скрипт для себя и одной ОперСистемы - нетрудно. В декабре2020 мой скрипт BBCodeГенератор.vbs под WinXP уже генерил BBCode . Я отправляю на скрипт ТекстовыйДокумент.txt , предназначенный для отправки на rfpro.ru-сервер. Скрипт бегло заменяет x^2 , U_1 и pi на BBCode [sup]2[/sup] , U[sub]1[/sub] , [$960$] . Исходный файл бэкапируется в папку C:\Temp\ для временных файлов для возможного отката, а контент правленного исходника можно вставлять в Форму Ответа или МиниФорума rfpro-сервера. Скрипт предлагает запустить HtmMaker.vbs создать из полученного текстовика html-копию, которая открывается Браузером с символами в конечном виде x2 , U1 , π .

Поначалу я обрадовался успеху, но обнаружились "подводные камни". В результате быстрой авто-замены фрага ro на ρ слово rfpro.ru авто-заменялось на rfpρ.ru . Я конечно, привлёк обработчик Регулярных выражений, научил скрипт отличать ro в окружении пробелов/мат-знаков от ro в окружении латин-букв. Но, всё же, в обрабатываемом тексте иногда бывают фрагменты, которые НЕльзя авто-заменять на BBCode автомати. То есть перед каждой заменой надо выводить пользователю Запрос согласия.

Самое проблематичное: в тексте бывает много одинаковых фрагментов, которые надо заменить, но НЕ все. Поэтому в запросе согласия замены надо показывать пользователю не только заменяемый фраг, какой он есть и будет, но ещё и его ближайшее текстовое окружение.
В 2х больших фразах до и после замены надо выделить маленький изменяющийся фраг так, чтобы вокруг него не добавлялись скобки, пробелы и прочие выделители, ухудшающие читаемость фрагментов. Такое выделение можно сделать только цветом шрифта/фона или жирностью.

Простенький VBScript не обладает инструментами вывода текста на экран разными цветами в одной строке. Писать их на Lazarus или Паскале - слишком громоздко (нужна среда программирования, компиляторы, хранить Исходные коды + исполняемые exe…). Следуя Вашим советам я стал упорно изучать PowerShell . Вы оказались правы: этот язык имеет мощные команды и предоставляет очень полезные возможности, которых мне ранее не хватало: подсветка текст-фрагментов, получение скэн-кодов нажатых клавиш, воспроизведение звука и открытие графической формы ВыборФайла . 2 последние функции хорошо работали в VBS под WinXP , но корпорация Microsoft запретила их в Win7 и более новых ОС.

Однако, есть у PowerShell и недостатки: Отсутствие Процедур (много-кратно-исполняемых блоков кода). Заменяем процедуры вырожденными функциями, и обнаруживаем отсутствие в них полезного оператора Exit Function для досрочного выхода из функции после обработки одного ветвления с целью уменьшить глубину оставшихся (ещё не обработанных) ветвлений.

VBS по-умолчанию сохраняет файлы в компактной кодировке Windows-1251 - 1 Байт/символ. PowerShell сохраняет в Юникоде - с удвоенным объёмом файла. Для англо-язычных можно указать кодировку utf-8 , в которой цифры и латиница занимает 1 Байт/символ. Но как указать рус-кодировку 1-Байтную ? - не написано ни в учебниках, ни в Справке, ни в Инете. Мне с большим трудом удалось найти способ методом тыка.

Но самый главный недостаток PowerShell - искусственный запрет от корпорации Microsoft на запуск программ, написанных на его языке. Сама же корпорация опубликовала, как обойти запреты командами из КомСтроки. Но не все пользователи могут работать в командной строке и запускать наши программы в сценариях типа ps1 . То есть, как и написано в Microsoft-документе из Вашей библиотеки "PowerShell предназначен для Администрирования". Я сделал вывод, что писать программы лучше на VBS . Потому что любой пользователь может запустить их.

В моём пакете запускать надо BBCodeГенератор.vbs . А когда ему не под силу некоторые операции, он сам вызывает помощника BBCodДиалоги.ps1 из подпапки BBCodДоп с нужными аргументами запуска.
Программа ничего не изменяет в ОперСистеме без согласия Пользователя. Но даже когда Пользователь согласился на правки в его документе, то мой скрипт перед сохранением изменений бэкапирует ИсходныйДокумент в папку Temp (для временных файлов) на случай возможного отката. Эту папку Temp мы регулярно очищаем, удаляя из неё старые файлы и папки.

Я долго испытывал свой прог-пакет в системах WinXP , Win7 , Win8.1 и Win10. У меня всё работает чётко.
Если у вас что-то пойдёт не так или будут какие-то критика и пожелания, то вмести мы сможем сделать программу лучше.
Прилагаю архив с файлами. Его надо распаковать в какую-нибудь папку. Не обязательно в отдельную. Главное, чтоб файл BBCodeГенератор.vbs и папка BBCodДоп были под одной крышей общего родитель-каталога.
В папке BBCodДоп есть "BBCode Инструкция.htm" - ПомощьСправка.

-----
Прикрепленный архив:  скачать (RAR) [86.1 кб]

Уважаемый пользователь!
Вы зашли на форум в качестве гостя. Гости не могут оставлять сообщения.
Пожалуйста, зарегистрируйтесь.
Если Вы уже зарегистрированы, введите Ваши регистрационные данные в поля вверху страницы.

 

Ваши возможности:

Вы не можете создавать разделы
Вы не можете создавать ветки
Вы не можете оставлять сообщения
Вы не можете использовать BBCode
Уровень доступа: = общий =