sonyps4.ru

Как научиться писать скрипты для windows. Отображение большого текста

Как писать скрипты для операционной системы, сайтов или же просто игр? Ответ на этот, поверьте, легкий вопрос и будет рассмотрен в рамках данной статьи.

Общая информация

Очень желательно, чтобы были хотя бы минимальные знания о программировании. Но если что-то покажется непонятным, то статья-другая поможет заполнить пробел. Первоначально давайте определим, что же собой представляет скрипт. Так называют алгоритм, написанный определёнными языками программирования, что хранится на компьютере человека и может взаимодействовать с определёнными файлами, программами вроде браузеров и системными настройками. Это всё позволяет значительно дополнять стандартные возможности, создавать автоматизированных помощников, что будут брать на себя часть работы.

Начинаем работать с браузеров

Это, пожалуй, одно из самых лёгких занятий. Если мы пишем скрипты на JavaScript, то для этого достаточно обычного блокнота и знания этого языка программирования. Правда, есть тут и недостатки. Так, каждый человек, у которого есть всё тот же "Блокнот", сможет посмотреть, что же собой представляет скрипт. И если у него будут плохие намерения, а в коде уязвимость - то могут возникнуть проблемы. Отвечая на вопрос о том, как научиться писать скрипты на JavaScript, следует отметить, что для этого достаточно изучить данный язык программирования. Для того чтобы создавать лучшие и более сложные программы, можно воспользоваться различными библиотеками. Но для них требуются соответствующие расширения веб-обозревателей. И при смене компьютерной техники придётся проводить дополнительные настройки. А при использовании сторонних разработок необходимо удостовериться, что скрипт не будет отсылать пользовательские данные на сторонние сервисы. Следует отметить, что каждый браузер имеет свои определённые ограничения. Но в целом с их помощью можно делать практически всё что угодно. Зачем же их пишут в таких случаях? Они нужны тогда, когда следует автоматизировать деятельность человека.

Работаем с операционной системой Windows

Допустим, нам необходимо поменять конфигурацию компьютера. Для этого существует широчайший набор графических средств, но всё они, увы, не охватывают. Поэтому часто приходится создавать системные скрипты. Они имеют расширение.bat. Каждый человек, который более-менее длительное время работает за компьютером, уже встречался с такими файлами. Но вот как писать скрипты для Windows? Для этого нам пригодится всё тот же "Блокнот". Сначала создаём новый текстовый файл. В нём необходимо записать системные команды. После этого необходимо изменить расширение файла на.bat. И остаётся только запустить эту разработку. Если всё правильно, то команды успешно будут выполнены, что и можно лицезреть. Но в случае ошибок или неграмотного написания кода в лучшем случае ничего не произойдёт. Поэтому лучше разбираться в том, что записываешь. Просто брать где-то код и бездумно его вставлять категорически не рекомендуется! Это может привести к значительным проблемам в работе операционной системы. И ещё повезёт, если такие опасные действия были сделаны с гостевого аккаунта. Ведь команда от администратора может превратить компьютер в "кирпич".

А что с "Линуксом"?

Следует помнить, что "Виндовс" - это не единственная операционная система. Есть ещё и "Линукс", причем довольно популярный. Как писать скрипты в этой операционной системе? Они создаются с помощью оболочки - специального командного интерпретатора, который является интерфейсом между человеком и ядром операционной системы. В "Линуксе" скрипты, по сути, это просто файл, в котором перечисляются системные команды. Это просто и одновременно удобно. Но оболочке нужно знать, как же такой файл следует обрабатывать. По умолчанию она просто читает. А если нужно выполнить, то используется конструкция «#!», которую необходимо поставить перед командой. Все скрипты имеют расширение.sh. Следует отметить, что с их помощью можно делать довольно много сложных вещей. Например, резервное копирование файлов. В целом вариантов использования чрезвычайно много.

Учимся писать скрипты

