Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VB_1 Mетодичка-Exel_укр_2.doc
Скачиваний:
3
Добавлен:
17.09.2019
Размер:
1.43 Mб
Скачать

32.3.Закриття файлу

Після того, як завершили роботу з файлом, його необхідно закрити за допомогою оператора Close. Як аргумент оператора Close використовується файлове число, що вказує на те, який саме файл потрібно закрити.

Close #файлове_число

Якщо опустити аргумент файлове_число, то Visual Basic закриє всі відкриті файли.

32.4. Запис у файл за допомогою оператора Print

Якщо файл відкритий, то для запису в нього даних можна використовувати оператора Print. Дані, записувані оператором Print, є текстом, подібним тому, який видається на принтер.

Для прикладу, спробуйте виконати наступних операторів на панелі Immediate вікна Debug (View → Immediate Window):

Командний рядок

Результат

Print "Загальний привіт"

Загальний привіт                                 

Print 5

5

а = 5

Print а

5

Print - друкує в дисковий файл, лише його результати з'являються не на панелі Immediate, а у відкритому для запису файлі.

Якщо помістити в рядок для друку декілька елементів, розділених комами, то вони будуть надруковані в блоках, заповнених пропусками і розділених фіксованими табулостопами через кожних 14 символів.

Якщо замість ком використовувати символ (;) між числами, змінними, то надруковані елементи міститимуть 2 пропуски, а якщо – між деяким текстом, то надруковані елементи не міститимуть пропусків:

Командний рядок

Результат

Print "один", "Два", "Три", "Чотири"

Одін Два Три Чотири

Print "Один";"Два";"Три";" Чотири "

ОдинДваТриЧотири

Print 1; 2; 3; 4

1  2  3  4

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

Приклад:

Якщо, а=1234.567

Format а, (а, "#,###.00"), Format(а, "#.0")

1234.567              1,234.57              1234.6

Якщо, а=0.1234

Format а, (а."#,###.00"). Format(а,"0.00"), Format(а,"00.00")

0.1234              .12              0.12              00.12

А для друку в дисковий файл:

Print #файлове_число, список_ аргументів

де файлове_число визначає відкритий файл, а список_аргументів містить те, що потрібно надрукувати.

Так, для запису попередніх значень у файл EXEMPL1.DAT:

Open " EXEMPL1.DAT" For Output As 1

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

Print #1, " Загальний привіт "

Print #1, 5

а = 5

Print #1, а

Print #1, 1; 2; 3; 4

Print #1, "Одін", "Два", "Три", "Чотири"

а = 1234.567

Print #1, а, Format(а,"#,###.00), Format(а,"0,00"), Format(а,"00.0")

а = 0.1234

Print #1, а, Format(а,"#,###.00), Format(а,"0,00"), Format(а,"00.00")

Close #1

32.5.Запис у файл оператором Write

При використанні оператора Print дані, записувані в дисковий файл, формуються в придатну для читання форму, подібну до текстового документа. Якщо ви передбачаєте читати ці дані програмами на Visual Basic, то їх слід записувати не оператором Print, а оператором Write. Оператор Write працює подібно до оператора Print, але зберігає існуючі лапки і розділяє дані, що виводяться, комами. Ці коми і лапки спрощують у Visual Basic визначення кінця одного елементу даних і початку іншого. Якщо передбачається зберегти дані, а потім прочитати їх програмою, то замість оператора Print скористайтеся оператором Write.

Оператор Write відділяє кожен елемент даних коми і бере кожну строкову величину в лапки. Рядки, повернені функцією Format(), також розміщають в лапках. Використання лапок і ком для розділення окремих елементів даних значно спрощує вживання оператора Input (описуваного в наступному пункті). Без них було б практично неможливо визначити, де кінчається один записаний елемент і починається наступний.

Розглянемо простий приклад збереження даних побудованої таблиці в файл послідовного доступу на диску Е: (e:/pr1.txt). Перший стовпчик побдованної таблиці буде складатися з значення змінної x, а другий - значення змінноїі y цілого типу. Перше значення х задає користувач, через вікно запиту, а кожне наступне зростає на 1, значення у розраховується у=х2 . Кількість рядків в таблиці складає 10.

Sub pr1()

Open "e:/pr1.txt" For Output As 1

Dim x As Integer, i As Integer, y

x = InputBox("x= ")

Write #1, " X "; ":"; " Y"

For i = 1 To 10

y = x ^ 2

Write #1, Format(x, "###000"); ":"; Format(y, "######")

x = x + 1

Next i

Close #1

End Sub

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