среда, 27 октября 2010 г.

Консоль в VB.NET 2


В самом начале этой недели (в понедельник) мы с вами чуть-чуть поговорили о том, что такое консоль вообще в операционных системах от Microsoft, а также – немного начали программировать в этой самой консоли с использованием языка программирования Visual Basic.NET. Но тогда мы совсем немного про это узнали – только как цвета менять различные. Поэтому – сегодня мы поговорим о консоли чуть подробнее.

Так, давайте сразу определимся с тем, о чем сегодня будет рассказано в данной статье. Сейчас мы более подробно познакомимся с оператором вывода данных в консоль (с ним мы уже имели дело и раньше) – WriteLine (Write), а также – с оператором чтения данных из консоли (с ним мы тоже немного знакомы) – ReadLine (Read).

Сначала хочу сказать пару слов о том, в чем состоит различие пар операторов WriteLineWrite и ReadLineRead. Первая пара совершенно такая же, как в языке программирования паскальWrite выводит информацию на экран не переводя курсор в начало следующей строки, а WriteLine делает именно это. Разница между второй парой такая же, как и у первой (зависит от того, хотим мы на новую строку перейти или нет).

WriteWriteLine:

Первый из них – довольно простой в использовании. Я его не буду подробно рассматривать, так как отличие уже мы знаем от второго оператора (о котором я расскажу более подробно). Используют оператор Write следующим образом:

    Sub Main()
        Console.Write("РазДваТри")
        Console.ReadKey()
    End Sub

Write перегружен, повторюсь – не буду рассматривать его. Поэтому – переходим к следующему оператору вывода данных WriteLine. Он тоже перегружен, но минимально – также принимает строку, которую нужно вывести в консоль (не буду приводить пример, сами все поймете). Нас будут интересовать те функции этого оператора, которые более полезны в плане программирования.

Для начала – познакомимся со строкой форматирования, которая идет первой в списке параметров. Весь смысл этой строки (то, что мы будем использовать) – это возможность указывать номера аргументов, которые будут перечислены после строки форматирования. Давайте приведем просто пример:

    Sub Main()
        Console.Write("{0}{1}{2}", "Раз", "Два", "Три")
        Console.ReadKey()
    End Sub

В фигурных скобках (я надеюсь – вы поняли) перечислены номера аргументов, начиная с нуля. Но использование аргументов – это еще не все. Мы также можем указывать и специальные символы (в принципе – почти все языки программирования это позволяют). Только в
VB.NET это все происходит немного по другому (или я не совсем верно понял процесс), поэтому – спецсимволы я кодирую с помощью метода Chr и передаю ему в качестве параметр номер символа. Итак, Chr(13) – это у нас возврат каретки (перевод курсора в начало строки), а Chr(10) – переход на новую строку. А теперь – небольшой примерчик из этой серии:

    Sub Main()
        Console.Write("{0}" + Chr(13) + Chr(10) + "{1}" + Chr(13) + Chr(10) + "{2}", "Раз", "Два", "Три")
        Console.ReadKey()
    End Sub

Теперь – продолжим изучение оператора
WriteLine. По ходу написания статьи вышло так, что этот оператор у нас довольно много различных функций может выполнять, поэтому – сегодня я не рассмотрю другой оператор ввода-вывода, который называется ReadLine. С ним мы познакомимся через несколько дней.

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

Символ X (икс, это же английский язык):

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

    Sub Main()
        Console.Write("Ваша зарплата за этот месяц: {0:x}", 1234)
        Console.ReadKey()
    End Sub

Символ
C (опять таки напомню, что английский язык, не путайте):

Выведется все в денежном виде с тем количеством знаком, которое вы укажете. Денежный вид зависит от того, какие у вас региональные настройки. Почти везде в России региональные настройки стандартные – это рубли. А на счет количества символов можно сказать следующее – если ваше число будет больше, чем у вас указано, то оно будет округлено до точности, которую вы указали (такую ситуацию вы можете увидеть в примере, если запустите его):

    Sub Main()
        Console.Write("Ваша зарплата за этот месяц: {0:c2}", 123456.789)
        Console.ReadKey()
    End Sub

Символ F:

И еще рассмотрим два символа, которые в сумме (без указания рублей конечно) являются тем же самым символом C. Первый из них – это F, выведет округленный результат до той точности, которую вы укажете:
    Sub Main()
        Console.Write("Ваша зарплата за этот месяц: {0:f1}", 123456.789)
        Console.ReadKey()
    End Sub

Символ N:
И последний на сегодня символ – N. Он сгруппирует числа по разрядам, то есть – разделит длинное число (555555555) на пробелы по три знака – 555 555 555, чтобы удобнее было отсчитывать свои миллионы =), кстати, тоже округляет число до вашей точности:

    Sub Main()
        Console.Write("Ваша зарплата за этот месяц: {0:n3}", 123456.789)
        Console.ReadKey()
    End Sub

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


Комментариев нет:

Отправить комментарий