- Виды программ
- Консольные приложения
- Оконные приложения
- Драйверы
- Интерфейсы
- Библиотеки
- Резидентные программы
- Системные программы
- Создание консольного приложения для универсальной платформы Windows Create a Universal Windows Platform console app
- Используйте шаблон консольного приложения UWP Use a UWP Console app template
- Консольные приложения windows web
- Консоль Windows: секреты выживания
Виды программ
| Основы программирования Каждый профессионал когда-то был чайником. Наверняка вам знакомо состояние, когда “не знаешь как начать думать, чтобы до такого додуматься”. Наверняка вы сталкивались с ситуацией, когда вы просто не знаете, с чего начать. Эта книга ориентирована как раз на таких людей, кто хотел бы стать программистом, но совершенно не знает, как начать этот путь. Подробнее. |
Прежде чем создавать свои компьютерные программы, вы должны знать, какие они бывают и для чего предназначены. Видов программ не так много. Различия между программами можно назвать условными, так как по сути любая программа — это двоичный файл. Но мы так глубоко копать пока не будем, и поговорим о том, чем отличаются программы друг от друга с точки зрения пользователя.
Мы уже знаем, какие программы можно создавать в Lazarus. Но сегодня мы будем классифицировать программы с несколько иной точки зрения. Ниже перечислены основные виды программ с краткими описаниями.
Консольные приложения
Консольное приложение — это программа, которая работает с командной строкой. То есть это обычное окно, где пользователь может ввести какую-то команду и получить результат. Здесь нет никаких кнопочек и прочих прелестей Windows.
Пример консольного приложения — это командный интерпретатор, который есть в любой операционной системе. В Windows 95/98/ME — это программа command.com (впрочем, он есть и в более поздних версиях Windows). В Windows 2000 и выше — это программа cmd.exe.
Примеры работы с командной строкой см. в статье Кое что о ДОС.
Оконные приложения
Оконное приложение — это привычная всем программа Windows. То есть это окошко с разными кнопочками и полями для ввода-вывода данных. На сегодняшний день это, пожалуй, самый распространённый вид программ. Именно оконные приложения создают большинство программистов.
Драйверы
Драйвер — это программа, которая обычно служит для “стыковки” компьютерного железа (например, видеокарты) с операционной системой или другой программой. Иногда драйвером называют программу, которая “стыкует” две других программы между собой. Хотя сейчас такие программы принято называть интерфейсами (например, COM-интерфейс или DDE-интерфейс).
Когда я говорю “стыкует”, то я имею ввиду, что драйвер позволяет организовать правильный обмен данными между компьютерным железом и ОС. То есть операционная система обращается не напрямую к железу, а через драйвер.
Зачем так сделано? Дело в том, что производителей, например, видеокарт, существует огромное количество. И все они делают их по своим внутренним стандартам. И операционная система не может знать всё обо всех видеокартах. Поэтому есть определённые общепринятые стандарты, которые поддерживаются операционной системой. И производитель “железа” делает какую угодно “железяку”, а затем просто пишет программу-драйвер, которая соответствует общепринятым стандартам и “стыкует” эту “железяку” с операционной системой.
Это позволяет извращённым умам делать разные смешные штуки. Например, можно написать “кривой” драйвер, который будет определять USB-мышку как флэшку. Конечно, работать такая “флэшка” не будет, но зато будет прикольно)))
Интерфейсы
Интерфейс — это программа, которая обычно служит для “стыковки” одной программы с другой. Например, вы хотите получить данные из чужой программы. Как это сделать? Если чужая программа поддерживает какой-нибудь стандартный интерфейс (например, DDE), то вы можете использовать этот интерфейс для получения данных из чужой программы.
Библиотеки
Библиотека — это двоичный файл, который хранит разные методы и объекты. Пока это вам ни о чём не говорит. Но просто знайте, что свои процедуры вы можете сохранить в библиотеку, а затем использовать её в других своих программах. Также вы можете использовать в своих программах чужие библиотеки и наоборот — распространять свои библиотеки, чтобы другие программисты могли их использовать в своих программах.
Удобство использования библиотек заключается в том, что они не привязаны к языку программирования. Например, вы можете написать библиотеку на языке С++, а использовать её потом в программах, которые пишите на Паскале.
Резидентные программы
Резидентная программа — это программа, которая работает в фоновом режиме (то есть не видна пользователю и пользователь может о ней даже не подозревать). В фоновом режиме работают, например, антивирусы (и вирусы тоже))).
Системные программы
В общем-то это обычные программы, которые могут быть как консольными, так и оконными приложениями. Сюда же я бы отнёс резидентные программы, библиотеки и драйверы. Пожалуй, это будет не совсем правильно. Однако эта статья для начинающих. Поэтому я не хочу перегружать читателей информацией, которую они пока плохо понимают. Давайте пока будем думать, что это куча разных вспомогательных программ, которые необходимы для нормальной работы системы и оборудования.
Пока на этом всё. Домашнего задания не будет. Просто подумайте о том, как огромен мир программирования, и сколько всего вам надо будет ещё изучить)))
Создание консольного приложения для универсальной платформы Windows Create a Universal Windows Platform console app
В этом разделе описывается создание консольного приложения c++/WinRT или c++/CX универсальная платформа Windows (UWP). This topic describes how to create a C++/WinRT or C++/CX Universal Windows Platform (UWP) console app.
Начиная с Windows 10 версии 1803 можно писать консольные приложения UWP C++/WinRT или C++/CX, которые работают в окне консоли, например в окне консоли DOS или PowerShell. Starting with Windows 10, version 1803, you can write C++/WinRT or C++/CX UWP console apps that run in a console window, such as a DOS or PowerShell console window. Консольные приложения используют окно консоли для ввода и вывода и могут использовать универсальные функции среды выполнения C , такие как printf и GetChars. Console apps use the console window for input and output, and can use Universal C Runtime functions such as printf and getchar. Консольные приложения UWP могут публиковаться в Microsoft Store. UWP console apps can be published to the Microsoft Store. Им выделяется запись в списке приложений и основная плитка, которую можно закрепить в меню «Пуск». They have an entry in the app list, and a primary tile that can be pinned to the Start menu. Консольные приложения UWP можно запустить из меню «Пуск», хотя обычно они запускаются из командной строки. UWP console apps can be launched from the Start menu, though you will typically launch them from the command-line.
Чтобы увидеть это в действии, ознакомьтесь с видео о создании консольного приложения UWP. To see one in action, here’s a video about Creating a UWP Console App.
Используйте шаблон консольного приложения UWP Use a UWP Console app template
Чтобы создать консольное приложение UWP, сначала установите Шаблоны проектов консольного приложения (универсального), доступные в Visual Studio Marketplace. To create a UWP console app, first install the Console App (Universal) Project Templates, available from the Visual Studio Marketplace. Установленные шаблоны затем доступны в разделе Новый проект > установленные > другие языки > Visual C++ > Windows Universal как консольное приложение c++/WinRT (универсальные приложения Windows) и консольное приложение c++/CX (универсальные приложения Windows). The installed templates are then available under New Project > Installed > Other Languages > Visual C++ > Windows Universal as Console App C++/WinRT (Universal Windows) and Console App C++/CX (Universal Windows).
Консольные приложения windows web
На этом шаге мы рассмотрим понятие консольного приложения и приведем пример такого приложения .
Консольное приложение — это программа, которая для взаимодействия с пользователем использует консоль — клавиатуру и монитор, работающий в режиме отображения символьной информации (буквы, цифры и специальные знаки).
В операционной системе консольное приложение работает в окне командной строки (рисунок 1), которое часто называют окном консоли .
Рис.1. Консольное приложение
Консольные приложения удобны для решения задач, в которых не предъявляется особых требований к интерфейсу. Они широко используются для решения системных задач. Следует обратить внимание, что многие утилиты Microsoft .NET Framework реализованы как консольные приложения.
Консольное приложение может вывести информацию на экран и получить данные с клавиатуры одним из трех способов:
- при помощи функций printf ( вывод ) и scanf ( ввод ) ;
- вывести информацию в поток вывода (cout) , прочитать данные из потока ввода (cin) ;
- при помощи методов WriteLine и ReadLine объекта Console.
Основным способом взаимодействия с пользователем в консольных .NET -приложениях, созданных Microsoft Visual Studio , является использование объекта Console . Методы, обеспечивающие отображение и ввод данных, перечислены в таблице 1.
Метод | Описание |
---|---|
Console::Write(st) | Выводит на экран (в окно консоли) строку st |
Console::WriteLine(st) | Выводит на экран (в окно консоли) строку st , после чего переводит курсор в начало следующей строки |
Console::ReadLine() | Значением метода ReadLine является строка, набранная пользователем на клавиатуре. Для преобразования строки в число надо использовать, например, методы System::ToInt32() или System::ToSingle() |
Console::Read() | Значением метода Read является код символа, набранного на клавиатуре |
Метод Console::Write выводит на экран (в окно консоли) строку, указанную в качестве параметра метода.
Если надо вывести значение числовой переменной, то для преобразования числа в строку следует использовать метод ToString . Вид (формат) строки, возвращаемой методом ToString , определяет параметр, указанный в инструкции вызова метода (таблица 2).
Параметр | Формат | Пример |
---|---|---|
«c», «C» | Currency — финансовый (денежный) . Используется для представления денежных величин. Обозначение денежной единицы, разделитель групп разрядов, способ отображения отрицательных чисел определяют соответствующие настройки операционной системы | 5 5055,28р. |
«e», «E» | Scientific (exponential) — научный . Используется для представления очень маленьких или очень больших чисел. Разделитель целой и дробной частей числа задается в настройках операционной системы | 5,505528+E04 |
«f», «F» | Fixed — число с фиксированной точкой . Используется для представления дробных чисел. Количество цифр дробной части, способ отображения отрицательных чисел определяют соответствующие настройки операционной системы | 55055,28 |
«g», «G» | General — универсальный формат . Похож на Number , но разряды не разделены на группы | 55055,28 |
«n», «N» | Number — числовой . Используется для представления дробных чисел. Количество цифр дробной части, символразделитель групп разрядов, способ отображения отрицательных чисел определяют соответствующие настройки операционной системы | 5 5055,28 |
«r», «R» | Roundtrip — без округления . В отличие от формата Number , этот формат не выполняет округления (количество цифр дробной части зависит от значения числа) | 55055,2755 |
Следует обратить внимание, что символ-разделитель целой и дробной частей числа задает операционная система. Этот же символ надо использовать и при вводе дробных чисел.
После выполнения инструкции Write курсор остается в той позиции экрана, в которую он переместился после вывода последнего символа строки. Следующая инструкция Write начинает вывод с той позиции экрана, в которой находится курсор.
Метод WriteLine отличается от метода Write тем, что после вывода строки курсор автоматически переходит в начало следующей строки.
Параметр метода WriteLine можно не указывать. В этом случае курсор будет переведен в начало следующей строки.
Метод ReadLine объекта Console обеспечивает ввод с клавиатуры строки символов. Для преобразования введенной строки в данные необходимо использовать соответствующие методы преобразования: System::ToInt16() , System::ToInt32() , System::ToSingle() , System::ToDouble() и т. д.
Следует обратить внимание на то, что в процессе преобразования строки в число возможны ошибки (исключения), например, из-за того, что при вводе дробного числа пользователь введет точку вместо запятой («правильным» символом, при стандартной для России настройке операционной системы, является запятая).
В качестве примера использования методов объекта Console приведем программу пересчета цены из долларов в рубли.
Результат работы приложения приведен на рисунке 2.
Рис.2. Результат работы приложения
На следующем шаге мы рассмотрим создание консольного приложения .
Консоль Windows: секреты выживания
Автор: Андрей Крупин
Считаете, что в командной строке операционной системы Windows жизни нет? Позвольте не согласиться: жизнь есть, да еще какая бурная! Благодаря заточенным под консоль программам, можно одним махом решать самые разнообразные задачи, под которые строятся большие, дорогие и сложные продукты. А именно: лазать по сайтам в Интернете, скачивать любые файлы, подключаться к популярным сетям обмена мгновенными сообщениями, отправлять SMS-весточки и даже управлять окнами приложений. Вследствие миниатюрных размеров, консольные программы с неимоверной легкостью уживаются на небольших по объему флэш-носителях, что позволяет использовать их на любом компьютере с Windows. Мало того, практически все они бесплатны, а некоторые их них, пришедшие из мира Linux, и вовсе распространяются с открытыми исходными кодами. Познакомимся?
Links . Самый популярный текстовый браузер, портированный энтузиастами под самые различные платформы, включая Windows. Помимо табличного форматирования и фреймов, поддерживает обработку инструкций Javascript, криптографический протокол SSL, механизм закладок и ряд других полезных для прогрессивного веб-серфинга функций, в числе которых значится даже менеджер закачки файлов из Интернета. Конечно, при помощи Links полюбоваться графикой и современными флэш-конструкциями не получится, зато удастся насладиться фантастической скоростью работы браузера даже на дряхлом модемном канале
Wget . Еще один отточенный до мелочей продукт, представляющий собой отличную альтернативу всевозможным сетевым качалкам, представленным на рынке программного обеспечения. Wget позволяет скачивать из Сети как отдельные файлы, так и сайты целиком, следуя по ссылкам на веб-страницах. При работе с сайтами, утилита умеет рекурсивно обходить каталоги и подкаталоги на удаленном сервере с указанной в настройках глубиной рекурсии, а также производить замену в загруженных HTML-документах абсолютных ссылок на относительные для последующего локального просмотра скачанного сайта. За годы развития текстовое совершенство программы выверено до последнего байта, а это значит, что у нее есть все шансы завоевать симпатии пользователей, на дух не переносящих консоль и жизни не представляющих без графического интерфейса Windows.
Centericq . Разработка украинского программиста Константина Клягина, ныне проживающего в столице Германии. Функциональная начинка приложения позволяет пользователю общаться с коллегами и друзьями через системы быстрого обмена сообщениями ICQ, Yahoo!, AIM, IRC, MSN, Gadu-Gadu и Jabber, отправлять записи в LiveJournal, читать RSS-ленты, настраивать цветовые схемы и проделывать массу других трюков, не выходя за пределы командной строки. Отличительной особенностью текстового творения Константина Николаевича является также многоязычный интерфейс Centericq, переведенный на 15 языков. Ну, а о наличии у программы дружественного фан-клуба и говорить не нужно. Присоединяйтесь
Mutt . Текстовый клиент для плодотворной работы с электронной корреспонденцией. Консольная «дворняжка» (именно так в переводе с английского звучит название продукта) умеет почти все то, чем богаты ее графические коллеги. В частности, программа взаимодействует с протоколами IMAP и POP3, поддерживает PGP и работу с вложенными файлами, оснащена адресной книгой и внушительным списком конфигурационных директив и команд. В Mutt реализована возможность изменять все привязки клавиш и создавать пользовательские клавиатурные макросы для сложных действий. Создатель приложения Майкл Элкинс всячески отрицает наличие в своей программе багов (bug — англ. «жук»), не без юмора замечая, что у собак бывают только блохи (fleas).
MPlayer . Программа, способная окончательно и бесповоротно развеять миф о том, что командная строка не рождена для решения мультимедийных задач. MPlayer умеет отображать видео наиболее популярных форматов (DivX, AVI, MPEG, MOV, FLC, DL, VideoCD и др.), воспроизводить аудиофайлы (MP3, WAV, VOC и проч.) и просматривать графические изображения (JPG, BMP, GIF, PCX, TGA и др.). Приложение позволяет манипулировать качеством демонстрируемой на дисплее компьютера картинки, управлять ее размером и прокруткой кадров фильма, переключать видео в полноэкранный режим и отображать субтитры. Плеер портирован под самые различные платформы и характеризуется низкими системными требованиями по сравнению с другими программными решениями для работы с видео- и аудиоданными.
Cmd2sms . Бесплатная утилита, разработанная Валерием Доможировым специально для простой и удобной отправки SMS из консоли Windows. Программа позволяет производить транслитерацию русских букв и умеет автоматом дробить длинные текстовые сообщения для их гарантированной доставки абонентам самых разных — как отечественных, так и заморских — операторов сотовой связи. Иными словами, при помощи Cmd2sms можно делать практически все, что угодно. Было бы только желание.
Cmdow . Консольная утилита размером всего в три десятка килобайтов, включающая порядка тридцати команд управления окнами приложений в операционных системах Windows NT4/2000/XP/2003 без использования мыши. Программа не требует установки и состоит всего из одного файла cmdow.exe, опции запуска которого разработчик разделил на четыре группы, в зависимости от области применения приложения (см. наш обзор продукта). Cmdow сгодится для использования в составе CMD- или BAT-файлов и конструирования командных инструкций, нацеленных на решение тех или иных, порой весьма нетривиальных задач.
Конечно, что там греха таить, список перечисленных нами утилит для Windows далеко не полный. Поэтому приглашаем читателей принять участие в обсуждении материала и поделиться на страницах форума ссылками на свои любимые консольные программы. Уверен, что сообща нам удастся собрать добротную коллекцию незаслуженно забытых приложений