Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Visual Basic 6.0~02.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.38 Mб
Скачать

Цикл While..Wend

Інша форма циклу, схожа на конструкцію Do..Loop, - цикл While..Wend. У нім послідовність команд виконується до тих пір, поки залишається істинною вказана умова. Наприклад, наступний цикл:

While X < 10

X = X + 1

Wend

Виконується до тих пір, поки значення X не досягне 10. Оскільки цикл While - Wend еквівалентний конструкції Do..Loop, вибір між ними є справою смаку.

Перебір колекцій

У Visual Basic існує ще один тип циклів, призначений для переборів колекцій. Для цієї мети використовуються цикли For Each..Next. Такий спосіб особливо корисний за ситуації, коли точна кількість об'єктів в колекції невідомо заздалегідь.

Цикл для перебору усіх об'єктів колекції може виглядати так:

Dim cmd As CommandButton

*

For Each cmd In Form1

With cmd

If .Index <> Index Then

MsgBox "Кнопка " & Trim$(Str$(.Index)) &_

не була натиснута"

End If

End With

Next

У першому рядку оголошується об'єкт класу CommandButton. У другому рядку Visual Basic перебирає усі об'єкти CommandButton на формі Form1. Далі слідує оператор With cmd, який повідомляє про те, що операції блоку With..End With виконуються з поточним об'єктом колекції cmd.

Цикли по елементах колекцій використовуються в багатьох завданнях, серед яких перебір елементів дерев і табличних списків, дочірніх форм додатків MDI і об'єктів, що належать документам DHTML (див. урок 18, "Програмування для Інтернету на Visual Basic").

Приклад використання циклів

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

1. Створіть новий проект командою File > New Project.

2. У діалоговому вікні New Project виберіть значок Standard EXE і натисніть кнопку ОК.

3. Задайте властивості Name форми Form1 значення frmMain, а властивості Caption - значення Цикли.

4. Відкрийте редактор меню клавішами Ctrl+E. 5. Створіть меню верхнього рівня, вказуючи в полі Caption значення &Цикл. Введіть в поле Name значення mnuLoop.

6. Створіть новий об'єкт меню (натисніть кнопку Next в редакторові меню).

7. Натисніть кнопку із стрілкою /, розташовану прямо над списком (мал. 6.7), щоб забезпечити створений об'єкт одиничним відступом. При цьому він стає командою меню верхнього рівня.

Мал. 6.7. Створення команди меню.

8. Введіть в поле Caption значення &For.. Next, а в поле Name - значення mnuLoop ForNext.

9. Натисніть кнопку Next, щоб створити наступну команду меню. Зверніть увагу: вона вже забезпечена необхідним відступом, тому натискати кнопку із стрілкою не треба.

10. Введіть в поле Caption значення &Do.. Loop, а в полі Name - значення mnuLoopDo - Loop.

11. Натисніть кнопку Next, щоб створити наступну команду меню. Введіть в поле Caption значення &While.. Wend, а в поле Name - значення mnuLoopWhileWend.

12. Натисніть кнопку Next, щоб створити наступну команду меню. Введіть в поле Caption значення "-" (дефіс), а в поле Name - значення mnuLoopSep1.

13. Створіть наступну команду меню, введіть в поле Caption значення&Очистити, а в поле Name - значення mnuLоорС 1еаг.

14. Натисніть кнопку OK, щоб закрити редактор меню.

15. Збережете проект командою File > Save Project.

16. Створіть на формі frmMain текстове поле, розташуєте його в лівому верхньому кутку форми і задайте його властивості Name значення txtTextBox. Видалите поточний вміст властивості Text.

17. Активізуйте елемент, клацнувши на елементі txtTextBox в конструкторі форм.

18. Натисніть Ctrl+C, щоб скопіювати елемент в буфер обміну.

19. Клацніть на формі frmMain.

20. Натисніть Ctrl+V, щоб вставити текстове поле з буфера на форму. З'являється діалогове вікно (мал. 6.8), в якому вам пропонується створити масив елементів. Натисніть кнопку Yes.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]