- •Министерство образования россИйСкой федерации
- •Введение 10 Глава 1. Основные термины, понятия и определения информатики 13
- •Глава 2. Операторы 36
- •Глава 3. Основные вcтроенные функции 62
- •Глава 4. Среда разработки Visual Basic 69
- •Глава 5. Основные общие свойства, события и методы 73
- •Глава 6. Объекты, управляющие элементы 79
- •Глава 7. Модули и классы 102
- •Глава 8. Разработка интерфейса 107
- •Глава 9. Работа с базами данных 118
- •Глава 10. Графические средства 174
- •Глава 16. Лабораторный практикум 258
- •Предметный указатель 290 Библиографический список 295
- •Введение
- •Порядок изучения и классификация учебного материала
- •Глава 1. Основные термины, понятия и определения информатики
- •1.1. Алгоритмы
- •1. Словесная форма
- •2. Блок ‑ схема
- •3. Псевдокоды
- •1.2. Языки программирования
- •1. Естественный язык.
- •1.3. Визуальное объектно‑ориентированное программирование
- •1.4. Этапы проектирования программной системы
- •1.5. Общий порядок подготовки программ к выполнению
- •1.6. Типы программ
- •1.7. Информация, данные и их характеристики
- •1.8. Системы счисления
- •1.9. Организация файлов
- •1.10. Структурное программирование
- •1.11. Организация человеко‑машинного интерфейса
- •1.12. Информационные технологии
- •1.13. Защита информации
- •1.14. История возникновения и развития языка Basic
- •Глава 2. Операторы
- •2.1. Объявление данных
- •Типы данных
- •2.1.1. Определение типа пользователя ‑ Type
- •2.1.2. Объявление записи
- •2.1.3. Объявление массива
- •2.1.4. Объявление локальных статических переменных ‑ Static
- •2.1.5. Объявление именованных констант ‑ Const
- •2.1.6. Встроенные именованные константы
- •2.1.7. Перечисленияenum(vb)
- •2.1.8. Коллекции данныхCollection(vb)
- •Вопросы для самопроверки и контроля
- •2.2. Переопределение массивов
- •2.2.1. Инициализация массива ‑ Erase
- •2.2.2. Переопределение массивов ‑ Redim
- •2.2.3. Изменение начала отсчета индексов ‑ Option Base
- •Вопросы для самопроверки и контроля
- •2.3. Работа с внутренними подпрограммами
- •2.3.1. Переход к внутренней подпрограмме ‑ Gosub
- •2.3.2. Возврат из внутренней подпрограммы ‑ Return
- •2.4.2. Безусловный переход ‑ Goto
- •2.4.3. Условный переход ‑ If, Iif
- •Однострочный вид оператора:
- •Пример. Нахождение наибольшего числа из двух чисел a, b.
- •2.4.4. Выбор варианта ‑ Select
- •2.4.5. Цикл ‑ For ... Next
- •2.4.6. Цикл ‑ For Each ... Next(Vb)
- •2.4.7. Цикл ‑ Do... Loop
- •2.4.9. Обмен значениями двух переменных- Swap (qb)
- •Вопросы для самопроверки и контроля
- •2.5. Ввод-вывод
- •2.5.1. Ввод данных с клавиатуры ‑ Input (qb)
- •2.5.2. Ввод строки символов ‑ Line Input (qb)
- •2.5.3. Вывод данных с символами‑разделителями на дисплей ‑ Write (qb)
- •2.5.4. Вывод данных на дисплей ‑ Print
- •2.5.5. Вывод данных на дисплей в заданном формате ‑ Print Using (qb)
- •2.5.6. Вывод данных на принтер ‑ Lprint (qb)
- •2.5.7. Задание числа колонок и строк на экране ‑ Width (qb)
- •2.5.8. Управление курсором- Locate (qb)
- •2.5.9. Чтение из оперативной памяти-Data, Read, Restore (qb)
- •Вопросы для самопроверки и контроля
- •2.6. Работа с файлами
- •2.6.1. Открытие файла или устройства ‑ Open
- •2.6.2. Вывод данных с символами-разделителями в файл ‑ Write #
- •2.6.3. Вывод данных в файл ‑ print #
- •2.6.4. Ввод данных из текстового файла ‑ Input #
- •2.6.5. Ввод строки символов из файла ‑ Line Input#
- •2.6.10. Захват и освобождение файла ‑ Lock, Unlock
- •2.7.2. Задание палитры ‑ Palette (qb)
- •2.7.3. Задание цвета ‑ Color (qb)
- •2.8.3. Изображение окружности и эллипса ‑ Circle (qb)
- •2.8.4. Вычерчивание произвольного изображения ‑ Draw (qb)
- •2.8.5. Окраска изображения ‑ Paint (qb)
- •2.8.6. Запись фрагмента экрана в массив ‑ Get(qb)
- •2.8.7. Восстановление изображения на экране ‑ Put (qb)
- •2.8.8. Копирование страниц экрана ‑ Pcopy (qb)
- •2.10. Вызов внешних процедур и функций
- •2.10.1. Объявление процедур ‑ Declare
- •2.10.2. Задание процедуры ‑ Sub
- •2.10.3. Задание функции ‑ Function
- •2.10.4. Вызов процедуры, функции ‑ Call
- •Вопросы для самопроверки и контроля
- •2.12.4. Конец процедуры обработки прерываний ‑ Resume
- •Глава 3. Основные вcтроенные функции
- •3.1. Математика
- •3.2. Массивы
- •3.3. Строки
- •3.4. Даты и время
- •3.5. Преобразование и контроль данных
- •3.6. Ввод и вывод данных
- •3.7. Установка цвета
- •3.11. Поиск, выбор, замена (vb)
- •3.12. Финансово‑математические функции (vb)
- •Глава 4. Среда разработки Visual Basic
- •4.1. Окна и панели среды разработки
- •4.2. Настройка среды разработки
- •Глава 5. Основные общие свойства, события и методы
- •5.1. Cвойства
- •5.2. События
- •5.3. Методы
- •5.4. Размещение объектов
- •5.5. Экран
- •Вопросы для самопроверки и контроля
- •Глава 6. Объекты, управляющие элементы
- •6.1. Формы
- •6.2. Командные кнопки (CommandButton)
- •6.3. Текстовые поля (TextBox, MaskedEdit, RichTextBox)
- •6.4. Надписи (Label)
- •6.5. Рамки (Frame)
- •6.6. Зависимые переключатели (OptionButton)
- •6.7. Независимые переключатели (CheckBox)
- •6.8. Списки (ListBox)
- •6.9. Комбинированные поля (ComboBox)
- •6.10. Рисунки (Image)
- •6.11. Графические поля (PictureBox)
- •6.12. Таймеры (Timer)
- •6.13. Полосы прокрутки (hScrollBar,vScrollBar,FlatScrollBar)
- •6.14. Ползунок (Slider)
- •6.15. Списки устройств (DriveListBox)
- •6.16. Списки каталогов (DirListBox)
- •6.17. Списки файлов (FileListBox)
- •6.18. Кнопки-счетчики (UpDown)
- •6.19. Полоса процесса (Progressbar)
- •6.20. Контур (Shape)
- •6.21. Линия (Line)
- •6.22. Закладки (ssTab, TabStrip)
- •6.23. Таблицы (msFlexGrid)
- •6.24. Список изображений (ImageList)
- •6.25. Отображение иерархических структур (TreeView)
- •6.26. Отображение списков (ListVew)
- •6.27. Анимация avi (Animation)
- •6.28. Календарь (MonthView, Calendar)
- •6.29. Ввод даты и времени (DateTimePicker)
- •Вопросы для самопроверки и контроля
- •Глава 7. Модули и классы
- •7.1. Модули
- •7.2. Классы
- •Вопросы для самопроверки и контроля
- •Глава 8. Разработка интерфейса
- •8.1. Меню
- •8.2. Всплывающее и динамическое меню
- •8.3. Панель инструментов (ToolBar)
- •8.4. Общий диалог
- •8.4.1. Размещение общего диалога (Common Dialog)
- •8.4.2. Диалог открытия файла
- •8.4.3. Диалог настройки шрифтов
- •8.4.4. Диалог настройки цвета
- •8.4.5. Диалог настройки принтера
- •8.5. Встроенные и специальные диалоги
- •8.6. Панель состояния (StatusBar)
- •Вопросы для самопроверки и контроля
- •Глава 9. Работа с базами данных
- •9.1. Создание баз данных в Data Manager Pro
- •9.2. Создание запросов в Data Manager Pro
- •9.3. Создание форм мастером vb Data Form Wizard
- •9.4. ТехнологияDaOдоступа к базам данных
- •9.4.1. Объект управления Data
- •9.4.2. Объекты управления, связанные с базой данных
- •9.4.3. Методы
- •Уплотнение базы данных методом CompactDatabase
- •9.4.4. Создание базы, таблиц, индексов, связей и запросов
- •9.4.5. Обмен данными с помощью репликаций
- •9.5. Команды языка запросов sql
- •9.5.1. Запросы на выборку данных
- •Указание результатов выборки и источников данных
- •Критерий связи и отбора данных
- •Группировка данных
- •Сортировка
- •Примеры
- •9.5.2. Запросы на обновление данных
- •9.5.5. Изменение структуры таблицы
- •9.5.6. Объединение таблиц
- •9.5.7. Перекрестные запросы
- •9.5.8. Подзапросы
- •9.5.9. Создание и использование базы данных средствами запросов иAdo
- •9.6. Формирование отчетов средствами Crystal Reports
- •9.7. Соединение среды разработки с базой данных
- •9.8. Создание конструктора среды данных
- •9.9. ТехнологияAdOдоступа к базам данных
- •9.9.1. Объект управления ado Data (Adodc)
- •9.9.2. Командные средства
- •9.9.3. Хранимые процедуры (запросы)
- •9.9.4. Отключение наборов данных
- •9.9.5. Копирование набора в двумерный массив (GetRows)
- •9.10. Создание запросов с использованием конструктора среды данных
- •9.11. Формирование отчетов средствами DataReport
- •9.12. Применение отчетов, сформированных субдAccess
- •Вопросы для самопроверки и контроля
- •Глава 10. Графические средства
- •10.1. Общая информация
- •10.2. Отображение точки ‑ pSet, Point
- •10.3. Отображение отрезка и прямоугольника ‑ Line
- •10.4. Изображение окружности, дуг и секторов ‑ Circle
- •10.5. Формирование диаграмм (msChart,ChartFx)
- •Вопросы для самопроверки и контроля
- •Глава 11. Работаcмышью
- •11.1. События и методы
- •11.2. Перенос объектов
- •11.3. Изменение размеров объектов
- •11.4. Рисование
- •X As Single, y As Single) ‘процедура обработки нажатия мышки
- •12.2. Имитация нажатий клавиш
- •12.3. Печать
- •Вопросы для самопроверки и контроля
- •Глава 13. Отладка, компиляция и распространение программ
- •13.1. Отладка
- •13.1.1. Устранение синтаксических и логических ошибок
- •13.1.2. Обработка ошибок, возникающих при выполнении программы
- •13.2. Компиляция
- •13.3. Распространение программ
- •Вопросы для самопроверки и контроля
- •Глава 14. Дополнительные возможности
- •14.1. ActiveX ‑ элементы
- •14.2. Динамически присоединяемые библиотеки (dll,ActiveXdll)
- •14.3. Функции Windows api
- •14.4. Создание справочной системы
- •14.5. Технология ole
- •14.6. Обмен данными через буфер Clipboard
- •14.7. Директивы условной компиляции
- •14.8. Прерывание процессов функцией DoEvents
- •14.9. Параметры настройки приложения
- •14.10. Динамическое создание объектов
- •Вопросы для самопроверки и контроля
- •Глава 15. СозданиеWeb‑страниц
- •15.1. Основные средства созданияWeb‑страниц
- •15.2. ОсновыHtml
- •15.2.1. Правила написания
- •15.2.2. Структура документа
- •15.2.3. Форматирование текста
- •15.2.4. Атрибуты выравнивания текста и управления цветом
- •15.2.5. Шрифты
- •15.2.6. Списки
- •15.2.7. Изображения
- •15.2.8. Таблицы
- •15.2.9. Якорь (элемент привязки документов, их частей, почты)
- •15.2.10. Фреймы
- •15.2.11. Формы, управляющие элементы
- •15.2.12. Использование компонентовActiveX
- •15.2.13. Дополнительные теги
- •15.2.14. Листы стилей
- •15.3. Клиент и сервер
- •15.4. СозданиеAsp‑файла
- •15.5. Основы создания сценариев
- •15.6. Управление броузером
- •15.6.1. ОбъектWindow
- •15.6.2. ОбъектFrame
- •15.6.3. ОбъектLocation
- •15.6.4. ОбъектNavigator
- •15.6.5. Объект History
- •15.6.6. ОбъектDocument
- •15.6.7. ОбъектLinks
- •15.6.8. Объект Anchors
- •15.6.9. ОбъектForms
- •15.6.10. ОбъектElemеnts
- •15.6.10.1. Кнопки (Button, Reset, Submit)
- •15.6.10.2. Переключатели (CheckBox,Radio)
- •15.6.10.3. Поля ввода (Text, TextArea, Password)
- •15.6.10.4. Списки выбора (Select)
- •15.7. ОбъектыAsp
- •15.8. Работа с текстовыми файлами
- •15.9. Работа с базами данных
- •15.10. Визуальный редакторHtml‑документовDreamweaver
- •15.10.1. Палитра основных объектов
- •15.10.2. Настройка Dreamweaver
- •15.10.3. Структура и размещение файлов
- •15.10.4. Создание заготовкиHtml‑документа
- •15.10.5. Создание пустой таблицы
- •15.10.6. Форматирование ячеек таблицы
- •15.10.7. Размещение картинки
- •15.10.8. Создание меню
- •15.10.9. Форматирование текста
- •15.10.10. Режимы работы объектов
- •15.10.11. Команды
- •15.10.12. Анимация
- •Вопросы для самопроверки и контроля
- •Глава 16. Лабораторный практикум
- •16.1. Числовые типы, оператор присваивания
- •16.2. Алгоритмы линейной структуры
- •16.3. Алгоритмы разветвляющей структуры
- •16.4. Алгоритмы циклической структуры
- •16.5. Алгоритмы работы с рядами
- •16.6. Алгоритмы работы с массивами
- •16.7. Обработка символьных данных
- •16.8. Организация подпрограмм
- •16.9. Работа с файлами
- •16.10. Работа с формами в Visual Basic
- •16.11. Совместная работа с файлами, базами и отчетами
- •Пример задачи для Quick Basic
- •Текст программ
- •1. Учет авиапассажиров.
- •16. Учет платежных поручений в банке.
- •2.2. Переопределение массивов
- •2.3. Работа с внутренними подпрограммами
- •2.4. Организация вычислений
- •2.5. Ввод-вывод
- •2.6. Работа с файлами
- •2.10. Вызов внешних процедур и функций
- •5. Основные общие свойства, события и методы
- •6. Объекты, управляющие элементы
- •7. Модули
- •8. Разработка интерфейса
- •9. Работа с базами данных
- •10. Графические средства
- •11. Работа с мышью
- •12. Печать
- •13. Отладка, компиляция и распространение программ
- •14. Дополнительные возможности
- •15. Создание Web‑страниц средствами vbScript, html, asp
- •Приложение 2. Вопросы для экзаменационных билетов
- •Предметный указатель
- •Библиографический список
- •Плещёв Владимир Васильевич Информатика и программирование.
- •С примерами и упражнениями
12.3. Печать
Существует специальный объект Printer, прдназначенный для вывода на печать текста и графики. Основными средствами печати являются методPrintи генераторы отчетов, например Crystal Reports(п. 9.6), DataReport (п. 9.7). МетодPrintможет выводить данные в форму, на принтер (объект Printer), в графическое окно PictureBox и в окно отладки Debug. Метод по написанию и действию аналогичен команде Print без фразы Using (п. 2.5.5).
При выводе метод использует свойства шрифтов (Font) (п.5.1).
Объект Print дополнительно имеет свойства Page(номер текущей страницы),Pages(число страниц).
Для определения высоты и длины выводимого текста используются методы TextHeight (<текст>), TextWidth (<текст>)соответственно.
Пример.Lfam=Form1.TextWidth(“Иванов Иван Иванович”).
Свойство графического окна (поля) PictureBox или формы FontTransparent=True задает прозрачный фон при выводе текста методом Print, т.е. выводимые символы накладываются как бы поверх фона формы или графического поля, и фон текста не перекрывает их фон (True).
Координаты начального адреса (x,y) выводимого текста относительно левого верхнего угла области вывода можно задать методами CurrentX=x иCurrentY=y.
Очистка формы или графического окна реализуется методом Cls, и свойства CurrentX и CurrentY при этом обнуляются.
Управление принтером осуществляется методами:NewPage(смена листа и начало печати новой страницы, свойства CurrentX и CurrentY обнуляются),EndDoc(передача готового документа на печать диспетчеру печати Windows, свойства CurrentX и CurrentY обнуляются),KillDoc (диспетчер печати Windows прекращает печать и очищает буфер печати).
Для вывода на принтер всей формы без заголовка и рамки используется метод PrintForm. Содержимое объектаPictureBoxвыводится на печать, если его свойствоAutoRedraw=True.
Вопросы для самопроверки и контроля
Вопросы для самопроверки
Как указывается начальный адрес выводимого текста?
Как изменить шрифт и его атрибуты при выводе текста?
Как определить размер области вывода?
Как определить объем выводимого текста?
Контрольные вопросы
Что произойдет, если объем текста превысит размер области вывода?
Какие методы очищают область вывода?
Куда можно направить вывод результатов работы программы?
Что произойдет, если указать для формы свойство KeyPreview=True?
Для чего используется оператор SendKeys?
Глава 13. Отладка, компиляция и распространение программ
13.1. Отладка
13.1.1. Устранение синтаксических и логических ошибок
Синтаксические ошибки (неправильно написанные ключевые слова, фразы, разделители) обнаруживаются самим компилятором. Одностроковый оператор выделяется красным цветом при переходе на другую строку. Для многострокового оператора выводится сообщение при компиляции (рис.13.1.1.1). Для включения режима синтаксического контроля вводимых команд и вывода подсказки нужно выполнить командыTools/Option/Editor/Auto Syntax Check,Tools/Option/Editor/Auto Quick Info соответственно.
Рис.13.1.1.1. Ошибка
При написании имен объектов, свойств, методов и полей автоматически выводится список доступных элементов (Tools/Option/Editor/Auto List Members). Для включения в строку выбранного элемента из списка с переходом/без перехода на следующую строку нажмите клавишуEnter/Tab(дважды щелкните мышкой). Этот список можно вызвать командойEdit/List Properties/Methods(^J).
Список именованных констант можно вызвать командой Edit/List Constants (^Shift+J).
Если в окне кода введены первые символы имени свойства, метода или поля, которых достаточно для однозначной идентификации, то можно автоматически вывести все имя, если выполнить командуEdit/Complete Word (^Пробел).
Закладкииспользуются для запоминания и выделения нужных строк. Командами Toggle bookmark, Next bookmark, Previous bookmark, Clear All bookmark в меню Edit/bookmarksможно установить закладку, переместиться на следующую или предыдущую закладку, удалить все закладки соответственно.
Существуют два режима компиляции: частичная (Run/StartилиF5) и полная (Run\Start With Full Compileили^F5).
После устранения синтаксических ошибок в программе могут оставаться логические ошибкиразработчика, которые приводят к аварийному завершению программы или к ошибочным результатам. Для их выявления и устранения используется режим отладки.
Для перехода в режим отладки используется кнопкаBreak(^Break).
Врежиме отладки можно продолжить выполнение программы кнопкойContinue(F5) или закончить выполнение программы кнопкойEndи перейти в режим разработки программы.
В режиме отладки обычно используются меню View и Debug.
В меню Viewможно использовать команды:
Immediate Window ‑ окно для немедленного выполнения команд, например для просмотра значений отдельных переменных (рис. 13.1.1.2).
Local Window‑ окно для просмотра описания всех элементов процедуры.
Watch Window‑ окно задания переменных для наблюдения за изменением их значений. Если подвести указатель мышки к имени переменной, поля, свойства или к выделенному выражению, то появится его текущее значение в всплывающем окнеDataTips.
Call Stack‑ окно для выбора текста других, вышестоящих процедур, выполнение которых, привело к выполняемой команде (стек процедур). КнопкойShowможно просмотреть текст выбранной процедуры. Зеленым треугольником выделяется строка, содержащая вызов процедуры.
Toolbars/Debug‑ вывод панели с кнопками отладки.
Рассмотрим основные команды меню отладки Debug.
Step Into‑ выполнить следующую команду с входом в процедуру.
Step Over‑ выполнить следующую команду, и, если она есть вызов процедуры, то выполнять ее за один шаг (выполнение по шагам).
Рис. 13.1.1.2. Меню и окна наблюдения и немедленного выполнения команд
Step Over‑ вернуться в вышестоящую процедуру.
Run To Cursor‑ продолжить выполнение программы до команды из строки, на которую указывает курсор. Обычно используется при циклах.
Add Watch‑ добавить новый элемент в окно наблюдения. Можно указать действия, выполняемые при изменении контролируемого значения: просто отображение (Watch Expression), переход в режим отладки, если оно равноTrue(BreakWhenValueIsTrue) или изменилось (BreakWhenValueIsChange).
Edit Watch‑ изменение содержимого окна наблюдения. Окно аналогично окнуAddWatch.
Quick Watch‑ быстрый просмотр элементов команды с ошибкой.
Toggle Breakpoint‑ установка точки прерывания перед командой, на которую указывает курсор. Для быстроты можно просто щелкнуть мышкой на маркерной серой полосе перед командой. Точка прерывания выделяется красным кружком на маркерной полосе, и фон строки меняется на красный. Выполнение программы прерывается на этой точке (строка подлежит только обработке), и далее можно использовать весь арсенал отладки. Обычно в точке прерывания просматриваются значения отдельных элементов и производится пошаговое выполнение команд. Точку прерывания можно указать и операторомStop(п. 2.11.3). В режиме отладки строка, которая должна выполняться следующей, выделяется желтой стрелочкой и желтым цветом (рис. 13.1.1.2). Для продолжения выполнения с другой строки перетащите мышью желтую стрелочку на нужную строку.
Clear All Breakpoint‑ удалить из программы все точки прерывания. Одиночную точку прерывания можно удалить щелчком мышки по красному кружку.
Set Next Statement‑ выполнить команду из строки, на которую указывает курсор.
Show Next Statement‑ вернуть курсор на выполняемую команду.
Командой Edit/Parameter Infoможно вывести описание функции, которая является параметром процедуры.
Системный объект Debugзадает окно отладки и имеет два метода:
Print‑ вывод в окно отладки (Debug.Print“A=”;A;”B=”;B) (п. 2.5.4);
Assert<выражение> ‑ приостановка выполнения программы, если выражение равно нулю илиFalse.
При выполнении EXE‑файла строки с обращением к объектуDebugсчитаются комментариями.