Главная Гостевая Форум INFA

Программируем на Visual Basic'e:

Часть 1/Часть 2/Часть 3/Часть 4/Часть 5/Часть 6/Часть 7/Часть 8/Часть 9/ Часть 10 /Часть 11/Часть 12/Часть 13 /Часть 14/Часть 15

ШАГ 11

Работа со временем

Эту часть я начал писать тогда, когда закончил писать 4, и все получилось через жопу. Поскольку о некоторых темах я вспомнил в самом конце, а в четвертой части уже было поздно писать о датах, и работе с мышью..., и я решил написать эту часть. Вот так! После истории перейдем к делу! Чтобы узнать текущее время можно посмотреть на часы, которые находятся около пуска, или создать свои. Второй вариант нам подходит больше, т.к. зачем смотреть на чужие часы (Билла Гейца), когда можно сделать свои собственные? И этим мы сейчас займемся: Создай новый проект(Standart EXE), на форму кинь текстовое поле и таймер. У таймера свойство Interval будет равным 1(это время, через которое Timer будет обновляться (мл)). На таймер нажми 2 раза, и у тебя появится окно кода с созданной процедурой:
Private Sub Timer1_Timer()

End Sub
В ней впиши Text1.Text = Time, здесь текст в текстовом поле будет равен функции Time(текущее время). Вот что у тебя должно получиться:
Private Sub Timer1_Timer()
Text1.Text = Time
End Sub
Ну вот и все - теперь на часы злого дядьки Билл Гейца не смотри, а смотри на свои.

ШАГ 12

Работа с датами

Для работы с датами есть схожая функция Date, теперь сделаем апгрейд нашим часам, добавив к ним еще и дату. Открой проект, который мы делали в предыдущем шаге, и добавь к нему еще 1 текстовое поле(Text2). Теперь нажми 2 раза на форму и у тебя опять появится окно кода с созданной процедурой, но теперь для формы:
Private Sub Form_Load()

End Sub
Все что ты впишешь в эту процедуру, то у тебя будет загружаться вместе с формой. В ней впиши Text2.Text = Date, здесь текст в текстовом поле будет равен функции Date(текущая дата). Вот что у тебя должно получиться:
Private Sub Form_Load()
Text2.Text = Date
End Sub

ШАГ 13

Функция WeekDay

Функция WeekDay служит для определения дня недели (Понедельник, Вторник...). Сделаем прогу, которая будет определять день недели. Создай новый проект(Standart EXE), на форму кинь 1 метку, кликни два раза по форме и в создавшейся процедуре запиши:
Dim xday 'Объявляем переменную xday как Variant(хотя можно написать Dim xday as long)
Private Sub Form_Load()
xday = WeekDay(Date, vbMonday) 'xday будет равна дню недели
If xday = 7 Then 'Если xday будет равна 1 то:
Label1.Caption = "Воскресенье" 'Label1.Caption будет равна Воскресенье
End If
'Дальше я не буду описывать, т.к. там все тоже самое
If xday = 1 Then
Label1.Caption = "Понедельник"
End If
If xday = 2 Then
Label1.Caption = "Вторник"
End If
If xday = 3 Then
Label1.Caption = "Среда"
End If
If xday = 4 Then
Label1.Caption = "Четверг"
End If
If xday = 5 Then
Label1.Caption = "Пятница"
End If
If xday = 6 Then
Label1.Caption = "Суббота"
End If
End Sub

Кстати, кроме этой функции в VB есть еще около 20 функций связанных с датами и временем, но мы будем обходиться без них, а если они тебя интересуют, скачай с моего сайта(vbstreets.narod.ru) справку о функциях, там они почти все есть. Как ты наверное уже понял, я готовлю тебя к созданию Календаря.

ШАГ 14

Строковые функции VB

Я их специально не поместил в первую часть, т.к. они нам пригодятся при создании календаря. Для начала создай новый проект, на форму кинь 3 текстовых поля и 3 кнопки.
1. Len(Слово) - считает сколько символов в слове. В созданном проекте воспользуемся кнопкой 1:
Private Sub Command1_Click()
Text1.Text = Len(Text2.Text) 'При нажатии на кнопку в текстовом поле появится 5,т.к. у 2 - ого текстового поля свойство Text по умолчанию равно Text2 - а здесь 5 букв
End Sub
Private Sub Command1_Click()
Text1.Text = Len("Visual Basic") 'При нажатии на кнопку 1 в текстовом поле появится 12,т.к. у Visual Basic - 12 букв
End Sub
2. Left(Слово, Длина) - эта функция служит для вырезания подстроки. В созданном проекте воспользуемся кнопкой 2:
Private Sub Command2_Click()
Text2.Text = Left("Visual Basic", 6) 'При нажатии на кнопку 2 в текстовом поле появится Visual, т.к. мы вырезаем 6 символов
End Sub
3. Mid(Слово, Позиция, Длина) - это функция нужна также как и Left для вырезания, но у Left будет вырезаться с самого первого символа, а в Mid можно задать позицию. В созданном проекте воспользуемся кнопкой 3:
Private Sub Command3_Click()
Text1.Text = Mid("VisualBasic", 7, 5) 'При нажатии на кнопку 3 в текстовом поле появится Basic, здесь 7 - это позиция, а 5 - означает количество вырезаемых символов.
End Sub

