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

Мал. 4.3. Код виклику функції CubeRoot.

12. Запустіть додаток і натисніть кнопку. Зразковий вид форми показаний на мал. 4.4. У нашому прикладі повертане значення друкується прямо на формі.

Мал. 4.4. Функція повертає кубічний корінь 3.

Зазвичай значення яке повертається відображується в одному з елементів форми, наприклад в текстовому полі (мал. 4.5). Це робиться так:

Мал. 4.5. Змінене вікно програми і форма.

13. Зупините програму, натиснувши кнопку [х] у правому верхньому кутку форми. Ви знову опинитеся в режимі конструктора.

14. Двічі клацніть на формі Form1 у вікні проекту.

15. Створіть на формі текстове поле, задайте його властивості Name значення txtText1. Видалите поточний вміст властивості Text.

16. Видалите з процедури події Click() кнопки cmdCubeRoot останній рядок (Print Y) і заміните її наступній:

txtText1.Text = Y

Результат показаний на мал. 4.6.

Крім того, можна видалити увесь вміст процедури і обмежитися всього одним рядком:

txtText1.Text = CubeRoot(27)

В цьому випадку значення яке повертається привласнюється елементу без використання проміжної змінної.

Мал. 4.6. Новий варіант додатка. Тестування у вікні відпадки

Роботу процедур і функцій можна перевірити у вікні відладки.

Запустіть проект, потім виконаєте команду Run > Break. На передній план виходить вікно відладки, показане на наступному малюнку.

Якщо ви втратите його, виконаєте команду View > Immediate Window. Зараз ви працюєте в режимі відладки. Щоб запустити процедуру з вікна відладки, введіть її ім'я і натисніть Enter. Якщо процедура викликається з параметрами, їх також слід ввести. Наприклад:

AlterCaption "Новий заголовок"

У функціях вас в основному цікавить значення, яке можна вивести у вікні відладки. Це робиться, наприклад, так:

Print CubeRoot(27)

чи так:

? CubeRoot(27)

Оновлення програмної бібліотеки

Давайте доповнимо нашу бібліотеку новою функцією, яка перевіряє, чи існує на диску файл із заданим ім'ям. Цю функцію слід викликати перед спробою відкрити файл або створити його (щоб запобігти випадковому знищенню існуючого файлу):

1. Якщо проект з попереднього розділу не зберігся, створіть новий проект командою File > New Project.

2. Якщо модуль MyLibrary.Bas не був включений в проект, клацніть правою кнопкою миші у вікні проекту і виконаєте команду Add > Module з контекстного меню.

3. У діалоговому вікні Add Module перейдіть на вкладку Existing, знайдіть файл MyLibrary.Bas і натисніть кнопку Open. Програмний модуль включається в проект.

4. Двічі клацніть на файлі MyLibrary.Bas у вікні проекту. У вікні програми, що відкрилося, вставте наступний фрагмент в секцію(Declarations):

Public Function IsFile(FileName As String) As Boolean

If Len(Dir(Filename))> 0 Then

'Файл існує

IsFile = True

Else

'Файл не існує

IsFile = False

End If

End Function

5. Збережете бібліотеку командою File > Save MyLibrary. Уся основна робота виконується в рядку

If Len(Dir(Filename))> 0 Then

У ній викликаються ще дві функції, які формують одне підсумкове значення. Функція Dir() отримує один параметр - Filename. Вона перевіряє, чи існують файли, відповідні заданому критерію (наприклад, *. txt), і повертає перший відповідний файл, якщо він існує. Наприклад, якщо в теці Мої документи існує файл FooBar.txt і змінній Filename буде присвоєне значення З:\Мої документи\FооВаг.txt, функція повертає текстовий рядок FooBar, txt. Якщо файл не існує, Dir() повертає порожній рядок. Після функції Dir() викликається функція Len(). Вона повертає довжину рядка, переданого їй як аргумент. Наприклад, функція Len("abc") повертає значення 3, тому що рядок abc складається з трьох байтів. Оскільки Diг() повертає ім'я файлу, відповідного переданому критерію, ланцюжок Len(Dir()) еквівалентний виклику Len("FooBar. txt"), який повертає значення 10. Нарешті, ми перевіряємо, чи повернула функція Len() позитивне число. Довжина FooBar. txt дорівнює 10; поза сумнівом, це число більше нуля, тому змінною IsFile привласнюється значення True - воно показує, що файл дійсно існує. Якщо Dir() поверне порожній рядок, функція Len() повертає 0. Це число не є позитивним, тому IsFile привласнюється значення False - відповідно, файл не існує.

Перший модуль готовий, і тепер ви можете включати його у свої проекти для виконання деяких простих завдань. Функція IsFile перевіряє, чи існує на жорсткому диску файл із заданим ім'ям. Подібну перевірку слід виконувати перед спробою відкриття файлу в програмі. Від вас вимагається лише вказати, який файл вас цікавить:

If IsFile("C:\CONFIG.SYS") Then

... .. дії вашої програми ..

End If

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