Научная статья на тему 'Расширение возможностей отображения оперативной информации о выполнении процессов в консольном приложении'

Расширение возможностей отображения оперативной информации о выполнении процессов в консольном приложении Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
69
14
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОНСОЛЬ / КОНСОЛЬНОЕ ПРИЛОЖЕНИЕ / ВЫВОД ИНФОРМАЦИИ / ПРОГРЕСС / ЛОГ / ФАЙЛ / CONSOLE / CONSOLE APPLICATION / OUTPUT INFORMATION / PROGRESS / LOG / FILE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Барило Илья Иванович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

INCREASING ABILITIES TO VIEW OPERATIONAL INFORMATION ABOUT EXECUTION OF THE PROCESS IN THE CONSOLE APPLICATION

The article discusses the problem outputting in a log information consisting of a values variables using for outputting on the screen console application; marked differences output information when working in a console application as part of a batch file, and as a separate application that allows to offer the output of intermediate variable values to window caption of the console application; proposed implementation of the output overall progress runtime; was tested the proposed solutions of output operational information.

Текст научной работы на тему «Расширение возможностей отображения оперативной информации о выполнении процессов в консольном приложении»

www.sjbac.info

Технические науки — от теории к практике __________________________№ 12 (48), 2015 г

СЕКЦИЯ 2.

ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ

РАСШИРЕНИЕ ВОЗМОЖНОСТЕЙ ОТОБРАЖЕНИЯ ОПЕРАТИВНОЙ ИНФОРМАЦИИ О ВЫПОЛНЕНИИ ПРОЦЕССОВ В КОНСОЛЬНОМ ПРИЛОЖЕНИИ

Барило Илья Иванович

канд. техн. наук, доцент Костромского государственного технологического университета,

РФ, г. Кострома E-mail: mail@barilo.ru

INCREASING ABILITIES TO VIEW OPERATIONAL INFORMATION ABOUT EXECUTION OF THE PROCESS IN THE CONSOLE APPLICATION

Ilya Barilo

Ph.D, assistant professor of Kostroma State Technological University,

Russia, Kostroma

АННОТАЦИЯ

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

14

ЛГ СибАК

Технические науки — от теории к практике

№12 (48), 2015г.________________________________________www.sibac.info

ABSTRACT

The article discusses the problem outputting in a log information consisting of a values variables using for outputting on the screen console application; marked differences output information when working in a console application as part of a batch file, and as a separate application that allows to offer the output of intermediate variable values to window caption of the console application; proposed implementation of the output overall progress runtime; was tested the proposed solutions of output operational information.

Ключевые слова: консоль; консольное приложение; вывод информации; прогресс; лог; файл.

Keywords: console; console application; output information;

progress; log; file.

В процессе работы консольного приложения [1] часто требуется выводить промежуточные данные, информирующие пользователя о процессе выполнения приложения.

Вывод динамически меняющихся чисел процентов и другой информации требует стирания управляющими символами BACKSPACE [3, с. 3], ранее выведенных чисел процентов для замены их на новые.

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

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

Стандартными потоками вывода информации из консольных приложений, согласно справочной информации в MSDN [4], являются:

1. stdout - вывод;

2. stderr - вывод ошибок.

При запуске консольных приложений информацию из потоков можно направить в файлы [6].

Если вывести информацию в файл, то в него будут сохранены все выведенные на экран символы, включая управляющие символы BACKSPACE.

На рис. 1 представлены фрагменты файла, в который был выведен процесс обновления процентов и вариант обновления представления промежуточной информации этапа верификации.

15

Технические науки — от теории к практике ______________________________№ 12 (48), 2015 г

Проценты:

verifying: ЕОЕНООШЗ o%BDGD[S) 5%(Ш[1)Щ)Ш1 ю%ЕШШЕШЗ 15%(ПШ1]0ШЮ 20%СЗСШШ[аО

О iSlIn'-lf^l 'ЗП9е[Г"11п'1|!>'11<^1 ^ ||?°11и'1 4 П^1г[г}1б«11|Г|)гл1 4 ^^П?1П|л*11л‘’||лг1 ^О”1ll.igifHFI ^ ^ЗеП»1|.'!"|1 ь«Но -1

60%fHSODE] б5%[Ш1Е1ШШйП 70%ШИШ] 75%(ШС1ШВ0 80%ЕШПОХШШ] 85%ЕШСП]00Е11 90%ЕНШЕНШ 95%ШШ100%

Информация:

