:: Меню ::

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

    :: Друзі ::

     
     

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

    = =

     

     

     

     

    Константи

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

    У VB .NET при активізації жорсткої перевірки типів необхідно явно указувати тип констант:

    Const PIE = 3.14159 ' Не компілюватиметься з Option Strict

    Const PIE As Double = 3.14159 ' Правильно, але Math.PI краще :-)

    Значення констант може визначатися числовими виразами, у тому числі і що містять раніше певні константи:

    Const Pie_over_2 As Double = PIE / 2

    Аналогічним чином визначаються строкові константи:

    Const User_name As String = "Bill Gates"

    .NET Framework містить немило вбудованих, заздалегідь визначених глобальних констант, які ви можете використовувати в своїх програмах. Багато хто з них аналогічний константам Vb6 з префіксом vb, але вони є членами різних класів, тому звернення до них виглядають трохи інакше. Наприклад, константа vbcrlf в VB .NET належить класу Controlchars, тому при зверненні до неї використовується запис Control Chars. Crlf.

    Цикли

    У VB .NET, як практично у всіх мовах програмування, існують цикли — конструкції, що дозволяють виконувати операції задана кількість разів або продовжувати, поки виконується (або навпаки, не виконується) деяка логічна умова. В порівнянні з колишніми версіями VB синтаксис циклів мало змінився. Зокрема, змінилася конструкція While/wend, але це зміна на кращий.

    Цикл з певною умовою

    Цикл, що виконується задана кількість разів, визначається за допомогою ключових слів For і Next. Наприклад, наступна програма виводить в консольному вікні числа від 1 до 10:

    Sub Main()

    Dim i As Integer

    For i = 1 To 10

    Console.WriteLine(i)

    Next 1

    Console.ReadLine()

    End Sub

    Зазвичай змінній-лічильнику привласнюється початкове значення, після чого перевіряється, чи не перевищує поточне значення лічильника кінцеве. Якщо лічильник перевищив кінцеве значення, тіло циклу не виконується. Якщо поточне значення менше кінцевого, VB .NET виконує подальші команди до тих пір, поки не зустріне ключове слово Next (указувати ім'я змінної в команді Next необов'язково). За умовчанням лічильник збільшується на 1, і все починається наново. Процес продовжується до тих пір, поки при черговій перевірці не опиниться, що лічильник перевищив кінцеве значення. У цей момент цикл завершується, і управління передається наступній за ним команді.

    Хоча як лічильник може використовуватися числова змінна будь-якого типу, ре-комендуєтся використовувати змінні типу Integer. В цьому випадку VB .NET витрачає мінімальну кількість часу на зміну лічильника, що прискорює виконання циклу.

    Одиничний приріст лічильника, використовуваний за умовчанням, іноді неудобно—в деяких ситуаціях лічильник повинен змінюватися на 2, на дробову величину або у зворотному напрямі. Як і у всіх колишніх версіях VB, нестандартний приріст указується в циклі For-next з ключовим словом Step.

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

    Sub Main()

    Dim i As Integer

    For i = 10 To 1 Step =1

    Console.WriteLine("It's t minus " & i & " and counting.")

    Next i

    Console.WriteLine("Blastoff!")

    Console. Readline()

    End Sub

    При негативному прирості тіло циклу For-next ігнорується в тому випадку, якщо початкове значення лічильника менше кінцевого. Це дуже зручно при виконанні таких операцій, як видалення елементів із списку. Якби відлік вівся від 0 до Listcount, то на середині відбулося б звернення до видаленого елементу, тоді як при відліку від Listcount до 0 з кроком -1 елементи нормально віддаляються від останнього до першого.

    Значення Step може відноситися до будь-якого числового типу. Приклад:

    for yearlylnterest = .07 То .09 Step .00125d

    Цикл перебирає значення від 7 до 9 відсотків з приростом в 1/8 відсотка. Звернете увагу на використання типу Decimal для запобігання помилкам округлення.

    VB .NET, як і колишні версії VB, дозволяє створювати вкладені цикли практично необмеженої глибини. Наступний фрагмент виводить таблицю множення з простим форматуванням:

    Sub Main()

    Dim i, j As Integer

    For j = 2 To 12

    For i = 2 To 12

    Console.Writed * j & " ")

    Next i

    Console. Writeline()

    Next j

    Console Readline()

    End Sub

    У внутрішньому циклі замість методу Writeline використовується метод Write, щоб уникнути перекладу рядка при виведенні сусідніх елементів.

    Цикли з невизначеною умовою

    Досить часто умова продовження циклу залежить від результатів, отриманих в тілі циклу. Наступна конструкція використовується в VB .NET для побудови циклу з невизначеною умовою, тіло якої виконується мінімум один раз (завершуюча перевірка):

    Do

    ' Команди VB .NET (0 і більш)

    Until условіє_виполняєтся

    Звичайно, умова не обмежується простою перевіркою рівності. У вашому розпорядженні оператори порівняння, перераховані в табл.3.10.

    Таблиця 3.10. Оператори порівняння

    Символ
    Умова, що перевіряється
    <>
    Не рівно
    <
    Менше
    <=
    Менше або рівно
    >
    Більше
    >=
    Більше або рівно

    Строкові операнди за умовчанням порівнюються відповідно до порядку символів Unicode. Таким чином, «А» передує «В», але «В» передує «а» (а пропуск передує будь-якому друкарському символу). Рядок «abcd» передує рядку «CDE» (тобто вважається «менше» її), оскільки прописні букви в кодуванні стоять раніше рядкових.

    Як і в Vb6, ви можете ігнорувати регістр символів у всіх порівняннях модуля або форми; для цього в початок модуля або форми включається команда Option Compare Text. Команда Option Compare Binary повертається до стандартного порівняння рядків відповідно до положення символів в кодуванні ANSI. При активному режимі Option Compare Text використовується порядок символів для країни, вказаної при установці системи Windows.

    Ключове слово Unti 1 можна замінити ключовим словом Whi I e (при цьому слід замінити умову на протилежне). Наприклад, фрагмент

    Do

    ' Команди VB .NET (0 і більш)

    Loop Until X <> String.Empty

    еквівалентний наступному фрагменту:

    Do

    ' Команди VB .NET (0 і більш)

    Loop While X = String.Empty

    Звернете увагу на використання константи String.Empty замість порожнього рядка "", що менш наочною і частіше приводить до помилок. Якщо перемістити ключове слово Whi 1е або Unti 1 в секцію Do, перевірка виконуватиметься на початку циклу (і за помилкової умови цикл не буде виконаний жодного разу). Приклад:

    Do While Text1.Text <> String.Empty

    ' Обробити непорожній текст Loop

    Умови об'єднуються за допомогою операторів Or, Not і And. Приклад:

    Do While count < 20 And savings < 1000000

    Якщо ви вважаєте за краще використовувати стару конструкцію While-wend, врахуйте, що клю-чевоє слово Wend було замінене командою End While.

    Умовні команди і ухвалення рішень

    " У VB .NET умовна команда If, як і в Vb6, існує в двох версіях — однорядковою і багаторядковою:

    If X < 0 Then Console.WriteLine("Number must be positive!")

    Умова конструкції If-then може містити логічних операторів And, Or і Not. Досить часто програма виконує різні дії залежно від того, чи виявиться умова істинною або помилковою. В цьому випадку базова форма команди

    If-then:

    If умова Then

    ' Команди VB .NET (0 і більш) End If

    доповнюється однією або декількома секціями El se:

    If умова Then

    ' Команди VB .NET (0 і більш) Else

    ' Команди VB .NET (0 і більш)

    End If

    Декілька послідовних перевірок в секціях Else можна оформити у вигляді конструкції Elself:

    If умова Then

    ' Команди

    Elself умова Then

    ' Команди

    Elself умова Then

    ' Команди

    Else

    ' Команди

    End If

    Конструкція If-then може використовуватися для передчасного виходу з циклу — для цього вона об'єднується з командою Exit Do або Exit For. Зустрівши команду Exit Do або Exit For, VB .NET негайно завершує цикл і продовжує виконання програми з команди, наступної за ключовим словом Loop або Next (залежно від типу циклу).

    Зміни у видимості змінних

    Зона видимості змінних і методів в VB .NET визначається по складніших правилах, ніж в колишніх версіях VB. Ця тема детально описана в розділах 4 і 5. Зокрема, зміни виявляються при оголошенні змінних в тілі циклу або блоку If-then. Такі змінні невидимі за межами блоку, в якому вони були оголошені. Наприклад, в наступному фрагменті ми вибираємо одну з двох версій строкової змінної Ri sk і потім намагаємося використовувати її:

    If income < 100000 Then

    Dim risk As String = "too much risk" Else

    Dim risk As String = "love to make а deal"

    End If

    Console.WriteLine("Your risk level is " & Risk)

    На екрані з'являється повідомлення про помилку:

    The name 'risk' is not declared.

    Видимість обох версій змінної risk обмежується блоком, в якому вони були оголошені! Мораль: не оголошуйте змінні усередині блоків, якщо для цього немає вагомих причин.

     




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

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

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


    :: Реклама ::

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


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

    -


     

     

     


    Copyright ©