Navigation





Здесь представлены готовые скрипты, которые идут с установкой программы.
Скрипты написаны на языке Defy. В самой программе есть помощник по языку.
В программе можно настроить запуск скриптов с определенным интервалом.
Можно добавлять свои скрипты.
Для удобства в пакет установки можно добавить и ваши скрипты, пишите на почту.


Синхронизация времени

// Устанавливает время на компьютере, если оно не совпадает с временем на сайте
Сайт      = Этот.Определить(0, Объекты.Вебстраница, Свойства.Адрес, "http://moolex.ru/time.php");
Результат = Сайт.Обновить();
Если (Результат<=0) Тогда
    Сообщить(Этот.Наименование, "Нет соединения");
    Возврат 0;
Конец;
Поз = Строки.Найти(Сайт.Текст, "DT=");
Если (Поз=0) Тогда
    Сообщить(Этот.Наименование, "Строка с точным временем не найдена");
    Возврат 0;
Конец;
Стр = Строки.Подстрока(Сайт.Текст, 4, 19);
Если (Строки.Длина(Стр)<>19) Тогда
    Сообщить(Этот.Наименование, "Строка с точным временем меньше 19 символов");
    Возврат 0;
Конец;
ТекМомент = Моменты.Момент(Стр);
Если (ТекМомент=0) Тогда
    Сообщить(Этот.Наименование, "Ошибка при преобразовании времени из строки");
    Возврат 0;
Конец;
ТекМомент = ТекМомент + 1;
Если (Числа.Модуль(ТекМомент-Моменты.Текущий)>1) Тогда
    Сообщить("Меняем время на компьютере "+Моменты.Текущий+" -> "+ТекМомент);
    Моменты.Текущий = ТекМомент;
Конец;


Очистка временных директорий

// Удаляет временные файлы и папки с компьютера
А = Компьютеры.Директории("%TEMP%");
К = Файлы.Очистить(А);
Сообщить("Удалено файлов и папок из "+А, К);
А = Компьютеры.Директории("%WINDIR%");
А = А + "\Temp";
К = Файлы.Очистить(А);
Сообщить("Удалено файлов и папок из "+А, К);


Пример работы с файлами

// Вытаскивает все файлы в подкаталогах на уровень вверх
// Есть каталог с подкаталогами
// надо вытащить все файлы в подкаталогах на уровень вверх
// и добавить к имени файла имя подкаталога.
// подкаталоги удалить.
Сообщения.Очистить();
Корень = "D:\Пример";
Папки  = Файлы.Имена(Корень, "", 1);
Сообщить("Было подкаталогов", Папки.Количество());
Для Папка Из Папки Цикл
    Сообщить("Обработка подкаталога", Папка);
    СФ = Файлы.Имена(Корень+Символы.ОС+Папка);
    Для Ф Из СФ Цикл
        Файлы.Копировать(Корень+Символы.ОС+Папка+Символы.ОС+Ф, Корень+Символы.ОС+Папка+"-"+Ф);
    Конец;
    Файлы.Удалить(Корень+Символы.ОС+Папка);
Конец;


Перезапуск модемов 3G

// Скрипт по перезапуску модемов
// пытаемся загрузить страницу из интернет, если не получается,
// то перезапускаем приложение для модема
Если (Окна.Активно()=1)           Тогда Возврат; Конец; // если форма программы активна, то ничего не делаем
Если (Файлы.Есть("http://ya.ru")) Тогда Возврат; Конец;
перезапустили  = 0;
ПапкаПрограммы = Компьютеры.Директории("%ProgramFiles%");

Список = Окна.Определить("МегаФон | Модем", "QWidget"); // если модем от мегафона
Если (Список.Количество()>0) Тогда
    Объект = Список.Получить(0);
    Окна.Закрыть(Объект);
    Подождать(3);
    Если (Окна.Класс()="QWidget") Тогда
        Нажать(Клавиши.Ввод);
    Конец;
    Подождать(20);
    Запустить(ПапкаПрограммы+"\MegaFon Modem\MegaFon Modem.exe");
    перезапустили = 1;
Конец;