Verifying: 1(^11°-'|]1?1Га^1^71(п111г!11ПТ11^1[^[Г'Г.11 of Ю of

ю 0DЙШОПШНЕЭЕОШИШШШЗз of ю ШЗ[ШООЕШ[ШШЗОЭШ[Ж1СЗ[134 of ю ПХ1ППГШ1~Ж1

ШШ5 of 10 ЕШС0С1)110(1(ШЩ(Ш][1]б of ю Ш)Щ|1ШУШШ|£|[щ)01]ОШ7 of ю

Щ][|Ш[ЙИШШЗ[Ш[111]Ш]8 of ю ОВШШЙООШШОЗШЗШСЗэ of ю [ШОЗЕЕЗШШООЗШООЙ 10 of 10

Рисунок 1. Фрагменты логов вывода изменяемой в окне приложения

информации

На рис. 1 видно, что сначала на экране выделяется место для вывод меняющихся данных, а затем, перед выводом очередного значения, стирается место занятое ранее выведенным значением.

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

На рисунке представлены фрагменты лога приложения, отображаемые в браузере Mozilla Firefox 42.0. Если использовать другие программы для просмотра лога, то управляющие символы могут быть обозначены иначе или даже скрыты.

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

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

При работе консольного приложения в составе пакетного файла [5], и как отдельного приложения, есть отличие в возможностях вывода информации, что хорошо видно на рис. 2.

СибАК

www.sibaeinfo

16

Технические науки — от теории к практике № 12 (48), 2015 г.______________________

www.sibac.info

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

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

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

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

Решение использования заголовка программы для выводов промежуточной информации позволит выводить общий прогресс исполнения приложения параллельно с отображением процессов этапов в консоли. Пример такого решения представлен на рис. 3.

Рисунок 3. Информация в заголовке программы

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

Разработана тестовая программа, реализующая вывод промежуточных значений в заголовок программы. Фрагмент кода

17

Технические науки — от теории к практике ____________________№ 12 (48), 2015 г

тестовой программы, написанной на языке программирования Microsoft VisualBasic.NET, выводящий промежуточные значения в заголовок программы, представлен ниже:

For iter = 1 To 100000

Console.Title = "Verifying: " & (iter / 1000).ToString & " of 100 %" Next

Для тестирования программы использовался компьютер со следующими важными для тестирования характеристиками:

1. Процессор: Intel i7 860.

2. Видеокарта: Sapphire Radeon HD 5770.

3. Операционная система: Windows 7 Home Premium.

4. Настройки оформления рабочего стола: Aero [2].

Время работы представленного фрагмента программы, выводящего информацию в заголовок окна 100000 раз (от 0,000 % до 100,000 %), составило 2,4 с.

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

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

Список литературы:

1. Консольные приложения Win32 в Visual C++ // // Обучение разработкам

с Microsoft Developer Network — MSDN [Электронный ресурс] - Режим доступа. - URL: https://msdn.microsoft.com/ru-ru/library/hh875011.aspx

(дата обращения: 06.12.2015).

2. Что такое оформление рабочего стола Aero? // Windows и Windows 10 — Microsoft [Электронный ресурс] - Режим доступа. - URL: http://windows.microsoft.com/ru-ru/windows7/what-is-the-aero-desktop-experience (дата обращения: 12.12.2015).

3. C0 Controls and Basic Latin // Unicode Consortium [Электронный ресурс] -Режим доступа. - URL: http://unicode.org/charts/PDF/U0000.pdf (дата обращения: 12.12.2015).

СибАК

www.sibac.info

18

Технические науки — от теории к практике № 12 (48), 2015 г_______________________

www.sibac.info

4. stdin, stdout, stderr // Обучение разработкам с Microsoft Developer Network — MSDN [Электронный ресурс] - Режим доступа. - URL: https://msdn.microsoft.com/ru-ru/library/3x292kth.aspx (дата обращения: 12.12.2015).

5. Using batch files // Microsoft - официальная страница [Электронный

ресурс] - Режим доступа. - URL:

https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/ en-us/batch.mspx?mfr=true (дата обращения: 12.12.2015)

6. Using command redirection operators // Microsoft - официальная страница [Электронный ресурс] - Режим доступа. - URL: https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/ en-us/redirection.mspx?mfr=true (дата обращения: 12.12.2015).

МАТЕМАТИЧЕСКАЯ МОДЕЛЬ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ ДЛЯ ВЫБОРА КАБЕЛЬНЫХ ЛИНИЙ ПРОМЫШЛЕННЫХ ПРЕДПРИЯТИЙ

Гладышева Мария Михайловна

доцент каф. вычислительной техники и программирования института энергетики и автоматизированных систем ФГБОУВПО «МГТУ им. Г.И. Носова», РФ, г. Магнитогорск E-mail: mar.ser.ksuh@gmail.com

Сухачева Евгения Константиновна

студент 2 курса института энергетики и автоматизированных систем ФГБОУ ВПО «МГТУ им. Г.И. Носова»,

РФ, г. Магнитогорск

Хатюшина Татьяна Владимировна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

студент 2 курса института энергетики и автоматизированных систем ФГБОУ ВПО «МГТУ им. Г.И. Носова»,

РФ, г. Магнитогорск

19

i Надоели баннеры? Вы всегда можете отключить рекламу.