
- •Для начинающих
- •Содержание
- •Часть I. Программирование без программирования 12
- •Часть II. Программирование на Visual Basic – первый уровень 42
- •2.5. Оглядимся вокруг 84
- •Часть III. Программирование на Visual Basic - второй уровень 146
- •Глава .0Предисловие
- •0.1.Кому предназначена эта книга?
- •0.2.Задачи, игры.
- •0.3.Почему Visual Basic?
- •0.4.Какой вам нужен компьютер и какая версия Visual Basic?
- •0.5.Краткое содержание с рекомендациями
- •Часть I. Программирование без программирования.
- •От автора
- •К читателю
- •Часть I. Программирование без программирования
- •Глава .0Первые шаги
- •0.1.Что такое программа?
- •0.2.Не программа, а проект
- •0.3.Первые шаги - за ручку
- •Глава .1Проект - "Калькулятор"
- •1.1.Задание на проект
- •1.2.Проектируем
- •1.3.Свойства форм и элементов управления
- •1.4.Имена и надписи
- •1.5.Программируем. Проект готов
- •1.7.Помещаем фото на калькулятор
- •1.8.Музыка в проекте
- •1.9.Система координат
- •1.10.Вывод сообщений - MsgBox
- •1.11.Меню пользователя
- •1.12.Кино в проекте
- •Val(Число1.Text) _
- •Глава .2Работа в среде Visual Basic
- •2.1.Что нужно знать и уметь перед тем, как сесть за компьютер
- •2.2.Инсталляция Visual Basic
- •2.3.Порядок работы над проектом в Visual Basic
- •2.4.Загрузка Visual Basic и выход из него
- •2.5.Сохранение проекта на диске. Загрузка проекта с диска
- •2.6.Окна среды Visual Basic
- •2.7.Главное меню Visual Basic
- •2.8.Перенос вашего проекта на другие компьютеры
- •Часть II. Программирование на Visual Basic – первый уровень
- •Глава .0Переменные величины
- •0.1.Переменные величины. Оператор присваивания
- •0.2.Объявление переменных величин
- •0.3.Еще об именах
- •0.4.Математика. Запись арифметических выражений
- •0.5.Типы данных и точность вычислений
- •Integer и Long - целые числа
- •Три совета
- •0.6.Порядок создания простого вычислительного проекта
- •Задача:
- •Порядок создания проекта:
- •5. Теперь нужно задать компьютеру действия, которые он должен проделать с исходными данными, чтобы получить результат.
- •0.7.Строковые переменные
- •0.8.Как выводить информацию оператором Print
- •0.9.Диалог с компьютером
- •0.10.Как выводить информацию в текстовое поле
- •0.11.Оглядимся вокруг
- •Глава .1Разветвляющиеся программы
- •1.1.Что такое выбор (ветвление)
- •1.2.Условный оператор If или как компьютер делает выбор
- •1.3.Правила записи однострочного оператора If
- •1.4.Случайные величины
- •1.5.Многострочный If
- •If условие Then операторы ElseIf операторы
- •1.6.Ступенчатая запись программы
- •1.7.Вложенные операторы If. Логические операции и выражения
- •1.8.Оператор варианта Select Case
- •1.9.Улучшаем калькулятор.
- •If IsNumeric("-67,3") Then MsgBox ("Это число") Else MsgBox ("Это не число")
- •1.10.Функция MsgBox
- •Глава .2Циклические программы
- •2.1.Оператор перехода GoTo. Цикл. Метки
- •2.2.Выход из цикла с помощью If
- •2.3.Операторы цикла Do
- •2.4.Оператор цикла For
- •2.5.Оглядимся вокруг
- •Глава .3Отладка программы
- •3.1.Типы ошибок. Сообщения об ошибках.
- •3.2.Отладка программы. Окна отладки. Режимы отладки.
- •Глава .4Типичные маленькие программы
- •4.1.Вычислительная циклическая программа
- •4.2.Роль ошибок
- •4.3.Счетчики
- •4.4.Сумматоры
- •4.5.Вложение циклов в разветвления и наоборот
- •4.6.Вложенные циклы
- •4.7.Поиск максимального из чисел
- •Глава .5Графика
- •5.1.Объекты. Их свойства, их события, их методы
- •5.2.Три способа рисовать
- •5.3.Первый способ - Загрузка в Visual Basic готовых изображений
- •5.4.Второй способ - Объекты Line и Shape
- •5.5.Взаимное перекрытие объектов. Метод zOrder
- •5.6.Цвет в Visual Basic
- •5.7.3 Способ - Рисуем при помощи графических методов
- •Снеговик Ефрем
- •5.8.Используем в рисовании переменные величины
- •5.9.Использование случайных величин при рисовании
- •Глава .6Процедуры
- •6.1.Зачем нужны процедуры пользователя
- •6.2.Операторы Stop, End и Exit Sub
- •6.3.Переменные вместо чисел
- •6.4.Константы
- •6.5.Процедуры с параметрами
- •Private Sub Рисуем_мой_значок (Otstup As Integer, Razmer As Integer, Tsvet As Long)
- •Глава .7Работа с таймером, временем, датами
- •7.1.Тип данных Date
- •7.2.Таймер
- •7.3.Проект "Будильник-секундомер"
- •7.4.Анимация
- •Глава .8Работа с мышью и клавиатурой
- •8.1.Работа с мышью
- •8.2.Работа с клавиатурой
- •8.3.Проект - Гонки (игра)
- •8.4.Задание на игру “Торпедная атака
- •Часть III. Программирование на Visual Basic - второй уровень
- •Глава .0Массивы
- •0.1.Переменные с индексами
- •0.2.Одномерные массивы переменных величин
- •0.3.Двумерные массивы
- •0.4.Какие бывают массивы
- •0.5.Использование массивов при программировании игр
- •0.6.Массивы элементов управления
- •Глава .1Разные звери в одном ковчеге
- •1.2.Пользовательский тип данных
- •1.3.Коллекции
- •1.4.Рамка (Frame)
- •Глава .2Элементы управления
- •2.1.Флажок (CheckBox)
- •2.2.Переключатель (OptionButton)
- •2.3.Полосы прокрутки (hScrollBar и vScrollBar)
- •2.5.Список (ListBox) и поле со списком (ComboBox)
- •2.6.Знакомство с другими элементами управления
- •Глава .3Строки, файлы, обработка ошибок
- •3.1.Строки
- •3.2.Файлы
- •3.3.Функция Shell
- •3.4.Обработка ошибок. Оператор On Error
- •Глава .4Функции. Параметры процедур и функций
- •4.1.Функции. Параметры функций
- •4.2.Локальные переменные
- •4.3.Массивы как параметры
- •4.4.Передача параметров по ссылке и по значению
- •4.5.Индукция. Рекурсия
- •4.6.Сортировка
- •4.7.Объекты, как параметры процедур
- •Глава .5Проект, который выглядит солидно
- •5.1.Из чего бывает "сделано" приложение Windows
- •5.2.Элемент управления CommonDialog
- •5.3.Панель инструментов Toolbar
- •5.4.Проект - "Графический редактор"
- •Глава .6Проекты из нескольких форм и модулей
- •6.1.Работа с несколькими формами
- •6.2.Модули кода
- •6.3.Структура проекта. Окно Project Explorer.
- •6.4.Зоны видимости
- •6.5.Затенение
- •6.6.Префиксы имен
- •6.7.К чему все эти сложности?
- •Глава .7Объекты пользователя
- •7.1.Инкапсуляция - "Объект в футляре"
- •7.2.Игра "Сачок". Постановка задачи
- •7.3.Таймер и общая механика работы проекта
- •7.4.Этап проектирования
- •7.5.Порядок создания объектов
- •7.6.Создаем ловца
- •7.7.Создаем шар. Завершаем проект
- •7.8.Еще об объектах
- •Глава .8Visual Basic и Интернет
- •8.1.Понятие об Интернет, Web-станицах и языке html
- •8.2.Создание Web-страницы
- •8.3.Сценарий на Web-странице
- •8.4.Доступ к локальному диску
- •8.5.Собственный броузер
- •Глава .9Visual Basic и базы данных
- •9.1.Понятие о базах данных
- •9.2.Создаем заготовку базы данных при помощи Visual Data Manager
- •9.3.Работа с базами данных. Элементы управления Data и dbGrid. Язык sql.
- •Глава .10До свидания
- •10.1.Нерассмотренные возможности Visual Basic
- •10.2.Миг между прошлым и будущим
- •Приложение 1. Необходимые сведения о компьютере и программе
- •Глава .0Первое представление о компьютере и программе
- •0.1.Что такое компьютер. Первое представление о программе.
- •0.2.Как человек общается с компьютером
- •Глава .1Программа и программирование
- •1.1.Список команд. Командный и программный режимы
- •Последовательность работы человека с роботом
- •1.2.Что важно знать о программе
- •1.3.Понятие о процедуре. Может ли робот поумнеть?
- •1.4.Программа для компьютера на машинном языке
- •1.5.Языки программирования
- •1.6.Пример настоящей программы для компьютера на языке Лого
- •А теперь введем в компьютер программу:
- •1.7.Последовательность работы программиста на компьютере
- •1.8.Основные приемы программирования
- •Глава .2Устройство и работа компьютера
- •2.1.Как устроен и работает компьютер
- •Процессор
- •Порядок обмена информацией между устройствами компьютера
- •2.2.Устройство и размеры оперативной памяти
- •2.3.Взаимодействие программ в памяти
- •2.4.Внешние устройства компьютера
- •Устройства ввода
- •1. Клавиатура.
- •2. Мышь.
- •Устройства вывода
- •Внешняя память
- •Связь компьютеров между собой. Модем. Сети
- •2.5.Кодирование информации в компьютере
- •Приложение 2. Работа в Windows. Ввод текста
- •Работа в Windows
- •Файлы и папки
- •Как вводить программу в компьютер или работа с текстом в текстовом редакторе
- •Решение заданий
- •Список литературы
5.2.Элемент управления CommonDialog
До сих пор я знакомил вас с довольно простыми элементами управления, такими как кнопки, текстовые поля и т.п. Достаточно ли таких простых элементов, чтобы запрограммировать любые приложения Windows? В принципе, да. Возьмем, например, диалоговое окно сохранения файла. Оно похоже в большинстве приложений Windows.
Вы видите, что оно состоит из кнопок, флажка, раскрывающихся списков и других простых элементов, большинство из которых мы проходили. Все эти элементы собраны на форме с заголовком Save As. Таким образом, если мы захотим организовать сохранение файла, мы должны будем в проекте создать еще одну форму, которая и будет диалоговым окном (как создавать в проекте дополнительные формы, я расскажу в 6.1). Затем мы поместим на эту форму нужные элементы управления и запрограммируем работу каждого из них. В общем, работа довольно большая, но выполнимая.
Разработчики Visual Basic постарались облегчить жизнь программистам и создали элемент управления CommonDialog, который уже имеет вид нужного диалогового окна. Простые элементы управления внутри диалогового окна уже запрограммированы надлежащим образом. Все, что остается программисту - это написать немного кода для настройки окна.
Common Dialog - настоящий многоликий Янус. Он может по желанию программиста перестраиваться на выполнение самых разных задач, перечисленных в нижеприведенной таблице. То, какую именно задачу он будет решать, определяется тем, какой из методов этого элемента будет выполнен:
Вставьте Common Dialog на панель Toolbox из ProjectsComponents. Там вы его найдете под именем Microsoft Common Dialog Control 6.0. Затем поместите его на форме. Его имя - Common Dialog1. В режиме работы он не виден и возникает в нужном обличье только при выполнении одного из своих методов:
-
Задача, решаемая элементом управления Common Dialog1
Метод
Открытие файла
CommonDialog1.ShowOpen
Сохранение файла
CommonDialog1.ShowSave
Выбор цвета
CommonDialog1.ShowColor
Выбор шрифта
CommonDialog1.ShowFont
Выбор принтера для печати
CommonDialog1.ShowPrinter
Окно помощи Help
CommonDialog1.ShowHelp
Пример открытия и сохранения файлов с помощью элемента Common Dialog
Чтобы лучше представить себе механику работы элемента Common Dialog, рассмотрим пример его использования для считывания и записи информации в произвольные текстовые файлы. Задача: Нажатием на кнопку Command1 поместить на экран диалоговое окно открытия файла, выбрать в нем произвольный текстовый файл, считать из него первую строку, затем при желании нажатием на кнопку Command2 преобразовать эту информацию (дописать в конец строки восклицательный знак), затем нажатием на кнопку Command3 поместить на экран диалоговое окно сохранения файла, выбрать в нем произвольный текстовый файл и информацию записать в него. Вот программа:
Dim s As String 'Переменная для хранения считанной и преобразованной информации
Private Sub Command1_Click()
CommonDialog1.ShowOpen 'Показать диалоговое окно открытия файла
Файл = CommonDialog1.FileName 'Это имя файла выбрано из диалогового окна
Open Файл For Input As #1 'Открываем выбранный файл для чтения
Line Input #1, s 'Считывание первой строки из выбранного файла
Debug.Print s
Close #1
End Sub
Private Sub Command2_Click()
s = s & "!" 'Преобразование информации - добавление в конец строки восклицательного знака
End Sub
Private Sub Command3_Click()
CommonDialog1.ShowSave 'Показать диалоговое окно сохранения файла
Файл = CommonDialog1.FileName 'Это имя файла выбрано из диалогового окна
Open Файл For Output As #1 'Открываем выбранный файл для записи
Print #1, s 'Запись информации в выбранный файл
Debug.Print s
Close #1
End Sub
Пояснения: На операторе CommonDialog1.ShowOpen появляется диалоговое окно открытия файла (аналогичное диалоговому окну сохранения файла, картинка которого показана выше), программа останавливается и ждет, когда мы выберем в окне какой-нибудь текстовый файл. После выбора окно пропадает, имя выбранного файла вместе с адресом становятся значением свойства FileName элемента CommonDialog, программа продолжает работу и это значение используется нами в операторе Open.
Аналогично работает и сохранение.
В приложениях Windows, таких как Word и Paint, мы привыкли, что открываемый файл становится нам виден в каком-нибудь окне. Здесь же ничего подобного нет, содержимого файла мы не видим. Для этого нужны дополнительные средства. На них мы не останавливаемся.
В диалоговом окне правильно работают многие кнопки и другие элементы. Однако нам нужно позаботиться кое о каких подробностях. Так, если мы хотим видеть в окне только текстовые файлы, нам нужно запрограммировать раскрывающийся список типов файлов. В противном случае мы можем нечаянно открыть графический файл, как текстовый, с неожиданными результатами. Также нужно позаботиться о том, чтобы при нажатии на кнопку Cancel не возникала ошибка. А возникает она по той причине, что оператор Open не знает, какой файл ему открывать. На этом я останавливаться не буду.
Вот более "правильная" запись этой же программы, использующая процедуры с параметрами:
Dim s As String 'Переменная для хранения считанной и преобразованной информации
Private Sub Command1_Click()
CommonDialog1.ShowOpen 'Показать диалоговое окно открытия файла
Файл = CommonDialog1.FileName 'Это имя файла - параметр для процедуры Открой
Открой Файл
End Sub
Private Sub Открой(Файл)
Open Файл For Input As #1
Line Input #1, s 'Считывание первой строки из файла
Debug.Print s
Close #1
End Sub
Private Sub Command2_Click()
s = s & "!" 'Преобразование информации - добавление в конец строки восклицательного знака
End Sub
Private Sub Command3_Click()
CommonDialog1.ShowSave 'Показать диалоговое окно сохранения файла
Файл = CommonDialog1.FileName 'Это имя файла - параметр для процедуры Сохрани
Сохрани Файл, s 'Сохрани в Файл строку s
End Sub
Private Sub Сохрани(Файл, s As String)
Open Файл For Output As #1
Print #1, s 'Запись информации в файл
Debug.Print s
Close #1
End Sub