Консольные приложения
В этой главе представлен базовый "арсенал" VB.NET. Большая часть материала сводится к краткому обзору концепций, присущих всем языкам программирования (например, переменных и команд цикла), и описанию базовых типов данных, в основном различных чисел и строк. Читатели, хорошо знакомые с VB6, могут бегло пролистать эту главу.
Лишь в нескольких примерах этой главы встречается реальный код, который может использоваться в серьезных программах VB.NET. Дело в том, что ни одна серьезная программа VB.NET не обходится без объектов, построенных по шаблонам, называемых классами, а эта тема будет рассматриваться в главе 4. Мы начнем с базовых конструкций языка, потому что в противном случае нам пришлось бы ограничиться примитивными классами, не обладающими никакой практической ценностью. В этой главе не рассматриваются классы, определяемые пользователем, и продемонстрированы лишь простейшие примеры использования встроенных классов .NET Framework, обладающих исключительно широкими возможностями.
Что же из этого следует? Как ни странно – то, что написанные в этой главе программы весьма близки по стилю к традиционному программированию ранней эпохи BASIC и даже предшествовавшей ей эпохи Fortran и COBOL (если не считать некоторых странных, но необходимых синтаксических конструкций). В частности, в отличие от программ из дальнейших глав, у них всегда есть четко определенные начало и конец, и управление передается от начала к концу (хотя управление может передаваться специальными командами).
Как говорилось во введении, мы постараемся приводить программы, написанные в нормальном стиле .NET, по возможности избегая искусственной совместимости с VB6.
Каждое приложение VB.NET должно иметь точку входа. В точке входа содержится код, автоматически выполняемый при запуске, после чего управление передается остальному коду программы. В относительно простых графических приложениях точка входа может ассоциироваться с начальной формой, как в VB6. Но как было показано в главе 1, код форм Windows достаточно сложен и поиск точки входа может вызвать определенные затруднения. В этой главе рассматриваются только консольные приложения, работающие в консольном окне (наподобие окна сеанса DOS). Да, VB.NET позволяет легко создавать традиционные консольные приложения, часто применяемые при программировании серверных сценариев.
— Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта.
— Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы).
— SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание.
SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение
Точкой входа консольного приложения является процедура Sub Main модуля (аналог процедуры Sub Main в VB6). Если выбрать в диалоговом окне New Project значок консольного приложения (Console Application), VB.NET автоматически генерирует "скелет" приложения с точкой входа – процедурой Sub Main:
Module Module1 Sub Main() End Sub End Module
В отличие от VB6, в первой строке задается имя модуля (команда выделена жирным шрифтом). В данном примере используется имя Modul el, принятое по умолчанию. По правилам имя модуля должно совпадать с именем файла. Допустим, вы изменили имя модуля в первой строке: Module Test1. При попытке запустить консольное приложения выводится сообщение об ошибке:
Startup code 'Sub Main' was specified in 'Test.Modulel'. but 'Test.Modulel' was not found
Переименование модуля после его создания выполняется следующим образом:
- Измените имя модуля в окне программы.
- Измените имя файла модуля в окне решения.
- Щелкните правой кнопкой мыши в строке ConsoleApplication окна решения и выберите в контекстном меню команду Properties.
- Убедитесь в том, что в списке Startup object появившегося диалогового окна (рис. 3.1) выбрано имя модуля.
По аналогии с VB6 программа VB.NET (решение) может состоять из нескольких модулей, но наличие процедуры Sub Main допускается только в одном модуле. Приложение завершается по достижении команды End Sub процедуры Sub Main. Например, легендарная программа "Hello world" выглядит следующим образом:
— Разгрузит мастера, специалиста или компанию;
— Позволит гибко управлять расписанием и загрузкой;
— Разошлет оповещения о новых услугах или акциях;
— Позволит принять оплату на карту/кошелек/счет;
— Позволит записываться на групповые и персональные посещения;
— Поможет получить от клиента отзывы о визите к вам;
— Включает в себя сервис чаевых.
Для новых пользователей первый месяц бесплатно. Зарегистрироваться в сервисе
Module Modul el Sub Main() Console.WriteLine("Hello world") End Sub End Module
Если запустить эту программу в IDE, на экране очень быстро мелькнет (и тут же исчезнет) окно DOS со словами "Hello world". Окно закрывается по завершении обработки команды End Sub.