ШАГ 15

Создание Календаря

Т.к. мне было в падлу делать календарь, я решил дать тебе задание. Щас я тебе скажу твою миссию. Ты должен сделать календарь, но не просто дешевый календарь, у которого кроме числа ни чего определятся не будет, а календарь, который будет определять месяц, число, год, день недели. Приступим:
На форму кинь 4 метки, и 1 Shape(фигура) - это будет рамка, у формы свойство BorderStyle сделай равным 0 - None, это для того чтоб убрать заголовок, и все остальное у формы, т.к. они нам не понадобятся. У тебя он должен получиться похожий на этот:


Исходник проги можешь скачать отсюда, там же разбирайся с кодом (в исходнике есть описание).

ШАГ 16

Работа с ФЛАЖКАМИ & ПЕРЕКЛЮЧАТЕЛЯМИ

Флажки - это такой же объект как кнопка, текстовое поле, метка..., и на этом шаге я научу тебя ими пользоваться. Он выглядит примерно так: .Ну что впечатляет? Отлично! Тогда войди в VB(как всегда Standart EXE), на форму кинь 1 флажок, и наверное хорош. Теперь сделаем прогу, чтоб при убирании или ставке флажка комп выводил сообщение о состоянии флажка. Ну короче смотри и запоминай:
Private Sub Check1_Click() 'При нажатии на флажок:
'О щет, я чуть не забыл тебе рассказать о свойстве Value, это свойство определяет стоит флажок или нет, если Value равен 1 то он стоит, если 0 то он убран
If Check1.Value = 0 Then 'Так вот, если свойство Value равно 0(флажок убран) то:
MsgBox "Флажок убран" 'Выскакивает ошибка с сообщением, что флажок убран
End If
If Check1.Value = 1 Then 'А если свойство Value равно 1(флажок поставлен) то:
MsgBox "Флажок поставлен" 'Выскакивает ошибка с сообщением, что флажок поставлен
End If
End Sub

А с переключателями такая же петрушка! Переключатель тоже объект, и у него тоже есть свойство Value, и оно почти также работает. Флажки выглядят так: В предыдущий проект добавим 2 переключателя, у первого переключателя свойство Caption сделай 1, а у второй 2.Теперь о свойстве Value - если у флажков там можно ставить 0 или 1,а у переключателя True или False. Не помню, говорил я о True и False, но на всякий случай скажу. True - переводится как Истина, это означает что у переключателя черная пипка будет поставлена, а False - это Ложь, если это свойство будет стоять, то пипки не будет. Так вот, сделаем прогу, у которой при выборе переключателя 1 выскакивает ошибка о его выборе, и так же со вторым.
Private Sub Option1_Click() 'При нажатии на переключатель 1:
If Option1.Value = True Then 'Если у переключателя 1 стоит черная пипка то:
MsgBox "1" 'Выскакивает ошибка с надписью 1
End If

Private Sub Option2_Click() 'При нажатии на переключатель 2:
If Option2.Value = True Then 'Если у переключателя 2 стоит черная пипка то:
MsgBox "2" 'Выскакивает ошибка с надписью 2
End If

Исходник проги можешь скачать отсюда

ШАГ 17

О свойствах

Здесь я напишу самые популярные свойства, но не все, а с остальными свойствами мы познакомимся в следующих частях. Напомню, что в VB есть окно свойств, где перечислены все свойства для выбранного объекта. В этой таблице я напишу некоторые свойства, для каких объектов они

Caption Это свойство используют: Форма, Кнопка, Метка, Переключатель, Флажок, Frame. С этим свойством ты уже хорошо знаком, у всех объектов это надпись - у формы это заголовок.

Text - это свойство использует только Текстовое поле, это тоже надпись, но только у текстовых полей

BackColor - это свойство используют: Текстовое поле, Метка, Кнопка, Форма, Переключатель, Флажок, Frame, ListBox, Shape, ComboBox, DirListBox, DriveListBox - оно нужно для установки фона. <р class="c2">Multiline - это свойство использует Текстовое поле, оно нужно для того, чтобы текстовое поле было не однострочным, а многострочным, создай новый проект, на него кинь текстовое поле, включи проект(Run), введи туда текст и нажми на Enter. Ну что нажимается? Конешно нет! Т.к. по умолчанию свойство Multiline равно False(Ложь), а чтоб можно было включить многострочный режим, тебе надо поставить True.

