:: Меню ::

Головна
  • Про сайт
  • Введення
  • Середовище програмування VB .NET: Visual Studio .NET
  • Вирази, оператори і передача управління
  • Класи і об'єкти
  •  Спадкоємство і інтерфейси
  • Обробка подій і делегати
  • Обробка помилок в VB .NET
  • Форми Windows, графічний вивід і друк
  • Уведення-виведення
  •  Багатопотокові застосування
  • Підтримка баз-даних в VB .NET
  • Короткий огляд ASP .NET
  • Складки .NET, установка додатків і COM Interop
  • Книга для гостей
    Контакти
    Добавити у вибране

    :: Друзі ::

     
     

    :: Лічильники ::

    = =

     

     

     

     

    Вирази, оператори і передача управління

    • Консольні застосування
    • Команди VB .NET
    • Коментарі
    • Змінні і привласнення
    • Літерали і їх відповідність типам даних
    • Інші літерали
    • Оголошення змінних
    • Перетворення різнотипних значень
    • Рядки
    • Строкові функції
    • Форматування даних
    • Математичні оператори
    • Круглі дужки і пріоритет операцій
    • Математичні функції і математичні константи
    • Константи
    • Цикли
    • Цикл з певною умовою
    • Цикли з невизначеною умовою
    • Умовні команди і ухвалення рішень
    • Зміни у видимості змінних
    • Прискорена перевірка
    • Select Case
    • Goto
    • Логічні оператори
    • Масиви
    • Масиви з індексацією елементів в заданому інтервалі
    • Цикл For-each
    • Багатовимірні масиви
    • Процедури і функції
    • Функції
    • Процедури
    • Передчасний вихід з функцій або процедур
    • Передача масивів функціям і процедурам
    • Процедури і функції з необов'язковими аргументами
    • Іменовані аргументи
    • Рекурсія

    У цьому розділі представлений базовий «арсенал» VB .NET. Велика частина матеріалу зводиться до короткого огляду концепцій, властивих всім мовам програмування (наприклад, змінних і команд циклу), і опису базових типів даних, в основному різних чисел і рядків. Читачі, добре знайомі з Vb6, можуть нашвидку перегорнути цей розділ.

    Лише у декількох прикладах цього розділу зустрічається реальний код, який може використовуватися в серйозних програмах VB .NET. Річ у тому, що жодна серйозна програма VB .NET не обходиться без об'єктів, побудованих по шаблонах, званих класами, а ця тема розглядатиметься в розділі 4. Ми почнемо з базових конструкцій мови, тому що інакше нам довелося б обмежитися примітивними класами, що не володіють ніякою практичною цінністю. У цьому розділі не розглядаються класи, визначувані користувачем, і продемонстровані лише прості приклади використання вбудованих класів .NET Framework, що володіють виключно широкими можливостями.

    Що ж з цього виходить? Як не дивно — те, що написані в цьому розділі програми вельми близькі по стилю до традиційного програмування ранньої епохи BASIC і епохи Fortran і COBOL, що навіть передувала нею (якщо не рахувати деяких дивних, але необхідних синтаксичних конструкцій). Зокрема, на відміну від програм з подальших розділів, у них завжди чітке визначені почало і кінець, і управління передається від початку до кінця (хоча управління може передаватися спеціальними командами).

    Як мовилося у введенні, ми постараємося приводити програми, написані в нормальному стилі .NET, по можливості уникаючи штучної сумісності з Vb6.

    Консольні застосування

    Кожен додаток VB .NET повинно мати точку вто§а. У точці входу міститься код, що автоматично виконується при запуску, після чого управління передається решті коду програми. У щодо простих графічних застосуваннях точка входу може асоціюватися з початковою формою, як в Vb6. Але як було показано в розділі 1, код форм Windows достатньо складний і пошук точки входу може викликати певні утруднення. У цьому розділі розглядаються тільки консольні застосування, що працюють в консольному вікні (на зразок вікна сеансу DOS). Так, VB .NET дозволяє легко створювати традиційні консольні застосування, часто вживані при програмуванні серверних сценаріїв:

    Точкою входу консольного застосування є процедура Sub Mai n модуля (аналог процедури Sub Mai n в Vb6). Якщо вибрати в діалоговому вікні New Project значок консольного застосування (Console Application), VB .NET автоматично генерує «скелет» додатку з точкою входу — процедурою Sub Main:

    Module Module1

    Sub Main()

    End Sub

    End Module

    На відміну від Vb6, в першому рядку задається ім'я модуля (команда виділена жирним шрифтом). У даному прикладі використовується ім'я Modul el, прийняте за умовчанням. По правилах ім'я модуля повинне збігатися з ім'ям файлу. Допустимо, ви змінили ім'я модуля в першому рядку: Module Testl При спробі запустити консольне додатки виводиться повідомлення про помилку:

    Startup code 'Sub Main' was specified in 'Test.Modulel'.

    but 'Test.Modulel' was not found

    Перейменування модуля після його створення виконується таким чином:

    1. Зміните ім'я модуля у вікні програми.
    2. Зміните ім'я файлу модуля у вікні рішення.
    3. Клацніть правою кнопкою миші в рядку Consoleapplication вікна рішення і виберіть в контекстному меню команду Properties.
    4. Переконаєтеся в тому, що в списку Startup object діалогового вікна (мал. 3.1), що з'явилося, вибране ім'я модуля.

    По аналогії з Vb6 програма VB .NET (рішення) може складатися з декількох модулів, але наявність процедури Sub Main допускається тільки в одному модулі. Додаток завершується після досягнення команди End Sub процедури Sub Mai n. Наприклад, легендарна програма «Hello world» виглядає таким чином:

    Module Modul el

    Sub Main()

    Console.WriteLine("Hello world")

    End Sub End Module

    Якщо запустити цю програму в IDE, на екрані дуже швидко промайне (і тут же зникне) вікно DOS із словами «Hello world». Вікно закривається після закінчення обробки команди End Sub.

    Мал. 3.1. Діалогове вікно властивостей консольного застосування

    Якщо включити в програму рядок, виділений нижче жирним шрифтом, консольне вікно залишається на екрані до натиснення клавіші Enter (надзвичайно корисний метод Readline() описаний нижчим).

    Module Modulel

    Sub Main()

    Console.WriteLine("Hello world")

    Console. Readline()

    End Sub

    End Module

    Не дивлячись на простоту, ці дві програми демонструють одну з ключових особливостей програмування VB .NET (і взагалі програмування на будь-якій об'єктно-орієнтованій мові): ви звертаєтеся до об'єктів із запитом на виконання операцій. По аналогії з Vb6 крапка («.») використовується для звернення до членів об'єктів і класів. Хоча зазвичай при виклику указується об'єкт (конкретний екземпляр, створений на базі класу), в деяких випадках замість нього указується ім'я класу. Як приклад візьмемо наступний рядок:

    Console.WriteLine("Hellо world")

    У ній викликається метод Wri teli ne класу Console, призначений для виведення тексту з подальшим перекладом рядка (у об'єктно-орієнтованому програмуванні, як і в Vb6, функції класів зазвичай називаються методами). Метод Writeline належить до загальних (shared) методів, також званих методами класу. Загальні методи детально описані в главе4. При виклику Writeline текст, що виводиться, берете в лапок і поміщається в круглі дужки. У другу версію програми «Hello world» доданий виклик методу Readli ne, чекаючого натиснення клавіші Enter (метод Readli ne зазвичай використовується в правій частині команди привласнення, щоб введений з консолі текст був збережений в заданій змінній — див. наступна примітка).

    У приведених програмах слід звернути увагу на пару неочевидних обставин. Як було сказано вище, при виклику методу зазвичай указується конкретний екземпляр класу. Виняток з цього правила становлять особливі методи класу, звані загальними методами. Загальні методи існують на рівні класу, а не його окремих екземплярів. Інша тонкість полягає в тому, що Console входить в простір імен System, тому повний виклик методу виглядає так: System.Console.Writeline("Hello world"). У даному прикладі це не потрібно; причини викладені в розділі 4 при докладнішому описі просторів імен.

    Користувачам попередніх версій VB слід врахувати, що круглі дужки при виклику методів обов'язкові — зазвичай IDE додає їх автоматично, але краще не забувати про це. Ключове слово Call дозволене, але тепер в нім немає необхідності.

    Команди VB .NET

    При введенні програм VB .NET у зовнішньому редакторові ви не зможете скористатися засобами Intellisense. Ми рекомендуємо використовувати IDE, оскільки технологія Intellisense значно спрощує програмування в такому складному середовищі, як .NET (звичайно, для цього вам доведеться перейти від безкоштовно поширюваного .NET SDK до Visual Studio). Редактор IDE навіть виправляє деякі поширені помилки — наприклад, пропуск круглих дужок при виклику деяких методів.

    У VB .NET, як і у всіх попередніх версіях BASIC, не враховується регістр символів (окрім тексту, ув'язненого в лапки). Пропуски в рядках, не увязнених в лапки, також ігноруються.

    Проте VS .NET IDE намагається оформляти програми VB .NET по своїх правилах. Перші символи ключових слів перетворяться до верхнього регістра, а рядки доповнюються пропусками для зручності читання (End SUB перетвориться в End Sub і т. д.). Регістр символів в іменах методів VB .NET визначається по схемі Pascal (слова починаються з прописних букв, решта букв рядкових). Альтернативна схема вибору регістра (writeline) для методів VB .NET зазвичай не використовується.

    Номери рядків в командах VB .NET практично не використовуються, хоча рядки програми можуть нумеруватися, причому кожна команда зазвичай розташована в окремому рядку. Щоб продовжити команду в наступному рядку, завершите її символом підкреслення (_), відокремленим одним або декількома пропусками. Таким чином, якщо рядок не завершується символом підкреслення, натиснення клавіші Enter є ознакою кінця команди (у Visual Basic команди не разманд можна розмістити в одному рядку, розділивши їх символом «:», але зазвичай так не поступають. Якщо введений рядок не поміщається у вікні, IDE прокручує рядок управо в міру необхідності.

    Коментарі

    Коментарі в VB .NET, як і в будь-якій мові програмування, необов'язкові. Вони не обробляються компілятором і відповідно не займають місця в коді, що відкомпілювався. У VB .NET існує два варіанти оформлення коментарів. У першому, поширенішому варіанті коментар починається з апострофа:

    Sub Main()

    Console.WriteLine("Hello world")

    ' Ігнорувати значення, повертане методом Readline

    Console. Readline()

    End Sub

    У другому варіанті використовується старе ключове слово Rem, яке з'явилося в BASIC на початку 1960-х років!

    При включенні коментарів в кінець рядка простіше скористатися апострофом, оскільки ключове слово Rem доведеться відокремлювати двокрапкою. У VB .NET не передбачено мовних засобів для коментування декількох рядків, хоча на панелі інструментів присутня кнопка, що спрощує створення таких коментарів.

    На відміну від мови С#, що володіє вбудованими засобами побудови коментарів XML, в VB .NET документація XML створюватиметься окремою надбудовою (add-in).

     




    :: Наша кнопка ::

    Отримати код:

    Підтримайте наш сайт і розмістіть нашу кнопку на своєму ресурсі.


    :: Реклама ::

    Скачати безкоштовно програму Microsoft Front Page 2003


    :: Посилання ::

    -


     

     

     


    Copyright ©