Создание сайта

Основы программирования на Visual Basic 6.0

Поэтапное создание собственного сайта с нуля



Программы нужны для выполнения компьютером какого-либо задания. Любые действия, выполняемые компьютером в программах, производятся над некоторыми объектами. По изменению состояния этих объектов можно судить о результатах данного действия. Одним из важнейших объектов в программе является ПЕРЕМЕННАЯ (это понятие в программировании имеет иной смысл, чем математике).


Понятие алгоритма
.

Алгоритм - это описание последовательности действий, выполнение которых необходимо для решения задачи. Практически в любой задаче имеются исходные данные, по которым нужно получить результат. Иначе говоря, алгоритм описывает последовательность действий, в результате выполнения которых на основании исходных данных получается требуемый результат.

Разработка алгоритма решения задачи осуществляется путем ее разбиения на шаги (или этапы), которые выполняются последовательно. При разработке алгоритма необходимо указать содержание всех шагов, а также порядок их выполнения. Если алгоритм грамотно разработан, то его выполнение можно поручить любому исполнителю, даже если он не знаком с поставленной задачей.

Точно следуя указанным в алгоритме шагам, исполнитель получит решение этой задачи.

Пример 1.4. Требуется вычислить произведение натуральных чисел от 1 до n (факториал): Р= 1×2×...×n=n
Решение. При составлении алгоритма для решения данной задачи можно использовать алгоритмическую структуру цикл while, в качестве счетчика для которого будет использоваться переменная i. Перед началом цикла необходимо выполнить следующие операции:


i =1
P =1
После этого в цикле следует выполнить такие операторы:
P =P *1
i = i +1
По окончании цикла результат работы программы будет находиться в переменной Р.
Программа, реализующая этот алгоритм на естественном языке, приведена ниже.
1. ввод n
2. i = 1
З. Р = 1
4.если i > п, перейти на 8
5. Р = Р*i
6. i = i + I
7.перейти на 4
8.вывод Р
9.конец вычислений

Программа вычисления факториала в переводе с естественного языка программирования на язык Basic будет выглядеть следующим образом:


Input n 'ввод n
Р = 1 'ввод Р
For i = 1 То n 'цикл while
Р = Р * i 'тело цикла
Next 'возврат к началу цикла
Print Р 'вывод Р
End 'завершение программы


В рассматриваемой версии языка Basic каждый оператор пишется в отдельной строке. Количество пробелов и знаков табуляции между частями оператора не имеет значения. Справа от любого оператора можно записывать комментарии для него, поясняющие идею той или иной выполняемой операции. Перед началом комментария ставится апостроф.

В записи оператора строчные и прописные буквы равноценны, поэтому для повышения читаемости текста программы служебные слова обычно начинаются с прописной буквы. Чтобы расположить несколько операторов в одной строке, между ними ставится символ двоеточия. Например:
Input n : Р = 1
В случае необходимости расположения одного оператора на нескольких строках, следует в конце каждой строки ставить символ подчеркивания (используется в дальнейшем изложении материала). Например:

If х < 0_
And у < 0_
And z < 0 Then Р = х + у + z


Зачастую при описании цикла бывает заранее известно, сколько раз он должен выполняться. В этом случае следует использовать конструкцию такого вида:

For счетчик = нач. значение То
кон. значение[Step шаг]


Объектно-ориентированное программирование (ООП).

При использовании ООП основными данными являются не переменные, а объекты. Рассмотрим пример для пояснения этого термина. Пусть необходимо написать программу, которая будет рисовать на экране круг какого-либо определенного цвета. Для этого нужно знать радиус, координаты центра, а также цвет, которым он будет закрашен. Если создавать программу стандартным способом, то понадобятся такие переменные:

R -радиус круга;
X, Y - координаты центра круга;
Соlоr - цвет круга.

Для того чтобы нарисовать этот круг на экране, нужна процедура, которую можно назвать Draw. Она будет изображать круг с заданными параметрами R, X, Y, Соlоr. Недостаток стандартного метода заключается в том, что данные в этом случае не являются взаимосвязанными.

Предположим, что нужно нарисовать не один, а три круга. При использовании стандартного метода программирования придется выбирать между двумя способами реализации этого примера. Первый способ - завести для каждого круга свой набор параметров R, X, Y, Соlоr, а затем вызывать процедуру Draw с каждым из этих наборов.

Недостаток данного способа очевиден: если нужно рисовать много кругов, то понадобится большое количество переменных. Это приведет к тому, что программа станет очень громоздкой. Второй способ заключается в том, чтобы для каждого нового круга задавать в программе свои значения параметров R, X, Y, Со1оr, но при этом значения параметров для предыдущего круга будут теряться.

Если в этой программе ограничиться изображением кругов, то недостаток второго способа не будет иметь значения. Но когда создается значительное по размеру приложение, то разработчику желательно представлять себе возможные изменения и дополнения, которые необходимо будет реализовать в будущем. В рассматриваемом примере с кругами возможно несколько изменений.

Предусмотреть возможность перемещения кругов по экрану в различных направлениях - процедура Моvе. Для того чтобы переместить круги на заданное расстояние в определенном направлении, пользователь не обязан знать его предыдущие координаты (точнее, координаты всех его cоставляющих). Поэтому параметрами процедуры Моvе должны быть относительные координаты перемещения, а не абсолютные. Иначе говоря, круги должны перемещаться относительно своего исходного положения.

Сделать возможным изменение цвета для всех кругов, из которых состоит - процедура ChangeColor. Для ее выполнения будут необходимы два параметра: имя изменяемого объекта-круга и новый цвет, которым он будет закрашен.