Итак, первоначально необходимо определиться со средой, где мы будем набирать код. Почти всегда для этого достаточно одного "Блокнота". Но в нём не очень удобно отображать строение конструкций, к тому же не подсвечиваются операторы и другие элементы. Поэтому в качестве достойной альтернативы можно предложить программу Notepad++. Для тех, кто знает английский язык, не так сложно перевести, что это тоже "Блокнот". Но с расширенными возможностями. Эта небольшая, но очень приятная разработка ориентирована в первую очередь на программистов. В ней можно включить настройку отображения почти всего, что только есть. Присутствует удобный инструмент отображения кода и множество других хоть и мелких, но приятных вещиц, которые сделают процесс написания более комфортным. В целом же на вопрос "где писать скрипты" дано множество различных ответов, каждый из которых предлагает свою изюминку. Есть и очень навороченные среды, с эмуляторами и множеством инструментов отладки. Выбирай, что душе пожелается. После этого необходимо позаботиться о наличии знаний. В качестве базиса подойдёт справка по языку программирования или же команд операционной системы. Для более продвинутого изучения можно прочитать несколько книг, в которых объясняются особенности машинной логики и обработки кода.

Сервисы обучения в реальном времени

Если интересует, как научиться писать скрипты, то не следует сбрасывать со счетов и возможность обучения с помощью информационных образовательных технологий. Как приблизительно выглядит такая «кузница программистов»? По программе, составленной согласно мнению опытных разработчиков, новичка ведут от самого лёгкого к сложным моментам. Так, первоначально может изучаться динамическое обновление данных, чтобы в последующем перейти к созданию сокет-серверов. И человек проходит обучение не спеша, поэтапно, усваивая максимальное количество данных. Поэтому, если возникнут сложности, можно обратиться за помощью к ним. Не факт, что первый попавшийся удовлетворит все потребности, но тогда необходимо будет просто попробовать что-то иное.

Зачем же изучать?

Многих интересует, как писать скрипты для игр. Что ж, это не очень сложно, но и не единственное применение подобной возможности. Но давайте же рассмотрим на примере игры. Допустим, человеку нравится играть на определённом сайте в какое-то развлечение. Но оно, увы, предусматривает, что необходимо или вкладывать свои деньги, или же долго и монотонно выполнять определённые действия. И если был выбран второй путь, то скрипты - это именно то, что здесь нужно. Подобное может быть использовано и в стационарных играх на компьютере. Там есть персонажи под управлением искусственного интеллекта, и чтобы сразиться с ним, можно создать свою версию ИИ, устроив таким образом битву компьютера с самим собой (и для более лёгкого прохождения). Но скрипты могут быть успешно использованы не только в играх. Допустим, что есть сайт серьёзной компании. Важным аспектом является максимальная поддержка коммуникации с клиентами. И для этого в виде скрипта добавляется небольшая форма, с помощью которой можно получить консультацию специалиста в онлайн-режиме. Возможностей применения много!

Заключение

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

Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».

Подписаться

Скрипт сайта - это код, который внедряется на ресурс и расширяет функциональность портала.

Больше видео на нашем канале - изучайте интернет-маркетинг с SEMANTICA

Простыми словами, скрипт сайта – это исполняемый процесс, запускаемый сервером по специальному запросу, поступающего со страницы web-сервиса для выполнения определенной задачи.

Приведем простой пример. Вы сделали свой автомат, который наливает кофе по нажатию кнопки. Чтобы машина работала как надо, нужно ее правильно запрограммировать. Наверняка, ваш автомат будет наливать несколько видов напитка. При нажатии на кнопку будет запускаться скрипт приготовления определенного кофе.

На сайте скрипт работает примерно так же. Запускается при определенном условии и выполняет свою работу.

Основные виды скриптов

Все скрипты делятся на 2 категории:

  • Клиентская, выполняемая на пользовательском ПК (команды в коде web-ресурса).
  • Серверная, предназначенная для выполнения большого количества функций в самой структуре ресурса.
Языки написания скриптов

Программы пишут с помощью специальных языков, имеющих разный синтаксис, возможности и области использования. Существует немало языков программирования, с помощью которых делаются скрипты. Например:

  • JScript.
  • Python.
  • JavaScript.
  • Perl.
  • AngelScript.
Область применения