Список = Окна.Определить("USB-модем «Билайн»", "QWidget"); // если модем от билайн
Если (Список.Количество()>0) Тогда
    Объект = Список.Получить(0);
    Окна.Активизировать(Объект);
    Окна.Закрыть(Объект);
    Подождать(3);
    Если (Окна.Класс()="QWidget") Тогда
        Нажать(Клавиши.Ввод);
    Конец;
    Подождать(10);
    Запустить(ПапкаПрограммы+"\USB-модем Билайн\Huawei\USB-modem Beeline.exe");
    Подождать(20);
    Список = Окна.Определить("USB-модем «Билайн»", "QWidget"); // еще раз определим положение окна
    Если (Список.Количество()>0) Тогда
        Объект = Список.Получить(0);
        Окна.Активизировать(Объект);
        Нажать(Клавиши.Левая, 1, Объект.Лево+525, Объект.Верх+345);
    Конец;
    перезапустили = 1;
Конец;

Список = Окна.Определить("Коннект", "TApplication"); // если модем от мтс
Если (Список.Количество()>0) Тогда
    Объект = Список.Получить(0);
    Окна.Активизировать(Объект);
    Окна.Закрыть(Объект);
    Подождать(3);
    Если (Окна.Класс()="TApplication") Тогда
        Нажать(Клавиши.Влево);
        Нажать(Клавиши.Ввод);
    Конец;
    Подождать(20);
    Запустить(ПапкаПрограммы+"\ConnectManager\UIMain.exe");
    перезапустили = 1;
Конец;

Если (перезапустили=1) Тогда
    // добавим в статистику момент перезапуска
    Настройка          = Главный.Определить(0,                  Объекты.Дерево, Свойства.Наименование, "Настройка");
    ГруппаСтатистики   = Настройка.Определить(0,                Объекты.Группа, Свойства.Наименование, "Статистика");
    СписокПерезапусков = Настройка.Определить(ГруппаСтатистики, Объекты.Список, Свойства.Наименование, "Перезапуски модема");
    СписокПерезапусков.Колонки.Определить("Момент", Типы.Момент, 120, 1, 0);
    Объект = СписокПерезапусков.Определить(0, Объекты.Объект, Свойства.Момент, Моменты.Текущий);
Конец;


Перезапуск Ammyy

// При отключении интернета программа Ammyy выдает окно с ошибкой и не подключается заново сама
// Закроем окно с ошибкой и подключим программу заново
Если (Окна.Есть("Ammyy", "#")) Тогда
    Окна.Активизировать("Ammyy", "#");
    Нажать(Клавиши.Ввод);
    Подождать(2);
    Нажать(Клавиши.Ввод);
Конец;
Если (Окна.Есть("Proxy Setting", "#")) Тогда
    Окна.Активизировать("Proxy Setting", "#");
    Нажать(Клавиши.Ввод);
Конец;


Перезапуск компьютера

// Скрипт по перезапуску компьтера
// пытаемся загрузить страницу из интернет, если не получается, то перезапускаем компьютер
Если (Окна.Активно()=1)           Тогда Возврат; Конец; // если форма программы активна, то ничего не делаем
Если (Файлы.Есть("http://ya.ru")) Тогда Возврат; Конец;

// добавим в статистику момент перезапуска
Настройка          = Главный.Определить(0,                  Объекты.Дерево, Свойства.Наименование, "Настройка");
ГруппаСтатистики   = Настройка.Определить(0,                Объекты.Группа, Свойства.Наименование, "Статистика");
СписокПерезапусков = Настройка.Определить(ГруппаСтатистики, Объекты.Список, Свойства.Наименование, "Перезапуски компьютера");
СписокПерезапусков.Колонки.Определить("Момент", Типы.Момент, 120, 1, 0);
Объект = СписокПерезапусков.Определить(0, Объекты.Объект, Свойства.Момент, Моменты.Текущий);

// перезапускаем компьютер
Компьютеры.Выключить(1);


Автовыключение компьютера

// Автоматическое выключение компьютера через 23 часа после запуска программы
// Для выполнения скрипта установите интервал автовыполнения скрипта 5 минут и активируйте скрипт
дельта = Числа.Число(Моменты.Текущий-Главный.'Момент запуска');
Если (дельта>23* 60* 60) Тогда
    Компьютеры.Выключить(0); // выключить компьютер
Конец;


Автовыключение компьютера вечером

// Автоматическое выключение компьютера вечером
// Для выполнения скрипта установите интервал автовыполнения скрипта 5 минут и активируйте скрипт
Если (Моменты.Час(Моменты.Текущий)=23) Тогда
    Компьютеры.Выключить(0); // выключить компьютер
Конец;