Модули для задач\Диск\Заполнить диск пустыми файлами
Функция ПередОткрытием()
Задача = Этот.Владелец.Параметр;
Если (Задача=0) Тогда Возврат 0; Конец;
Параметры = Задача.Определить(0, Объекты.Список, Свойства.Наименование, "Параметры");
Параметры.Колонки.Определить(Свойства.Наименование, 0, 150, 1, 0);
Параметры.Колонки.Определить(Свойства.Значение, 0, 200, 1, 1);
Параметры.Колонки.Определить(Свойства.Описание, 0, 450, 1, 0);
Параметры.'Отключить канву объекта' = 1;
П = Параметры.Определить(0, Объекты.Объект, Свойства.Наименование, "Размер пустого файла");
Если (П.Новый()) Тогда
П.Отмечен = 1;
П.Значение = "10 485 760";
П.Описание = "для прерывания процесса нажмите клавишу Отмена";
Конец;
Задача.Выбранный(Параметры);
Конец
Функция Выполнить()
Задача = Этот.Владелец.Параметр;
Если (Задача=0) Тогда Возврат 0; Конец;
//Если (Вопрос("Заполнить диск пустыми данными?")=0) Тогда Возврат 0; Конец;
Результаты = Задача.Определить(0, Объекты.Список, Свойства.Наименование, "Результат");
Результаты.Колонки.Определить(Свойства.'Момент начала выполнения задачи', 0, 128, 1, 0);
Результаты.Колонки.Определить(Свойства.'Момент окончания выполнения задачи', 0, 128, 1, 0);
Результаты.Колонки.Определить(Свойства.Интервал, 0, 120, 1, 0);
Результаты.Колонки.Определить(Свойства.Состояние, 0, 135, 1, 0);
Результаты.'Отключить канву объекта' = 1;
Результаты.'Отключить отметку' = 1;
Результат = Результаты.Определить(0, Объекты.Объект, Свойства.'Момент начала выполнения задачи', Моменты.Текущий);
Результат.Состояние = "Идет создание пустых файлов";
Задача.Выбранный(Результаты);
// запускаем задачу в активные
Задача.Интервал = 3;
Задача.Отмечен = 1;
Задача.'Текст ожидания' = "Задача выполняется";
Возврат 1;
Конец
Функция Таймер()
Задача = Этот.Владелец.Параметр;
Если (Задача=0) Тогда Возврат 0; Конец;
Параметры = Задача.Определить(0, Объекты.Список, Свойства.Наименование, "Параметры");
РазмерФайла = Параметры.Определить(0, Объекты.Объект, Свойства.Наименование, "Размер пустого файла");
Результаты = Задача.Определить(0, Объекты.Список, Свойства.Наименование, "Результат");
Результат = Результаты.Определить(0, Объекты.Объект, Свойства.Интервал, 0);
ПрефиксКФайлу = Задача.Владелец.Путь + Символы.ОС + Моменты.Строка(Моменты.Текущий,"гггг-ММ-дд-чч-мм-сс");
Состояние = "";
Если (Клавиши.Последняя()=Клавиши.Отмена) Тогда
Состояние = "Процесс прерван";
Иначе
ПутьКФайлу = ПрефиксКФайлу + ".emp";
к = 0;
Пока (к<3) Цикл
к = к + 1;
рез = 0;
Если (к=1) Тогда
рез = Файлы.Создать(ПутьКФайлу,РазмерФайла.Значение);
Сообщить("Создан пустой файл",ПутьКФайлу);
Иначе
ПутьКФайлу2 = ПрефиксКФайлу + "-" + к + ".emp";
рез = Файлы.Копировать(ПутьКФайлу,ПутьКФайлу2);
Сообщить("Создан пустой файл",ПутьКФайлу2);
Конец;
Если (рез<>1) Тогда // некуда писать
Состояние = "Выполнено";
Прервать;
Конец;
Конец;
Конец;
Если (Состояние<>"") Тогда
Результат.'Момент окончания выполнения задачи' = Моменты.Текущий;
Т1 = Результат.'Момент окончания выполнения задачи';
Т2 = Результат.'Момент начала выполнения задачи';
Результат.Интервал = Т1 - Т2;
Результат.Состояние = Состояние;
Задача.Интервал = 0;
Задача.Отмечен = 0;
Задача.'Текст ожидания' = "";
Результаты.Обновить();
Конец;
Возврат 1;
Конец