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

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

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

ШАГ 101:

OTHERS

В этом шаге я немного расскажу тебе о самом редакторе Визуал Басика (как говорят ботаны Вижуал Бейсик (Ботаны - необижайтесь...)), начнем мы с удаления форм, модулей... Для удаления файла проекта, в поле Project - Project, выбирай любой файл, щелкай правой кнопкой по нему, и в открывшейся менюшке кликай по Remove Объект. Вот например, в этом рисунке показано как я удаляю Форму:

И также как и я удалил форму, ты можешь удалять и другие файлы.
Теперь перейдем к переименованию проекта. Чтобы переименовать проект тебе надо войти в Project/Project1 Properties... и в открывшемся окне, в поле Project Name - введи любое имя.

Ну пока все.

ШАГ 102

Свойства Height, Width

Свойства Height, Width - возвращают горизонтальный и вертикальный размеры бумаги в принтере, установленном в Windows. Пример: На форму кинь 2 Текстовых Поля, и кнопку, и впиши эту дрянь:
Private Sub Command1_Click()
Text1.Text = Printer.Height 'Узнаем высоту бумаги
Text2.Text = Printer.Width 'Узнаем ширину бумаги
End Sub
Ну это свойство не нужно, т.к. большая часть нашей страны использует формат A4.

ШАГ 103

Устанавливаем качество печати

Для установки качества печати, в VB есть спец свойство PrintQuality, его значения смотри в таблице:

Константа
Значение
Описание
vbPRPQDraft
1
Черновая печать
vbPRPQLow
2
Низкое разрешение
vbPRPQMedium
3
Среднее разрешение
vbPRPQHigh
4
Высокое разрешение

Например:
Printer.PrintQuality = 1 'Печатаем текст черным цветом

ШАГ 104

Смотрим кол - во установленных принтеров

Чтобы узнать сколько принтеров стоит в винде, кинь на форму текстовое поле, и кнопку, введи этот код:
Private Sub Command1_Click()
Text1.Text = Printers.Count 'В текстовом поле появится цифра, обозначающая кол - во принтеров
End Sub
А, бля, ко мне в бошку, как всегда не во время, пришла мысль. Ты наверное при печати заметил, что принтер печатает текст очень близко к верхушке. А это все потому, что принтер надо ввести в состояние готовности. Для этого перед печатью прогоним строку
Printer.Print " ";
А только потом начнем печатать. Все - на принтерах закончили, перейдем к сканерам (Шутка).

ШАГ 105

Компонент Microsoft Calendar Control 8.0. Делаем Календарь.

Как ты наверное понял из названия, этот компонент нужен для создания календаря. Помню когда - то в древности, ты сделал календарь(2 часть), при этом ты потратил много времени (т.к. не знал об этом компоненте...). Начнем. Создай новый проект(Standart EXE, или что - то вроде этого...), на форму запульни Таймер(Interval = 60000(1 мин (если поставить 1 сек, или меньше, то он будет моргать, мерцать, пищать...))). Добавь компонент Microsoft Calendar Control 8.0(для этого войди в Project >> Components и выбери Microsoft Calendar Control 8.0(подробнее в Шаге 34)).

Ну что подключил? Отлично! Теперь в Панели инструментов у тебя появится объект Calendar(), кидай его на форму, растягивай, подтягивай, пока по виду нормальный не станет. У тебя получится такая херня:

Теперь мы сделаем так, чтоб он каждую минуту обновлялся. Для этого впиши код:
Private Sub Timer1_Timer()
Calendar1.Today 'Обновляем наш календарь (вообще метод Today это не обновление (обновление - Refresh) ,а этот метод настраивает календарь на текущую дату)
End Sub
Все календарь создан, исходник качай <а href="kalendar.zip" class="a19">Отсюда
Теперь настраивай его как хочешь (меняй цвета, размеры шрифта..., для этого есть спец свойства (с ними ознакомляйся сам)).
Исходник - Здесь

ШАГ 106

Переход на VB6 & VB7

Если ты программируешь на VB5, то тебе уже давно пора переходить на VB6(я уже перешел), т.к. VB6 продолжение VB5, там намного больше компонентов, библиотек, и он как - то удобнее(т.к. я скачал русификатор для VB6(он на VBNet.ru, в разделе программы), и теперь мой Басик русский), хотя разницы я особой не почувствовал, все теже кнопки, тоже меню... Ну если бабла не очень много, то можешь и на пятой посидеть. Теперь о VB7. Подробно о VB7 читай на VBNet.ru - "Мое первое впечатление о VBNet" и "Мое второе впечатление о VBNet"), скажу только что на стремный комп он скорее всего не пайдет(как на мой старый 166MHZ), и ты сможешь писать проги пока только для себя, т.к. чтобы твоя прога пошла, на другом компе должна быть установленна спец прога(а она пока не у всех есть), но зато твои проги будут идти не только под виндом, но и под юниксом..., но это только при наличии проги(которая занимает около 100 MB), но мож Билл Гейц включит ее в следующий винд. Но купить наверное стоит, сам пока не знаю, т.к. только купил VB6.