Если использовать второй способ (с малым количеством переменных), то реализация этих дополнительных возможностей представляется крайне затруднительной. Причина этого -отсутствие значений параметров для всех кругов, за исключением последнего, потому что при рисовании каждого последующего объекта процедура Draw должна вызываться с новыми значениями параметров.

Следовательно, когда круги будут нарисованы, то в переменных R, X, Y, Со1ог будут храниться значения параметров для последнего нарисованного объекта, а все остальные значения будут потеряны. Поэтому перемещение всех кругов, будет невозможно, следовательно, для данного примера второй способ неприемлем.

При использовании первого, более громоздкого метода, можно реализовать все предложенные дополнения, но при этом новые процедуры придется вызывать не один, а три раза - для каждого объекта. Если представить, что имеется несколько комплектов кругов, то для любого круга, входящего в состав каждого из них, должна быть предусмотрена возможность перемещения и изменения цвета. Очевидно, что реализация этих возможностей стандартными методами программирования приведет к значительному увеличению объема программы.


Наследование

Вернемся к рассматриваемому примеру с рисованием кругов. Представим круги в виде снеговика и надо верхний круг нарисовать с глазами, которые должны время от времени мигать. Все остальные свойства и методы у объектов-глаз должны быть такими же, как и у объектов-кругов, принадлежащих классу Round.

Иначе говоря, глаза тоже нужно перемещать по экрану вместе с остальными кругами, а также должна оставаться возможность изменения их цвета. Для реализации этого дополнения можно создать еще один класс - Еуеs (глаза), в котором будут те же свойства и методы, что и в Round, но еще будет добавлен метод Вlinк (мигание). Однако при этом придется для класса Еуеs заново создавать все свойства и методы, которые уже были описаны для Round.

Round
Свойства
R
X
Y
Color
Методы
Draw
Move
ChangeColor
Eyes
Свойства
R
X
Y
Color
Методы
Draw
Move
ChangeColor
Blink


Полиморфизм

Термин своим происхождением обязан двум греческим словам: роlу (много) и morphos (форма). Таким образом "полиморфизм" переводится как "множество форм". В программировании этот термин относится к таким переменным или параметрам процедур (функций), которые в процессе выполнения программы могут принимать значения разных типов. Процедуры (функции), имеющие полиморфные параметры, также называются полиморфными. Далее будет рассмотрено использование полиморфизма в ООП.

Обратимся снова к примеру с кругами. Пусть необходимо рисовать на экране не только круги, но и другие геометрические фигуры (например, прямоугольники), причем с ними нужно выполнять те же самые действия, которые были описаны ранее (рисовать, перемещать, изменять цвет фигуры). Но для того, чтобы нарисовать прямоугольник, необходимо знать координаты какой-либо его вершины (например, левой верхней), а также его длину и ширину.

Для реализации приведенных требований следует создать класс Rect (rectangle - прямоугольник), являющийся потомком Round, и применительно к нему X и У - это координаты выбранной вершины прямоугольника, а R. - его длина (или ширина). Но в этом случае придется описать еще одно свойство для обозначения ширины (или длины). Очевидно, что при работе с подобными классами легко может возникнуть путаница в использовании свойств, и причина этого - узкая направленность класса Round, который ориентирован на работу только с определенной геометрической фигурой.


Пример создания программы.
Проигрыватель музыки Wave и видео AVI.

Этот проигрыватель можно сохранить у себя на компьютере,а также доработать его для своих нужд.

Создайте новый проект Standard EXE.
Откройте окно свойств проекта, выбрав команду Projecti Properties (Свойства Project 1) меню Project (Проект) и присвойте проекту имя MyMultiMedia.

Присвойте форме проекта имя Formplayer. В свойство caption формы введите заголовок Мультимедиа плейер.

Присоедините к проекту библиотеку компонентов Microsoft Multimedia Control 6.0, воспользовавшись диалоговым окном Components (Компоненты), которое открывается в меню Project (Проект) командой Components.

Нам потребуется диалоговое окно поиска проигрываемых файлов, поэтому установите также в окне Components флажок для библиотеки компонентов Microsoft Common Dialog Control 6.0.

Добавьте в форму Formplayer элемент управления MMControl, дважды щелкнув мышью кнопку MMControl на панели элементов управления, и присвойте ему имя MMControlCDPlayer.

Также в форме проигрывателя надо предусмотреть окно просмотра.Это делается с помощью элемента управления picture,расположенного в панели элементов управления,дважды щелкнув мышью кнопку PictureBox.В окне свойств проекта запишите в Name(Имя) picview.
Внешний вид проигрывателя




Добавьте в форму элемент управления commonDialog, дважды щелкнув мышью кнопку CommonDialog на панели элементов управления, и присвойте ему имя cdplayer.

Добавьте в форму Formplayer кнопку управления типа CommandButton, дважды щелкнув мышью кнопку CommandButton на панели элементов управления. Назовите эту кнопку cbFindFile и введите в свойство caption значение Найти файл. По событию click созданной в форме кнопки cbFindFile будет открываться диалоговое окно для поиска воспроизводимых файлов.

В окне ввода кода запишите:




Посмотрите плейер в работе

Если вы предполагаете сделать просмотр на полный экран,то уберите из кода

MMControlCDPlayer.hWndDisplay = picView.hWnd
FormPlayer.picView.SetFocus


скачайте исходник

Для сайта

Справка
Для сайта




Новые Технологии



Наверх