
- •5.05150104 "Дизайн друкованої продукції"
- •Урок 8. Запис і читання даних
- •Робота з ascii -файлами
- •Мал. 8.1. Ascii - файл з роздільниками.
- •Послідовний доступ
- •Мал. 8.2. Зразок послідовного файлу.
- •Мал. 8.3. Перегляд результатів.
- •Довільний доступ
- •Мал. 8.4. Запис в текстовому файлі.
- •Двійковий доступ
- •Проста програма шифрування
- •Мал. 8.5. Форма для програми шифрування.
- •Мал. 8.6. Стандартне діалогове вікно.
- •Елементи даних
- •Використання елементу даних
- •Властивості елементу даних
- •Мал. 8.8. Властивості елементу даних
- •Анатомія бази даних
- •Створення баз даних в Visual Data Manager
- •Мал. 8.9. Вікно бази даних із розширеними властивостями
- •Створення таблиці
- •Конструювання таблиці
- •Мал. 8.10. Діалогове вікно Table Structure.
- •Створення полів
- •Мал. 8.11. Діалогове вікно AddField.
- •Введення даних
- •Створення запиту
- •Мал. 8.12. Діалогове вікно Query Builder.
- •Мал. 8.13. Результати запиту.
- •Первинні ключі
- •Лічильники
- •Числові поля
- •Грошові поля
- •Логічні поля
- •Поля Memo
- •Поля дати/часу
- •Зміна таблиці
- •Технологія ado (ActiveX Data Objects)
- •Мал. 8.14. Моделъ ado.
- •Використання елементу даних ado
- •Мал. 8.15. Діалогове вікно сторінок властивостей елементу даних ado
- •Puc. 8.16. Вибір провайдера
- •Мал. 8.17. Вибір файлу бази даних
- •Мал. 8.18. Завдання властивості RecordSource
- •Використання об'єктів підключення і набору записів ado
- •Puc. 8.19. Створення посилання на бібліотеку типів ado
- •Додавання записів
- •Оновлення записів
- •Видалення записів
- •Що нового ми дізналися?
- •9 Урок. Друкування
- •Виведення даних на друкування
- •Метод Print
- •Перегляд значень у вікні безпосередніх обчислень
- •Перегляд помилок у вікні безпосередніх обчислень
- •Мал. 9.1. Вікно безпосередніх обчислень з інформацією про помилку.
- •Виправлення помилки
- •Метод PrintForm
- •Колекція Printers
- •Мал. 9.2. Виведення вмісту колекції Printers. Використання Crystal Reports в Visual Basic
- •Мал. 9.4. Режим конструктора в Crystal Reports Установка Crystal Reports Pro
- •Створення звіту
- •Мал. 9.6. Зв'язки між таблицями
- •Мал. 9.7. Вкладка Fields
- •Puc. 9.8. Вибір поля для сортування
- •Мал. 9.9. Вкладка Total Мал. 9.10. Фільтрація записів в звіті
- •Мал. 9.11. Вибір стилю звіту
- •Мал. 9.12. Готовий звіт
- •Мал. 9.13. Режим конструювання
- •Використання звіту в додатку
- •Мал. 9.14. Звіт в режимі конструювання. Мал. 9.15. Діалогове вікно Property Pages для Crystal Reports 4.6.
- •Мал. 9.16. Додавання елементу Crystal Report.
- •Мал. 9.17. Виведення звіту з додатка. Друкування початкового тексту програми
- •Мал. 9.18. Діалогове вікно Print. Діалогове вікно Print
- •Перегляд результатів
- •Розшифровка лістингу
- •Що нового ми дізналися?
Послідовний доступ
П
ДМал. 8.2. Зразок послідовного файлу.
ля запису даних в послідовний файл
необхідно відкрити його в режимі Output
або Append. Якщо файл не існує, Visual Basic
автоматично створює його. Якщо ж файл
існує, то при його відкритті в режимі
Output існуючі дані стираються, а в режимі
Append нові записи додаються в кінець
файлу. Зазвичай файли відкриваються
для доповнення, але іноді вони
використовуються для тимчасового
зберігання даних. У таких випадках
цілком допускається знищення утримуваного
файлу перед кожним застосуванням. Щоб
прочитати дані з послідовного файлу,
слід відкрити його в режимі Input. Незалежно
від того, в якому режимі відкривається
файл - Input, Output або Append, - для операцій з
ним використовується файловий номер
(см далі). Не забувайте закривати
непотрібні файли, викликаючи оператор
Close з відповідним файловим номером. Для
запису у файл можна скористатися
оператором Print # (чи Write #), а для читання
- Line Input ##02.
Нижче приведений фрагмент програми, який створює в каталозі C,:\Data файл і записує в нього два рядки:
Dim FileNo As Integer
FileNo = FreeFile
Open "C:\data\test.txt" For Append As FileNo
Print #FileNo, "Джон"
Print #FileNo, "Доу"
Close FileNo
Функція FreeFile повертає вільний файловий номер, який використовуватиметься в операторах Open, Print # і Close. Результати виконання попереднього фрагмента можна проглянути в програмах WordPad або Notepad (мал. 8.3). Щоб файл записувався наново, а не доповнювався (іншими словами, щоб стерти вміст файлу і внести в нього нові дані), слід замінити Output ключовим словом Append.
Мал. 8.3. Перегляд результатів.
При завантаженні збережених даних можна прочитати кожен рядок в масив. Про всяк випадок нагадаю: масивом називається список однорідних величин, на які можна посилатися по імені і індексу. Детальніша інформація про масиви приведена в уроці 7, "Типи даних". У наступному прикладі в масив завантажується вміст файлу C:\Data\test.txt:
Dim FileNo As Integer
Dim GetValues() As String
Dim Counter As Integer
' Ініціалізувати лічильник
Counter = 0
'Отримати унікальний файловий номер
FileNo = FreeFile
‘ Відкрити файл
Open "C:\data\test.txt" For Input As FileNo
Do Until EOF(FileNo)
Counter = Counter + 1
ReDim Preserve GetValues(Counter)
Line Input #FileNo, GetValues(Counter)
Loop
Close FileNo
Функція EOF перевіряє, чи не був досягнутий при читанні кінець файлу. Кінець файлу позначається спеціальним ASCII - символом, який не відображується на екрані і додається у файл при його створенні або доповненні. Коли читання даних буде завершено, можна перебрати величини з масиву GetValues і присвоїти їх значення елементам або вивести на формі:
Dim J As Integer
For J = 0 To UBound(GetValues)
Print GetValues(J)
Next J
Щоб поліпшити роботу цього фрагмента, включите рядок Option Base 1 в секцію(Declarations) вашої форми. В результаті виконання цієї команди нумерація індексів масиву починається з 1, а не з прийнятого за умовчанням 0. Отже, цикл For..Next повинен починатися зі значення 1, а не 0. Функція UBound повертає максимальний, а функція LBound - мінімальний індекс масиву. Спільне використання цих функцій дозволяє визначити фактичний розмір масиву. Наступний фрагмент перебирає усі елементи одновимірного масиву:
Dim J As Integer
For J = LBound(arrayname) To UBound(arrayname)
‘ Ваша програма
Next J