ШАГ 107

Exit Sub

Опертор Exit Sub нужен для Аварийного выхода из проги. Много о нем я говорить не буду(сам не знаю), но чтобы понять для чего он нужен сделаем прогу. Смысл нашей проги будет в том, что при нажатии на кнопку, у ней свойство Caption = "padre03@mail.ru", при повторном нажатии Caption = "VBStreets.Narod.Ru", потом опять = "padre03@mail.ru", и так до упора. Можешь попробовать сам сделать эту прогу, НО в любом случае этот шаг прочитай. На форму кинь кнопку, и впиши код:

Dim QW1 As Long, QW2 As Long

Private Sub Command1_Click()
If QW1 = 1 Then
Command1.Caption = "padre03@mail.ru"
QW2 = 1
QW1 = 0
Exit Sub
End If

If QW2 = 1 Then
Command1.Caption = "VBStreets.Narod.Ru"
QW2 = 0
QW1 = 1
Exit Sub
End If
End Sub

Private Sub Form_Load()
QW1 = 1
End Sub

Не буду объяснять, сам должен разобраться. Исходник - Здесь


ШАГ 108

События

События MouseDown/MouseUp Эти события действуют тогда, когда кнопка мыши нажата(MouseDown),и когда отжата(MouseUp). Для примера сделаем прогу(при нажатии на кнопку будет двигатся фигура, а при отжатии останавливатся): На форму кинь кнопку, Shape, и таймер. Создай событие MouseDown и MouseUp(меню Events(2 часть)). И впиши код: Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) ' Если нажата кнопка наведенной мыши на кнопку то мы включаем таймер
Timer1.Interval = 1
End Sub

Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) ' Если отжата то выключаем
Timer1.Interval = 0
End Sub

Private Sub Timer1_Timer()
Shape1.Left = Shape1.Left + 30
End Sub

Скачать Исходник

События Resize - это событие есть только у формы, оно действует тогда, когда юзер пытается размеры окна изменить. Вот пример кода проги, у которой при изменении размера окна, возвращаются начальные размеры:
Private Sub Form_Resize()
Form1.Width = 4800
Form1.Height = 3600
End Sub

Теперь попробуй растени или сузь форму.

ШАГ 109

Событие GotFocus и LostFocus

Событие GotFocus происходит тогда, когда объекту передается фокус(т.е. если текстовое поле, то когда на нем курсор появляется, если кнопка, то тогда, когда она выделяется), а LostFocus когда фокус теряется.
Сделаем прогу. На форму кинь 2 текстовых поля и кнопку. Вот код:

Dim x As Long
Private Sub Command1_GotFocus() ' Если кнопке фокус передается то меняем надпись на кнопке
Command1.Caption = "Событие GotFocus"
End Sub

Private Sub Text1_GotFocus() ' Если текстовому полю передается фокус, то:
Text1.SelStart = 0 ' Ставим курсор в самое начало
Text1.SelLength = Len(Text1.Text) ' Выделяем текст
End Sub

Private Sub Text2_LostFocus() ' Если текстовое поле теряет фокус, то:
x = Text2.SelStart ' Сохраняем в переменную x позицию курсора
End Sub

Private Sub Text2_GotFocus() ' Если текстовому полю передается фокус, то:
On Error Resume Next' Если ошибка происходит, то игнорируем следующюю строчку
Text2.SelStart = x ' Ставим курсор в ту позицию, в которой он был перед потерем фокуса
End Sub

Исходник качай сдесь

ШАГ 110

Событие DragDrog и DragOver

Эти события происходят каждый раз при перетаскивании объекта. Например при перетаскивании окна, значка... происходит это событие. Ну короче делаем прогу. На форму кинь объект Image(Picture = "Любая картинка.jpg"), и чтобы ее(картинку) можно было перетаскивать поставь свойство DragMode = 1 - Automatic. Теперь запусти проект, и попробуй перетащить картинку. Ну что получилось? Отлично! Теперь сделаем так чтоб картинку можно было не только перетаскивать, а еще и останавливать в том месте куда ты перетащил.
У формы в списке Events выбери событие DragDrog, и у тебя автоматом сгенерируется процедура DragDrog. В ней впиши: Image1.Left = X
Image1.Top = Y

Вот весь код:

Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single) 'Если на форме происходит событие DragDrog то:
'Перемещаем картинку
Image1.Left = X
Image1.Top = Y
End Sub

Тока если ты заметил, что картинка при перемещении находится в каком - то квадрате, чтобы его убрать поставь свойство DragIcon = той же картинке что и свойство Picture. А если поставишь другую картинку, то при перемещении картинка изменится.
А событие DragOver присходит тогда, когда объект перемещается.
И эти события можно делать не только у формы, а и у других объектов. Исходник качай сдесь

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

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

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