Дата публикации статьи: 09.07.2003 00:00
Желание изучать Visual Basic у меня появилось три года назад. В то время, я не то что не умел программировать, а даже Windows не знал. Умел лишь рисовать (если это можно было назвать рисованием) в Paint для Windows, не зная, что существует PhotoShop. Все началось с того, что однокурсник сестры, узнав о моем желании к программированию, подарил мне компакт-диск с VisualBasic, и небольшую книжку, написанную им самим. Книжка была не о программировании на VisualBasic, а об составлении алгоритмов и всякой прочей, для меня в то время белиберды и абаркадабры.
Сегодня я уже знаю HTML, стал специалистом по любому программному обеспечению и по совместительству, программистом. Конечно, не «супер-пупер программер», способный написать Windows за неделю, но, все же, знаю множество возможностей языка Visual Basic, о программировании на котором, и пойдет речь. Мы создадим небольшую базу данных, для хранения информации о клиентах некой фирмы. Это только пример. Когда вы научитесь программировать базы данных, вы можете создать любую программу основанную на БД: от учета товаров на складе, до адресной книги или электронного органайзера. ЧТО НАМ ПОНАДОБИТСЯ: Программа Microsoft Visual Basic версии 5.0 или 6.0 Enterprise Edition. Также нам понадобится программа Microsoft Access, входящая в состав пакета MS Office. MS Access – это программа для построения баз данных и сохранения их с расширением *.mdb. Если у вас все же нет этой программы, вы можете загрузить {базу данных} , созданную мной специально для этой статьи. Там же вы сможете найти готовую базу данных, которую мы будем создавать. НАЧНЕМ
Итак, предполагается, что Visual Basic уже установлен на вашем компьютере. Запустите его, и создайте новый проект командой File>NewProject (Файл>Создать проект), или просто нажмите Ctrl+N, что собственно, влечет за собой одну и ту же операцию. Появится окно, с несколькими значками.
Вы увидите у себя на экране множество кнопок и окон. Не пугайтесь этого зрелища. С виду все кажется ужасно сложным, а на самом деле, все просто.
Давайте разберем все по порядку. По левому краю расположена большая панель, с огромным количеством инструментов. Собственно, они еще ничего не значат, поскольку, это всего лишь элементы, которые могут быть использованы в вашей будущей программе. По правому краю, вы увидите три окна связанных между собой. Первое окно, это карта вашего проекта, где в будущем, будут отображаться все самостоятельные формы проекта. Окно порядком ниже – Properties – это свойства того или иного элемента проекта. А самое последнее окно, в правом нижнем углу экрана, это размещения той или иной формы на экране пользователя, во время выполнения программы.
Откроем главную форму нашего проекта. Для этого, в окне где расположена карта проекта, найдите значок с надписью Form1, и щелкните на нем два раза. Форма будет немедленно загружена, и вы увидите у себя на экране, небольшое новое окно, покрытое черными точками, и с заголовком Form1. Изменим имя главной формы проекта на index, заглянув в свойства проекта, и изменив первый пункт свойства (Name). Эта форма, будет загружаться когда программу «вызовут» на загрузку. Назначать русские имена системным файлам проекта и любым операторам, нельзя, поскольку это может вызвать конфликты с поддержкой кириллицы.
Имя назначили? Теперь назначим заголовок окна формы. За заголовок окна отвечает пункт Caption, расположенный в том же окне, где мы назначали имя формы.
Введите в качестве свойства Caption текст: PersonalDatabase :: Clients (а здесь можно и по-русски). Отлично. Теперь запретите растягивать окно во весь экран, запретив кнопку «Mazimise». За это отвечает свойство MaxButton. Переведите его значение из True (положительно) в False (запретить), двойным щелчком мыши.
Теперь взгляните в заголовок окна нашей формы. На кнопку которая раньше растягивала форму во весь экран, теперь нельзя нажать, поскольку, она скрыта.
Дальше – проще. Найдите на левой панели, с множеством инструментов кнопку CommandButton, и щелкните по ней два раза. Этот элемент появилась в центре нашей формы. Вы его не раз встречали в Windows. Помните кнопку OК? Вот это та самая кнопка, только значение ей вы можете задать какое угодно!
Задайте программное имя (свойство (Name) cmdClose, а текст на кнопке измените, введя в поле свойства Caption слово «Закрыть».
Теперь, давайте потренируемся в написании кода, и посмотрим, какие возможности дает нам Visual Basic для этих целей. Щелкните на кнопке, уже расположенной на форме два раза, и вы немедленно попадете в редактор vb-кода.
Мигающий курсор будет стоять между двумя строчками:
Private Sub cmdClose_Click()
и
End Sub
Первая стока – это объявление процедуры для элемента, а последняя – конец процедуры для элемента. Вы заметили, что в первой строчке стоит программное имя нашей кнопки – cmdClose? Вот для того, что бы не запутаться в коде множества кнопок, следует указывать что это код для кнопки (сокращенно. сmd (command)), и для какой именно.
Ничего не меняя в коде первой и последней строчки, введите между ними следующий простой код:
Unload Me
Теперь закройте редактор щелкнув на соответствующей кнопке окна. Что бы запустить только что созданную программу, найдите на верхней, горизонтальной панели инструментов кнопку Start, со значком, какой обычно используют в музыкальных проигрывателях для кнопки Play.
Поздравляю!
Ваша первая программа запущена! Теперь щелкните на кнопке «Закрыть», для которой мы ввели код. Что получилось? Ваша программа закрылась. Это значит, что код который мы ввели, работает правильно.
Для функции «Закрыть программу», так же можно использовать оператор
End
вместо
Unload Me
однако, последний лучше.
Теперь, когда вы более-менее разобрались в VisualBasic, и набрались, хоть и примитивного, но все же опыта, освоились со средой программирования, пора приступать к созданию нашей базы данных.
Задайте размеры нашей кнопке «Закрыть», указав свойству Height (Высота) значение 280, а свойству Width (длина) значение 1300. Переместите кнопку в правый нижний угол нашей формы.
Ну а теперь, сохраните ваш проект, выбрав команду File>Save Proejct (Файл>Сохранить проект). Процесс сохранения состоит из нескольких этапов. В нашем случае, это два этапа: сохранение главной формы (index) и сохранение всего проекта (Project1). Официальное имя мы ему зададим позже, а при сохранении проекта на винчестер, укажите ему имя pdc.prj где .prj – программное расширение проекта, а pdc – сокращенно PersonalDatabase :: Clients – т.е., название нашей базы данных.
Отлично!
Закройте VisualBasic, и запустите Microsoft Access, для создания оболочки базы данных. Как только Access будет запущена, будет предложено открыть существующую базу данных, запустить мастера баз данных, и создать новую (New Database). Нам потребуется создание новой базы данных, поэтому, выберите в меню соответствующий пункт, и нажмите Ок. После этого, необходимо сохранить базу данных. Сохраните ее в директорию, где вы сохранили наш VB-проект, задав ей имя maindb.
Найдите в появившейся панели управления базой данных вкладку Tables (Таблицы), щелкните по кнопке New (Создать), выберите режим конструктора, и нажмите ОК.
Теперь, введите необходимые для нашей базы данных название полей. Названия полей водятся в первый столбец режима «Конструктор». Типа данных для полей не назначайте, поскольку это может вызвать некоторые конфликты при интеграции с VB-проектом. Все эти опции можно задать уже в среде программирования Visual Basic.
Название полей для нашей базы данных: * ID клиента; * Фамилия; * Имя; * Отчество; * Телефон; * Адрес; * Факс; * E-Mail. На этом все. Попытайтесь закрыть таблицу. Будет выведено сообщение с вопросом, сохранить ли базу данных. Нажмите Yes (Да), и введите название таблицы – maintable. Так же будет выведено сообщение с предложением создать ключевое поле. Отвечайте отрицательно, поскольку они нам не требуются. Закройте Access, он больше не нужен.
Запустите снова VisualBasic, и откройте сохраненный проект.
Откройте главную, и пока, единственную в нашем проекте форму. Найдите на панели инструментов, элемент Data, и разместите его на форме.
Теперь, нам нужно настроить элемент Data. Перво-наперво, назначьте этому элементу программное имя database. В свойство Caption вы можете ввести любое название, поскольку это свойство не влияет на работы элемента и программы в общем. Назначим главные операторы. DatabaseName – укажите файл базы данных, который мы создали только что. А в свойстве RecordsetSource укажите таблицу maintable, выбрав ее в списке.
Собственно, настройка элемента Data закончена.
Теперь давайте настроим таблицу, которая будет отображать данные, которые мы создали.
Итак, найдите на панели инструментов элемент Grid, и аккуратно растяните его на всю форму, оставив лишь место для созданных нами элементов, дабы не закрыть их таблицей. Назначьте программное имя таблице maintable, а в свойстве DataSource, укажите элемент database, который мы создали выше.
Теперь запустите таблицу на выполнение. Что мы видим? Название столбцов, но… не единой записи. А все потому, что мы пока создали только оболочку для просмотра базы данных. Ввести пока никакие данные мы не можем. А потому, для добавления записи, нам необходимо построить еще одну форму.
Все это сделать просто: нажмите правой кнопкой мыши на пустом месте в окне карты проекта, в контекстном меню найдите пункт Add>Form (Добавить>Форма).
Откроется диалоговое окно, где будет предложено выбрать множество форм. Выберите стандартную форму, называемую просто Form.
Далее, растяните слегка эту форму, что бы на ней поместилось несколько элементов. Назначьте форме программное имя add и заголовок окна «Добавить новую запись». Скройте форму от развертывания на весь экран, как это было описано выше.
Теперь разместите на форме элемент управления Data, и назначьте ему программное имя addrecord.
Начинаем рутинную работу по размещению элементов.
Найдите на панели инструментов элемент Label, и разместите его на форме. В свойстве Caption определите имя “ID клиента”. Создайте текстовое поле, найдя на панели инструментов и разместив на форме элемент TextField. Назначьте для него программное имя idofClient, в свойстве DataSource назначьте элемент управления Data, с программным именем addrecord, а в свойстве DataField определите соответствующую запись, то есть, «ID клиента». То же самое проделайте со всеми названиями столбцов нашей базы данных.
Ниже, разместите две командных кнопки, с программными именами cmdAdd и cmdDelete, и со свойствами Caption – Добавить, и Удалить, соответственно.
Щелкните на кнопке Добавить два раза, что бы ввести код добавления новой записи. Введите следующий код:
Addrecord.Recordset.AddNew NAddRec – True
Закройте окно редактирования кода, и щелкните два раза на кнопке Удалить, что бы ввести программный код для нее. Введите:
Dim nResult As Integer nResult = MsgBox(“Вы уверены?”, 1, “Удаление записи”) If nResult = 1 Then Addrecord.Recordset.Delete Addrecord.Recordset.MoveFirst End If
Отлично!
Теперь установить на этой форме кнопку «Закрыть», и запрограммируйте ее так, что бы она закрывала форму редактирования записей. Как это сделать написано выше, но постарайтесь вспомнить, как это делается. Тогда вы уж точно запомните этот простой оператор.
Теперь нам необходимо установить связь между основной формой, и формой добавления записи, иначе, мы никак не сможем вызвать форму для добавления записи.
Сохраните проект, и сохраните только что созданную форму под ее названием по умолчанию – add.
Откройте основную форму, и разместите кнопку «Редактировать записи». Задайте ей программное имя cmdEdit, и щелкните два раза, что бы ввести для нее код.
В окне редактирования кода, введите:
add.Show
Где add – это имя формы, которая добавляет запись, а Show – оператор открытия формы. Этот же оператор можно использовать при вызове любой формы:
имя_формы.Show
Будьте внимательны. VisualBasic различает регистр, и для него Add и add, это два разных имени, поэтому, следите что бы программное имя элемента, и это имя в листинге совпадали.
Вот и все. Запустите программу на выполнение, нажмите кнопку «Редактировать записи», и тут же запустится форма для добавления/удаления записей.
Введите во все поля необходимые данные и нажмите кнопку «Добавить». Теперь закройте программу, снова запустите, и посмотрите на главную таблицу. Данные обновились. А для того, что бы не перезапускать нашу программу, если пользователь захочет увидеть только-что введенные данные в таблице, настроим обновление оболочки базы данных.
Разместите на главной форме кнопку «Обновить», установите ее программное имя как cmdRefresh, и введите для нее следующий программный код:
database.Refresh
Теперь, каждый раз после добавления новой записи нажатия этой кнопки, новая запись будет появляться в главной таблице, где ее, кстати, можно будет подредактировать, и она, автоматически будет сохранять сама свои изменения в базе данных.
Ну вот вы и написали свою первую программу!
Теперь напишем информацию о программе. Откройте меню Project, и щелкните на пункте Properties. В поле Peoject Name, введите название вашей программы - PersonalDatabase. Оно не должно быть слишком длинным, поскольку это поле с ограниченным вводом: не более 40 знаков, и не должно быть с пробелом, поскольку этот символ (а для компьютера любое пустое место в тексте – символ) запрещен для этого текстового поля. Теперь откройте вкладку Make, и все данные, какие посчитаете нужными. Вся информация благополучно введена.
А как же теперь создать *.exe-файл, что бы каждый желающий мог запустить ваше творение на своем компьютере? Все проще простого. Откройте меню File, и найдите пункт Make PersonalDatabase.exe (заметим, что стоит имя программы, которую мы только что создали). Щелкните на этом пункте, и программа попросит указать место, куда отправить созданный exe-файл. На нажатии кнопки Save, работа над преобразованием программы в файловый формат, закончена. Поздравляю!
Для тех, кто пожелает создать еще и программу установки для VB-проекта, могу посоветовать мастера создания установочной программы. Эта утилита поставляется в комплекте с VisualBasic 5.0. Но, к сожалению, в VisualBasic 6.0 Enterprice Edition, этой утилиты уже нет в комплекте поставки.
Как видите все оказалось гораздо проще, чем кажется. Я вам дал основную базу, для самосовершенствования в области программирования баз данных. Вместо тех элементов которые я представил в этой статье, можно использовать гораздо более продвинутые и более сложные, а вместо базы данных Access, с таким же успехом можно использовать VBA для Excel, или возможности VisualBasic 5 (к примеру, программа VisualData), но это гораздо сложнее, и требует несколько больших навыков работы с VisualBasic.
|