Сегодня почти каждый портал использует скрипты. Они расширяют базовый функционал. Вспомните популярную когда-то фишку - под новый запускают скрипт. И на сайте “идет снег”.

Скрипты используются для:

  • управления ресурсом, расширения функционала CMS;
  • для сбора статистики - о посещениях, просмотрах и т. д.;
  • для поисковой оптимизации;
  • для упрощения изменения структуры сайта;
  • для повышения гибкости изменения дизайна;
  • для организации работы форумов.

Скрипт помещается в отдельный файл и загружается на сервер. Когда нужно его выполнить, к файлу происходит обращение.

Особенности работы скриптов на сайте

CGI-скрипт – это самый распространенный тип программы, выполняемой на Web-сервере. Запуск работы осуществляется после клиентского запроса, т.е. пользователя, посетившего сайт и совершившего там определенные действия. Действие CGI в некотором роде сопоставимо с функционированием других популярных программ: MS Word или Explorer.

Специфика работы на практике: пользователи, оставляя отзывы или комментарии на сайте, заполняют определенные поля. Данные отправляются на сервер, после чего происходит включение скрипта для обработки поступившей информации. В ответ пользователь получает уведомление о том, что его запрос обрабатывается.

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

Последовательность использования

Обычно скрипты имеют инсталлятор для автоматический установки на сайт.