Visible - это свойство используют все объекты, кроме таймера (так как таймеру оно ненужно). Оно определяет видим объект или нет, например если ты хочешь скрыть объект, то поставь False. Также напомню, что все эти свойства можно делать и программно. Тебе надо указать Обьект.Свойство = ЗначениеСвойства. Например, на форму кинь две кнопки, при нажатии на кнопку 1 , вторая кнопка исчезнет:
Private Sub Command1_Click() 'При нажатии на кнопку 1:
Command2.Visible = False 'Кнопка 2 исчезает
End Sub

Здесь, как я уже и говорил в первой части, место свойства Visible, можно написать Caption, Text, BackColor, и любое другое свойство, которое ты увидишь в окне свойств для выбранного объекта.

ToolTipText - это свойство также как и Visible используют все видимые объекты. Оно нужно для вызова "мини меню" (я не знаю как это называется, но главное знать не название, а для чего оно нужно), в 15 шаге есть рисунок календаря, направь на него мышку, и увидишь это меню.

Left & Top & Height & Width Эти свойства используют все объекты, ну тут наверное все понятно, но ради приличия я расскажу их значения. Left - это свойство определяет насколько объект будет приближен или отдален от левого края формы. Top - это свойство определяет насколько объект будет приближен или отдален от верхнего края формы. Height - высота объекта. Width - ширина объекта. Все эти свойства мы будем использовать в Анимации (с помощью свойства Left & Top, будем двигать объекты, Height & Width - растягивать). Ну на этом пока все, здесь перечислено всего несколько свойств, хотя их намного больше (у 1 формы их около 50),если тебе будет не лень, то сам поэкспериментируй со свойствами.

Enabled - это свойство используют все объекты, оно нужно для включения и выключения объектов.

ШАГ 18

Работа с Мышкой. Отслеживаем Координаты курсора.

Ну для начала я тебе скажу что такое события, и с чем их едят. События есть у каждого объекта, например у кнопки по умолчанию стоит событие Click(Клик), а у текстового поля Change(Изменение). Щас я тебе покажу как надо все это дело менять.
На этом рисунке показано где находятся события, а как их менять наверное можно догадаться (для этого надо нажать на список, и в нем выбрать нужное событие). Для работы с мышью есть несколько событий, но на этом уроке я тебя познакомлю с одним - MouseMove(Движение мыши). Это событие отслеживает движение мыши. В этом шаге мы сделаем прогу, которая будет отслеживать движение мыши внутри нашей проге (чтобы отслеживать движение мыши в не нашей проге надо знать API - но это в 7 части) Ну что начнем? Войди в VB(Standart EXE),на форму кинь 2 текстовых поля, в эти поля будут выводиться координаты мыши. У формы в списке событий поставь MouseMove. У тебя автоматом создастся процедура:

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

End Sub

В ней впиши код определения координат(X и Y).Text1.Text = X и Text2.Text = Y

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Text1.Text = X
Text2.Text = Y
End Sub

Ну здесь я пояснять не буду, т.к. все наверное и так понятно.

ШАГ 19

Событие DblClick

Это событие тоже связано с мышью, я не знаю как оно переводится, но оно означает двойной щелчок мыши по объекту. Опять выбери в списке событий событие DblClick, и у тебя создастся процедура:
Private Sub Form_DblClick()

End Sub

В ней впиши MsgBox "Событие DblClick". Вот что у тебя получится:

Private Sub Form_DblClick()
MsgBox "Событие DblClick"
End Sub

Теперь запускай проект, и щелкни два раза по форме.

ШАГ 20

Событие MouseUp & MouseDown

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

Все! Теперь ты можешь читать 3 Часть. Если у тебя есть какие-нибудь вопросы, пожелания, или ты нашел несколько орфо ошибок и т.д., то оставляй свои сообщения на форуме, гостевой книге (моего сайта vbstreets.narod.ru), или пиши в наглую на E-mail: padre03@mail.ru, я на них обязательно отвечу. И если ты зайдешь на мой сайт, кликни плиз по банеру Porta(сиреневый), мне за это немного бабла отвалется(2 цента). И если ты захочешь поддержать Отечественного производителя(т.е. Меня), то кликай по банеру раз в месяц. А если ты очень богатый, то не просто кликни, а еще что - нибудь купи.

автор учебника: Падре
Дата создания: 26 Февраля 2003 года

Место под Банеры

Официальный сайт учебника - 'Программируем на Visual Basic'