- •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
- •Перегляд результатів
- •Розшифровка лістингу
- •Що нового ми дізналися?
Виправлення помилки
Після того, як помилка буде знайдена, її необхідно виправити. У нашому прикладі це робиться так:
1. Завершіть роботу програми, якщо ви не зробили цього раніше.
2. У вікні програми заміните оператор
Dim x As Integer
у процедурі події Click на наступний:
Dim x As Long
3. Знову Запустіть програму (Run > Start).
Цього разу програма працює нормально, тому що довге ціле може зберігати набагато більші числа, чим просте ціле. Зверніть увагу на правильність синтаксису. Visual Basic пізнає усі команди під час редагування і не дозволяє запускати програми з синтаксичними помилками. Такі помилки виправляються найпростіше. На жаль, багато помилок викликано неправильним вибором типу або невірними обчисленнями. Значення підозрілих змінних можна простежити у вікні безпосередніх обчислень.
Ви повинні уміти відналагоджувати свої програми, а метод Print - зручний засіб для перевірки змінних під час виконання додатка. Він застосовується не лише при відладці, але і в інших випадках, наприклад при створенні простих звітів. Перш ніж переходити до виведення даних, ми розглянемо ще одну можливість - Друкування поточної форми методом PrintForm.
Метод PrintForm
Метод PrintForm виводить поточну форму (якщо не була явно задана інша форма) на принтер, встановлений за умовчанням. При цьому Друкуванняується копія поточної форми з точністю до пікселя. Цей метод добре підходить для створення простих екранних копій.
Якщо додати оператор Me. PrintForm в процедуру Form_Click попереднього прикладу, зображення форми буде наДрукуванняовано на принтері перед тим, як у вікні безпосередніх обчислень з'явиться повідомлення про помилку. Щоб наДрукуванняувати іншу форму замість поточної, скористайтеся оператором наступного виду:
frmReport.PrintForm
У цьому прикладі Visual Basic наДрукуванняує вміст форми frmReport. Замість неї можна вказати frmSplash, frmMain, frmAbout або будь-яку іншу форму вашого проекту.
Колекція Printers
Серед безлічі інших корисних колекцій в Visual Basic існує колекція Printers. B їй міститься список об'єктів-принтерів, зареєстрованих у вашій системі. Звернувшись до колекції з відповідним запитом, можна змінити принтер, вибраний для додатка за умовчанням, вивести що-небудь на Друкування і знову повернутися до стандартного принтера.
З наступного прикладу видно, як працювати з колекцією і дізнатися, які принтери встановлені у вашій системі:
1. Створіть новий проект поєднанням клавіш Ctrl+N.
2. Виберіть значок стандартного ЕХЕ-файлу (Standard EXE) в діалоговому вікні New Project.
3. Вкажіть ім'я проекту - PrintersCollection.
4. Задайте властивості Name форми Form1 значення frmMain, a властивості Caption - значення «Список принтерів».
5. Клацніть правою кнопкою миші на панелі елементів і виберіть в контекстному меню команду Components.
6. У діалоговому вікні Components Встановіть прапорець поряд з рядком Microsoft Windows Common Controls 6.0. Закрийте діалогове вікно кнопкою ОК.
7. Створіть на frmMain табличний список. Задайте його властивості Name значення lvwPrinters.
8. Двічі клацніть на формі frmMain, щоб відкрити вікно програми.
9. Вставте в процедуру події Resize наступний фрагмент:
Private Sub Form_Resize()
‘ Розтягнути табличний список
lvwPrinters.Move 0, 0, ScaleWidth, ScaleHeight
End Sub
10. Вставте в процедуру події Load наступний фрагмент:
Private Sub Form_Load()
Dim p As Printer
Dim x As ListItem
‘ Перемкнути табличний список в режим таблиці
With lvwPrinters
..View = lvwReport
..ColumnHeaders.Add,, "Принтер"
..ColumnHeaders.Add 2,, "Драйвер"
..ColumnHeaders.Add 3,, "Порт"
End With
‘ Вивести список принтерів в системі
For Each p In Printers
With p
Set x = lvwPrinters.ListItems.Add(DeviceName)
x.SubItems(1) =.DriverName
x.SubItems(2) =.Port
End With
Next
End Sub
11. Збережете і Запустіть проект.
Якщо у вашій системі встановлені які-небудь принтери, у вікні з'являється список (мал. 9.2).
