Консольное приложение
Текстовый интерфейс пользователя (англ. Text user interface, TUI ; также Character User Interface, CUI ) — система средств взаимодействия пользователя с компьютером, основанная на использовании текстового (буквенно-цифрового) режима дисплея или аналогичных устройств — например, командная строка. Приложения, использующие текстовый интерфейс, называют консольными программами.
Особенности текстового интерфейса
На программном уровне для ввода и вывода информации консольные программы используют стандартные устройства ввода-вывода (stdin, stdout, stderr), хотя могут открывать и другие файлы, сетевые соединения и совершать иные действия, доступные в выполняющей их среде. Вывод печатных символов в stdout и stderr приводит к появлению этих символов на устройстве вывода, то есть к их получению пользователем.
В простейшем случае консольная программа использует интерфейс командной строки, однако многие из таких программ с помощью управляющих последовательностей терминалов создают более дружественный интерфейс, приближающийся к графическому (см.: меню (информатика)).
Некоторые консольные программы пригодны лишь для определённой реализации текстового интерфейса, например, текстовые программы операционных систем, особенно библиотека
Реализация текстового интерфейса
В принципе, консольная программа не обязана заботиться о реализации самого взаимодействия с пользователем, ограничиваясь вводом-выводом на стандартные устройства, использованием библиотек типа программных интерфейсов. Собственно взаимодействие с пользователем обычно осуществляет операционная система или иное программное обеспечение.
Классической реализацией текстового интерфейса, восходящей к первой половине XX века, является алфавитно-цифровое устройство ввода-вывода, например, комплект из клавиатуры и АЦПУ (телетайпа). Впоследствии вместо АЦПУ стали применять мониторы, снабжённые знакогенератором, что позволило быстро и удобно организовывать диалог с пользователем. Подобными устройствами снабжён или может быть снабжён почти каждый современный компьютер. Такие комплекты из монитора и клавиатуры (иногда с добавлением мыши) называются консолью компьютера.
В соответствии с традицией использования консольными программами клавиатуры и АЦПУ для ввода и вывода соответственно взаимодействие таких программ с пользователем свелось к чтению из stdin и выводу на stdout. Таким образом, появилась возможность перенаправлять потоки ввода-вывода, осуществляя взаимодействие с пользователем посредством иных устройств, в том числе подключенных через сеть, а также при помощи специальных программ-эмуляторов терминала, например, рисующих окно с текстом в графическом интерфейсе пользователя (текстовое окно).
В 1970-х годы и позднее выпускались даже специальные устройства, реализующие текстовый интерфейс — текстовые терминалы, подключаемые через последовательный порт к компьютеру напрямую или через модем. С распространением персональных компьютеров функции текстового терминала, как правило, выполняет компьютер, тот, на котором выполняется консольная программа, или другой. Программы ssh (а также Интернет или локальную сеть. Программы konsole и многие другие реализуют текстовый интерфейс посредством текстового окна в среде X Window System.
Альтернативный подход к консольному выводу был использован в персональных компьютерах, в частности (хотя не только), IBM PC под управлением памяти, связанной со знакогенератором монитора, приводя к немедленному изменению видимых на мониторе данных. Такие программы могут также работать в среде Microsoft Windows. Более того, Windows имеет поддержку текстовых окон, во многом превосходящую имевшуюся в DOS, в том числе и для приложений собственно Windows.
Примеры консольных программ
- Любая программа, осуществляющая получение данных от пользователя путём чтения stdin и отправку данных пользователю путём записи в stdout, по определению является консольной программой. Однако, такие программы могут обходиться и безо всякого пользователя, например обрабатывая данные из файлов.
- Текстовые программы для видеопамять Microsoft Windows.
- Unix shell, а также все утилиты, предназначенные для работы в этой среде.
- Midnight Commander (UNIX), FAR Manager (Windows).
- pppstatus, top, htop (UNIX).
См. также
Wikimedia Foundation . 2010 .
Консольное приложение
Консольное приложение или консольная программа — это разработанное программного обеспечения, которое не имеет окон. Выполняется консольное приложение из командой строки операционной системы Windows. Консольные приложения не так популярны и обычно используются при разработке программного обеспечения системного назначения. Их главный плюс — это очень маленький размер файлов.
- Информационный контроль
- Корпоративная информационная система
- Оконный интерфейс
- Открыть свой бизнес
- Отчетность организации
- Планирование деятельности
- Программа управления
- Программная автоматизация
- Проектирование систем автоматизации
- Реляционная база данных
- Терминал сбора данных
- Торговое оборудование для магазина
Наши контакты
Стать представителем
Канал для руководителей
Поиск
Чтобы найти нужную программу, воспользуйтесь поиском:
Виды программ
Прежде чем создавать свои компьютерные программы, вы должны знать, какие они бывают и для чего предназначены. Видов программ не так много. Различия между программами можно назвать условными, так как по сути любая программа — это двоичный файл. Но мы так глубоко копать пока не будем, и поговорим о том, чем отличаются программы друг от друга с точки зрения пользователя.
Мы уже знаем, какие программы можно создавать в Lazarus. Но сегодня мы будем классифицировать программы с несколько иной точки зрения. Ниже перечислены основные виды программ с краткими описаниями.
Консольные приложения
Консольное приложение — это программа, которая работает с командной строкой. То есть это обычное окно, где пользователь может ввести какую-то команду и получить результат. Здесь нет никаких кнопочек и прочих прелестей Windows.
Пример консольного приложения — это командный интерпретатор, который есть в любой операционной системе. В Windows 95/98/ME — это программа command.com (впрочем, он есть и в более поздних версиях Windows). В Windows 2000 и выше — это программа cmd.exe.
Примеры работы с командной строкой см. в статье Кое что о ДОС.
Оконные приложения
Оконное приложение — это привычная всем программа Windows. То есть это окошко с разными кнопочками и полями для ввода-вывода данных. На сегодняшний день это, пожалуй, самый распространённый вид программ. Именно оконные приложения создают большинство программистов.
Драйверы
Драйвер — это программа, которая обычно служит для “стыковки” компьютерного железа (например, видеокарты) с операционной системой или другой программой. Иногда драйвером называют программу, которая “стыкует” две других программы между собой. Хотя сейчас такие программы принято называть интерфейсами (например, COM-интерфейс или DDE-интерфейс).
Когда я говорю “стыкует”, то я имею ввиду, что драйвер позволяет организовать правильный обмен данными между компьютерным железом и ОС. То есть операционная система обращается не напрямую к железу, а через драйвер.
Зачем так сделано? Дело в том, что производителей, например, видеокарт, существует огромное количество. И все они делают их по своим внутренним стандартам. И операционная система не может знать всё обо всех видеокартах. Поэтому есть определённые общепринятые стандарты, которые поддерживаются операционной системой. И производитель “железа” делает какую угодно “железяку”, а затем просто пишет программу-драйвер, которая соответствует общепринятым стандартам и “стыкует” эту “железяку” с операционной системой.
Это позволяет извращённым умам делать разные смешные штуки. Например, можно написать “кривой” драйвер, который будет определять USB-мышку как флэшку. Конечно, работать такая “флэшка” не будет, но зато будет прикольно)))
Интерфейсы
Интерфейс — это программа, которая обычно служит для “стыковки” одной программы с другой. Например, вы хотите получить данные из чужой программы. Как это сделать? Если чужая программа поддерживает какой-нибудь стандартный интерфейс (например, DDE), то вы можете использовать этот интерфейс для получения данных из чужой программы.
Библиотеки
Библиотека — это двоичный файл, который хранит разные методы и объекты. Пока это вам ни о чём не говорит. Но просто знайте, что свои процедуры вы можете сохранить в библиотеку, а затем использовать её в других своих программах. Также вы можете использовать в своих программах чужие библиотеки и наоборот — распространять свои библиотеки, чтобы другие программисты могли их использовать в своих программах.
Удобство использования библиотек заключается в том, что они не привязаны к языку программирования. Например, вы можете написать библиотеку на языке С++, а использовать её потом в программах, которые пишите на Паскале.
Резидентные программы
Резидентная программа — это программа, которая работает в фоновом режиме (то есть не видна пользователю и пользователь может о ней даже не подозревать). В фоновом режиме работают, например, антивирусы (и вирусы тоже))).
Системные программы
В общем-то это обычные программы, которые могут быть как консольными, так и оконными приложениями. Сюда же я бы отнёс резидентные программы, библиотеки и драйверы. Пожалуй, это будет не совсем правильно. Однако эта статья для начинающих. Поэтому я не хочу перегружать читателей информацией, которую они пока плохо понимают. Давайте пока будем думать, что это куча разных вспомогательных программ, которые необходимы для нормальной работы системы и оборудования.
Пока на этом всё. Домашнего задания не будет. Просто подумайте о том, как огромен мир программирования, и сколько всего вам надо будет ещё изучить)))
Консольные приложения
К сожалению, в винде такая консоль, что лучше бы мои глаза ее не видели. Я пока не начал писать под линукс, тоже не понимал ценности консольных приложений. В никсах консоль на порядок удобнее и красивее, и писать под нее намного легче, чем под виндовскую.
12 ноя 2011 в 10:37
С позиции CLI разницы в консолях ( System.Console ) под различные ОС нет. Не подскажете, в чём же всё-таки состоят различия?
12 ноя 2011 в 11:21
Во-первых, внешний вид винконсоли вызывает во мне тоску. Линуксовые терминалы (gnome-terminal, konsole и т.д.) на порядок симпатичнее. И шрифт там нормальный, длина строки нефиксированная, и куча других удобств. Про набор команд я не говорю. Вроде бы PowerShell это решил. Я не очень знаком с C#, не знаю как там управляется терминал, т.е. как изменить цвет шрифта, фона и т.д. В винде на низком уровне это делается с помощью API функций, в никсах -при помощи управляющих последовательностей, что на порядок проще и приятней. В винде вроде в консоли большие проблемы с русской кодировкой.
12 ноя 2011 в 15:37
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Есть разные виды приложений и их классификаций. Одна из них: приложения бывают трансформирующие, интерактивные и реактивные (реального времени). Так вот, первые из них, трансформирующие, характеризуются тем, что берут данные на входе (упрощённо — входной файл), работают какое-то время, обязательно конечное, и выдают результаты (упрощённо — в выходной файл). Таких задач очень много и участие человека там в процессе минимально. (Частный случай — это подзадачи какого-то интерактивного приложения). Вот для них и нужны консольные приложения. Ну и плюс интерактивные задачи, где диалог — не графический, а текстовый. Где-то так. Ну и задачи реального времени редко бывают с графическим интерфейсом. Плюс всякие сервера (http, ftp и т.д.)
Отслеживать
ответ дан 12 ноя 2011 в 6:19
7,293 15 15 серебряных знаков 14 14 бронзовых знаков
ага понятно, спасибо.
12 ноя 2011 в 6:41
На самом деле, большинство приложений являются именно консольными или вообще не имеют пользовательского интерфейса. Сюда относятся различные серверные приложения, службы, трансформирующие приложения, упомянутые выше и т.д. и т.п.
Дело в том, что консоль — это всего лишь форма пользовательского интерфейса. И реализовать такой интерфейс обычно проще, чем графический. Основная логика программы не зависит от интерфейса, поэтому обучение эффективнее строить на консольных программах. Кроме того, консольные приложения проще тестировать и отлаживать.
Наконец, консольный интерфейс, часто оказывается удобнее и эффективнее графического. Просто современные пользователи не привыкли пользоваться консолью и не знают возможностей современных консолей. Почитайте книгу Джефа Раскина про интерфейсы. Там много про это говорится.