Пример «Модуль ЭтаПрограмма»
Файлы:
- Модуль ЭтаПрограмма.пфл
Пример программы на языке программирования Перфолента.Net:
//Этот пример написан на языке программирования Перфолента.Net
//Пример демонстрирует использование модуля ЭтаПрограмма стандартной библиотеки Перфоленты.
#ТипСборки КонсольноеПриложение
#ИспользоватьСтандартнуюБиблиотеку
ИмпортИмён Промкод.Перфолента.Консоль
//******************************
Программа ТестМодуляЭтаПрограмма
//--------------------------
Процедура Старт
// Возвращает текущий процесс в котором выполняется программа.
Перем ТекПроц тип Процесс = ЭтаПрограмма.ТекущийПроцесс
// Возвращает текущий программный поток из которого вызвано получение этого свойства.
Перем ТекПоток тип ПрограммныйПоток = ЭтаПрограмма.ТекущийПрограммныйПоток
// Событие, которое случается, когда процесс программы завершается.
// В NetFramework на обработку этого события у вас есть не более 2-х секунд.
// В Net Core время обработки не ограничено.
// Вы можете в обработчике этого события закрыть файлы, разорвать соединения, освободить ресурсы, записать лог и т.д.
// Т.к. это событие общее для класса, не забудьте удалить все связанные с ним обработчики до завершения приложения, во избежание утечки памяти.
// Внимание! В случае аварийного завершения программы обработчик этого события не вызывается!
//Public Shared Custom Event ПриЗавершении As ОбработчикСобытия
// Событие, которое случается, когда в процессе выполнения программы происходит исключение вне оператора Попытка,
// из-за чего программа будет аварийно завершена сразу после выполнения обработчика этого события.
// Свойство СвязанныеДанные в параметрах события возвращает объект типа Ошибка, который представляет не перехваченную ошибку.
// Т.к. это событие общее для класса, не забудьте удалить все связанные с ним обработчики до завершения приложения, во избежание утечки памяти.
//Public Shared Custom Event ПриАварийномЗавершении As ОбработчикСобытия
// Приостанавливает процесс выполнения текущей программы на указанное число миллисекунд.
ЭтаПрограмма.Пауза(500)
// Проверяет, запущена ли программа с правами администратора, и если нет,
// то перезапускает её, позволяя пользователю ввести пароль администратора.
// Этот метод желательно вызывать в начале программы, до того,
// как программа начнет взаимодействовать с пользователем.
// В том случае, если пользователь в диалоге UAC откажется от запуска программы, будет вызвано исключение.
// Внимание: Этот метод можно использовать только в программах запускаемых в виде EXE файла.
// При запуске скрипта с расширением .пфлс из редактора кода этот метод не сработает.
// -------- раскомментируйте, если хотите проверить -----------
//ЭтаПрограмма.ПерезапуститьСПравамиАдминистратора()
// Позволяет немедленно завершить работу программы и передать внешнему процессу код выхода. Код выхода позволяет сообщить вызвавшей программе успешно ли отработала программа или случилась какая-то ошибка, номер которой возвращается.
// Этим методом рекомендуется завершать только консольные приложения. Оконные приложения лучше закрывать методом ЗакрытьГлавноеОкно.
// При вызове этого метода будут так же закрыты все дочерние процессы, которые были запущены программой.
// -------- раскомментируйте, если хотите проверить -----------
//ЭтаПрограмма.Завершить(0)
// В оконных приложениях позволяет закрыть главное окно программы, после чего программа скорее всего будет завершена.
// Метод посылает главному окну сообщение о необходимости завершения.
// При получении сообщения в главном окне отработают все обработчики событий, имеющие отношение к завершению работы.
// При выполнении обработчиков событий возможно будет отказано в закрытии приложения.
// В классах ОбычноеПриложение и Планшет имеются собственные методы для завершения приложения,
// которые являются предпочтительными в случае использования в приложении этих классов.
// -------- раскомментируйте, если хотите проверить -----------
О = ЭтаПрограмма.ЗакрытьГлавноеОкно() As Boolean
// Позволяет получить один из аргументов командной строки по указанному индексу.
О = ЭтаПрограмма.ПолучитьАргументКоманднойСтроки(ByVal Индекс As Integer) As String
// Позволяет получить один из аргументов командной строки по имени ключа. Именем ключа считаются первые символы аргумента командной строки.
// </summary>
О = ЭтаПрограмма.ПолучитьАргументКоманднойСтроки(ByVal Ключ As String) As String
// Позволяет получить массив аргументов командной строки.
О = ЭтаПрограмма.АргументыКоманднойСтроки() As String()
// Возвращает количество аргументов командной строки переданной приложению при запуске. Только чтение.
О = ЭтаПрограмма.КоличествоАргументовКоманднойСтроки As Integer
// Возвращает каталог из которого запущена программа. Только чтение.
О = ЭтаПрограмма.Каталог As Каталог
// Возвращает полное имя файла программы или полное имя с другим расширением, если оно задано.
О = ЭтаПрограмма.ПолноеИмя(Optional НовоеРасширение As String = Nothing) As String
// Возвращает каталог данных программы в перемещаемом профиле пользователя. Если каталог не существует, то будет сделана попытка создать его. Если найти или создать каталог не удалось, то возвращается Неопределено. Только чтение.
О = ЭтаПрограмма.КаталогДанныхПеремещаемогоПрофиля As Каталог
// Возвращает каталог данных программы в локальном профиле пользователя. Если каталог не существует, то будет сделана попытка создать его. Если найти или создать каталог не удалось, то возвращается Неопределено. Только чтение.
О = ЭтаПрограмма.КаталогДанныхЛокальногоПрофиля As Каталог
// Позволяет получить или установить код локализации программы.
О = ЭтаПрограмма.КодЛокализации As String
// Позволяет получить или установить код локализации ресурсов программы.
О = ЭтаПрограмма.КодЛокализацииРесурсов As String
// Позволяет получить значение переменной среды (окружения) по заданному имени.
О = ЭтаПрограмма.ПолучитьПеременнуюСреды(ByVal Имя As String) As String
// Позволяет установить значение переменной среды (окружения) по заданному имени.
ЭтаПрограмма.УстановитьПеременнуюСреды(ByVal Имя As String, ByVal Значение As String)
// Возвращает соответствие в котором находятся пары Имя/Значение для всех переменных среды.
О = ЭтаПрограмма.ПеременныеСреды() As Соответствие(Of String, String)
// Возвращает массив загруженных в домен приложения сборок.
О = ЭтаПрограмма.ЗагруженныеСборки() As Assembly()
// Возвращает имя сборки программы. Только чтение.
О = ЭтаПрограмма.ИмяСборки As String
// Возвращает разрядность программы. Обычно это 32 или 64 бита.
О = ЭтаПрограмма.Разрядность() As Integer
// Возвращает строгое имя сборки. Строгое имя сборки содержит имя сборки, версию, культуру и публичный ключ подписи. Только чтение.
О = ЭтаПрограмма.СтрогоеИмяСборки As String
// Возвращает версию программы. Только чтение.
О = ЭтаПрограмма.Версия As String
// Возвращает используемую версию библиотеки Перфоленты. Только чтение.
О = ЭтаПрограмма.ВерсияБиблиотеки As String
// Определяет запущен ли в данный момент другой экземпляр программы. Это свойство имеет смысл проверить один раз в начале программы, если вам необходимо, что бы пользователь не мог использовать несколько экземпляров программы одновременно. Только чтение.
О = ЭтаПрограмма.УжеЗапущена //As Boolean
// Получить текстовое представление стека вызовов программы.
О = ЭтаПрограмма.ПолучитьСтекВызововСтр(Optional ТекущаяОшибка As Exception = Nothing) As String
// Получить массив элементов стека вызовов программы.
// Класс ЭлементСтекаВызовов предоставляет информацию об элементе стека вызовов.
О = ЭтаПрограмма.ПолучитьСтекВызовов(Optional ТекущаяОшибка As Exception = Nothing) As ЭлементСтекаВызовов()
КонецПроцедуры
КонецПрограммы
К началу статьи
Вернуться в раздел:
Примеры по стандартной библиотеке
Перейти в раздел:
Примеры