Последовательность внедрения скрипта на сайт:

  • Закачивание файлов через ftp.
  • Разграничение прав доступа.
  • Установка.
  • Настройка конфигурации уже в панели администрирования.
  • Скрипты расширяют функциональность ресурса. Они могут добавлять новые “фишки”, которые нужны пользователям. Но не переусердствуйте - пичкать сайт снежинками и вылетающими котиками не нужно.

    В этой статье:

    • Размещение PHP на HTML-странице
    • Комментарии в скриптах
    • Отображение текста
    • Переменные и константы в PHP
    • Оператор присваивания
    • О типах данных

    Для написания кода на PHP подходит любой текстовый редактор (например Notepad++).

    Размещение PHP на HTML-странице

    Код скрипта PHP может размещаться непосредственно на HTML-странице. Чтобы узнать, как это делается, давайте рассмотрим следующий простой пример:

    Это обычный HTML-документ

    С первого взгляда пример напоминает обычный файл HTML. Единственное новшество здесь –– конструкция .

    Все, что стоит между , интерпретируется как код на языке PHP. Здесь мы также видим пример использования команды echo –– одной из наиболее важных, часто используемых команд при программировании на этом языке. Команда echo применяется, когда необходимо что-либо написать в текущем документе. Так наша небольшая программа на PHP в HTML-документе выводит фразу “А это PHP”. Все что находится вне процессор РНР передает без изменения непосредственно на динамическую web-страницу.

    Вместо специального тега могут также использоваться теги :

    код на РНР

    Наш первый сценарий

    Тексты сцеариев (php-программ) должны храниться в файлах с раширением php.

    РНР-код состоит из отдельных операторов, каждый из которых завершается точкой с запятой (ее отсутствие вызовет сообщение об ошибке ).

    Первый скрипт на РНР (файл index.php) будет достаточно простым, но уже он продемонстрирует совместное использование HTML и РНР.

    Первый пример

    PHP-программа состоит из двух операторов присваивания, определения значения константы и вывода текста и текущей даты в окно браузера с помощью команды echo .

    Данный текст можно набрать в любом текстовом редакторе, например, в NotePad++, и сохранить под именем index.php. Следует убедиться, что файл сохранен как php-файл, в противном случае он не будет корректно обработан РНР.

    В случае локальной работы необходимо скопировать файл index.php в каталог документов web-сервера. Для Denver это home/localhost/www (если в настройках не указано иное). После чего можно переходить непосредственно к запуску скрипта.

    Для запуска скрипта index.php следует открыть web-браузер, а затем ввести в адресной строке полный путь к этому скрипту. В случае локальной установки адрес будет таким:

    Если все сделано правильно, на экране мы увидим:

    Файл styles.css (таблица стилей):

    /* Стили для отображения содержимого страницы */ * { margin: 0; padding: 0; } body { font-family: Verdana, Arial, sans-serif; color: #14556b; background-color: #f2f2f2; margin: 20px; } h3, p { margin: 6px 0; /* Поля заголовков и абзацев */ }

    Прямо из браузера мы можем просмотреть код этой странички, сформированный web-сервером:

    Таким образом, имя переменной заменяется ее значением, которое помещается на то же место , где в программе стояло имя этой переменной.

    Итак, PHP-файлы обычно представляют собой смесь HTML, CSS и РНР. При этом РНР-код всегда заключается внутри конструкции . Web-сервер посылает HTML-код браузеру без изменения. РНР-код выполняется, и если он формирует теги и какой-либо текст для отображения, этот текст вставляется на то место , где размещался РНР-код. Браузер интерпретирует HTML-теги страницы и отображает результат на экране.

    PHP-код может располагаться в произвольном месте и многократно включаться в текст скрипта. С его помощью можно также формировать и HTML-теги, что видно из нашего примера.

    Комментарии в скриптах

    В РНР существует три типа комментариев. Первый позволяет располагать комментарии в нескольких строках, начиная их символами /* (записываются без пробела) и заканчивая символами */, например:

    Следует иметь ввиду, что вложенные комментарии записывать нельзя .

    Многострочные комментарии могут оказаться полезными там, где надо вставить значительный объем текста. Кроме того, распространенным приемом при отладке программы является заключение части кода в комментарий (чтобы предотвратить его выполнение).

    Остальные два типа комментариев начинаются с символов // или символа # и продолжаются только до конца строки, в которой они записаны. Этот тип комментариев удобен тем, что их можно размещать справа от операторов, например:

    Очень часто комментарий добавляют в начало сценария, чтобы дать о нем краткую информацию и указать, какие функции он выполняет. Например:

    Отображение текста

    Оператор echo , который предназначен для отображения произвольного текста на web-странице, является, пожалуй, наиболее употребительным оператором РНР. В простейшем случае после echo следует поместить одну строку в кавычках. Текст может быть заключен как в двойные кавычки, так и в простые кавычки (апострофы ). Для отображения чисел кавычки необязательны, например:

    В общем случае после echo можно записать несколько строк для вывода, которые разделяются запятыми.

    При необходимости длинная строка может быть размещена на нескольких строках в тексте скрипта, например:

    Отдельные строки могут объединяться при помощи оператора сцепления «.» –– точка. В результате образуется единая строка, которая передается оператору echo. Например:

    что эквивалентно

    Для отображения кавычки следует разместить перед ней обратный слеш, например:

    Замечание . Если выводится одна текстовая строка, то вместо оператора echo можно использовать функцию print . В этом случае различий между echo и print нет. Однако в echo мы можем добавлять к первой строке другие строки, разделяя их запятыми.

    Отображение большого текста

    При использовании echo для отображения большого объема текста его можно записать так: вначале ставим символы .

    Переменные, оператор присваивания

    Как и в любом языке программирования, переменные предназначены для хранения данных. В РНР имена переменных всегда начинаются со знака доллара $, далее следует буква или знак подчеркивания, после которого может следовать произвольное количество букв, цифр или знаков подчеркивания. Следует помнить, что в именах переменных большие буквы и малые буквы различаются. Например, $var и $Var –– это разные переменные.

    После создания переменной (в результате присваивания ей некоторого значения), доступ к этой переменной возможен в любом месте скрипта. При этом одна и та же переменная может содержать на протяжении программы значения разных типов.

    Переменная существует до тех пор, пока выполняется программа.

    Для присвоения значения переменной в РНР используется оператор присваивания , обозначаемый знаком равенства =. Ниже приведены примеры операторов присваивания:

    $ternperature = 24;

    $number_of_earths = 1;

    $pi = 3.1415926535;

    $message = “Доброе утро!”;

    Обратим внимание, что одним переменным присвоены числа, а другим - строки.

    Задание . Вывести все значения этих переменных в браузер: (1) каждое значение –– в новой строке; (2) –– все значения –– в одной строке.

    Константы

    Иногда не требуется менять в программе один раз заданное значение. Для этого используются константы - их значения не изменяются в процессе выполнения скрипта.

    Для описания константы используется функция define, которой передается имя константы и ее значение. Существует соглашение, по которому имена констант всегда пишутся в верхнем регистре (большими буквами), например:

    define (“PI”, 3.1415926535);

    Следует обратить внимание, что при определении константы перед ней не ставится знак доллара. Попытка изменения значения константы с помощью оператора присваивания приведет к ошибке.

    Константам нельзя давать имена, которые являются служебными словами языка РНР (так как перед именем константы не ставится знак доллара).

    Зарезервированные (служебные) слова РНР:

    and array as break default
    die do echo endif endswitch
    endwhile global if include print
    require eval lnclude_onc e require_once return
    case сfunction class const continue
    declare else elseif empty enddeclare
    endfor endforeach exception exit extends
    for foreach function isset list
    new old_function or php_user_filter static
    switch unset use while xor

    В языке РНР определено множество встроенных констант, которые можно использовать в сценариях. Эти константы начинаются с двух символов подчеркивания и заканчиваются тоже двумя символами подчеркивания. Например:

    __CLASS__ __FILE__ __FUNCTION__ __LINE__ __METHOD__

    Прерывание выполнения сценария

    Наиболее часто для останова выполнения сценария применяется функция exit (). Другой полезной функцией является die (“Сообщение”), которая позволяет также вывести сообщение об ошибке. Это позволяет сообщить пользователю причину, по которой сценарий завершился неудачей.

    Уничтожение переменной

    Иногда требуется принудительно уничтожить переменную. Для этого предназначена функция unset().

    Если попробовать выполнить оператор echo “$variable” после вызова функции unset , то мы получим сообщение об ошибке –– переменная $variable больше не будет существовать.

    Можно одновременно уничтожить несколько переменных:

    unset($variable, $name);

    Следующий текст при первом чтении можно пропустить

    Типы данных

    В языке РНР тип переменной определяется автоматически при создании переменной на основе ее значения. Тем не менее, следует иметь представление о типах данных, которые могут использоваться. Всего их восемь:

    • Логический тип, содержит значения TRUE или FALSE.
    • Целое число.
    • Вещественное число.
    • Текст произвольной длины.
    • Массив.
    • Объект.
    • Ресурс (например, файл).
    • NULL Значение NULL.

    Например:

    $variable = TRUE;

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

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

    $int_variable = (integer) $variable;

    $float_variable = (float) $variable;

    $string_jyariable = (string) $variable;

    При преобразовании в логический тип boolean, следующие значения преобразуются в значение FALSE.

    • Целое число 0.
    • Вещественное число 0.0.
    • Пустая строка и строка “0”.
    • Массив с нулевым количеством элементов.
    • Объект, не имеющий свойств.
    • Специальный тип NULL.

    При преобразовании к типу целых значений другие типы преобразуются так:

    • Логическое FALSE преобразуется в целое число 0, логическое TRUE преобразуется в целое число 1.
    • Вещественные числа округляются в меньшую сторону. При преобразовании в вещественное число сперва осуществляется преобразование в целочисленное значение.

    Возможно также преобразование строковых значений в числовые типы данных, но при этом имеется ряд особенностей.

    Любые другие значения, включая все ресурсы, преобразуются в TRUE.

    Итоги

    Язык РНР предназначен для создания динамических web-страниц.

    • Код РНР заключается между тегами .
    • Оператор echo предназначен для отображения текста.
    • Имеется возможность включать в код РНР большие блоки текста
    • В РНР используются три вида комментариев: /* … */, // и #.
    • Имя переменной предваряется знаком доллара $, начинается с буквы или знака подчеркивания, после которого может следовать произвольное количество букв, цифр или знаков подчеркивания.

    Виртуальной машины, исполняющей скрипты на языке 1С:Предприятие.

    Иными словами, это возможность писать программы на языке 1С без использования платформы 1С:Предприятие.

    И это позволяет нам в конечном итоге брать уже готовые куски кода, написанные в конфигураторе и с минимальной адаптацией переносить их в программу на OneScript.

    И пусть по словам разработчиков это не главная цель проекта, но я вижу интерес именно в том, чтобы из программы на OneScript подключаться к базе 1С через внешнее соединение и выполнять некоторый полезный код.

    Вы спросите - а зачем это вообще надо? Почему бы не написать этот же код в обработке и запускать через 1с стандартным способом?

    Но мы ведь говорим об автоматизации и тут есть фундаментальные проблемы:

    • нет способа гарантированно запустить базу и выполнить в ней код некоторой внешней обработки (кто сталкивался с этим на практике знает, что слишком многое может пойти не так, начиная с того, что до выполнения обработки просто не дойдёт из-за какого-нибудь модального окна)
    • нет простого способа генерировать такую обработку программно, а ведь это может нам понадобиться, если речь идёт о выполнении полезного кода над группой баз
    • нет простого способа логировать выполнение этой обработки

    Все эти проблемы решает OneScript.

    Зачем писать и запускать эти скрипты именно в обновляторе?

    Потому что обновлятор берёт на себя ряд непростых вещей, чтобы упростить написание таких скриптов в части взаимодействия с базами.

    А именно.

    Список баз для обработки

    Прямо в обновляторе мы выбираем для какого количества баз нужно запустить написанный нами скрипт:

    Передача параметров базы

    При выполнении скрипта обновлятор сам передаёт в него необходимые параметры с информацией о текущей базе:

    Все эти параметры мы можем использовать в своём скрипте, делая его универсальным для выполнения над любым количеством выбранных баз.

    Примеры таких скриптов мы можем найти в списке шаблонов обновлятора:

    Предварительная архивация базы

    При необходимости обновлятор обеспечит создание резервной копии перед выполнением скрипта:

    Эта резервная копия будет согласована с общей системой архивации, то есть её также можно подвергать "тюнингу" в дополнительных настройках обновлятора. Такая копия всегда будет иметь метку "перед опасной операцией".

    Блокировка, разблокировка базы

    При необходимости обновлятор выполнит полную блокировку базы перед выполнением вашего скрипта и разблокировку после:

    И это одна из ключевых "фич" обновлятора - ведь, например, корректное выполнение блокировки серверной базы в общем случае является достаточно нетривиальной задачей.

    Нужно "разрулить" текущие подключения пользователей, административные подключения, выполнение фоновых задач. И всё это через общение напрямую с кластером 1с.

    Сохранение отчётов

    Обновлятор сохраняет историю выполнения таких скриптов в менеджере отчётов.

    Как в общем виде:

    Так и в детальном:

    Уведомление на почту

    Если у вас настроены уведомления на почту (все или только при ошибках)...

    То информация о выполнении скриптов (включая детальные отчёты) будет приходить к вам точно также, как и информация о выполнении других операций из обновлятора:

    Запуск скрипта по расписанию

    Облачный мониторинг

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

    Многопоточное выполнение скриптов

    О том как запускать скрипт параллельно для нескольких баз подробно рассказывается .

    Что ещё полезно изучить перед написанием скриптов?

    Ну, конечно же, сам язык 1С. Куда же без него...

    Прежде всего есть вот этот справочник языка 1С с примерами: .

    Также стоит пробежаться по отличиям OneScript от стандартного языка 1С. Их немного (ссылка) .

    Как мне придумывать свои скрипты?

    Для вдохновления вначале советую разобрать и понять скрипты из шаблонов обновлятора. Это уже многое вам даст.

    А если же вам нужна идея для написания скрипта, который будет полезен сотням других пользоватей, то я прошу вас - напишите об этом мне любым удобным для вас . Идей у меня огромное количество, но времени и возможностей не хватает.

    Для этого я завёл специальный проект на github , где собираю полезные скрипты от пользователей обновлятора, чтобы как можно большее количество людей смогло использовать их в своей работе.

    Хотите прислать мне свой скрипт? Прошу вас .

    С уважением, Владимир Милькин (преподаватель и разработчик ).



    Загрузка...