Часть 1/Часть 2/Часть 3/Часть 4/Часть 5/Часть 6/Часть 7/Часть 8/Часть 9/ Часть 10 /Часть 11/Часть 12/Часть 13/Часть 14/Часть 15/Часть 16 /Часть 17 /Часть 18
Здоровеньки булы!!! В этом учебнике мы будем учиться программировать на VB6. Прежде чем приступать к урокам я тебе скажу все достоинства и недостатки VB, и тебе может расхочется изучать этот язык, или наоборот. Достоинства: Самое главное достоинство это то, что много кода писать не надо, т.е. по сравнению с дядюшкой Си код у VB в несколько раз меньше. Легко запомнить, если Си надо изучать несколько лет, то VB можно изучить за несколько месяцев.
Если ты захочешь стать Злым Дядькой (админ (системный администратор)), то тебе без VB не обойтись! Т.к. VB ближайший родственник Microsoft`a. На VB можно делать сайты(VBS), делать программы для Microsoft Office(Word, Exel), писать сценарии.
А теперь недостатки: Программы написанные на VB не могут работать самостоятельно, они в отличие от дядюшки Си, который работает самостоятельно, держутся на одних подпорках (это Windows`ие библиотеки msvbvm50,и др.) К счастью во всех 98 и выше версий винда они есть. И программы написанные на VB не работают кроме Windows`a ни где. В отличие от СИ, на котором и была написана операционная система Unix. Но сейчас уже вышел VB7, который работает во всех системах.
Мой учебник рассчитан как на юзера, так и на тех, кто уже программирует на VB. Я не буду заставлять тебя учить тупые определения, а сразу начнем делать программу.
Сегодня мы создадим свой первый проект на VB, как я уже говорил, что мы не будем учить тупые определения, а сразу начнем создавать программу. Что нам для этого нужно? Нам нужен редактор по VB5, и выше (если у тебя VB4, то может тоже сойдет, но я рекомендую перейти на VB6, т. к у меня был VB5, и мне уже в последнее время стало стыдно появляться на форумах, чатах и конференциях, если я там скажу, что у меня VB5, то меня от туда сразу выкинут и еще обосрут...). Если у тебя нет редактора, то тебе надо изучать WEB языки(HTML, JavaScript, VBScript, JScript...), в них место редактора можно использовать блокнот. Итак, входим в редактор VB.
Нажимаем на Standart EXE, и перед тобой открывается новый мир, мир чудес и волшебства, ой я походу дела задумался, перед тобой открывается не новый мир, а редактор VB.
В нем мы видим с боку панель инструментов, форму... Теперь остановимся на этом месте.
Панель инструментов.
Она располагается в левой части окна, в нее входит: Label(метка)
|
![]() |
После ознакомительной части начнем делать свою первую программу.
Для этого входим в редактор, нажимаем Standart EXE. На форме ставим кнопку(CommandButton), и метку(Label). Выделите метку, и в окне свойство объекта, в поле Caption введите: "Моя первая программа". Текст метки должен измениться. Кликаем по полю Font 2 раза. Открывается окно, в нем мы выбираем размер шрифта(12),и ставим полужирный. Теперь переходим к программной части программы. Кликаем два раза на кнопку, и появляется окно с кодом | ![]() ![]() |
Метод Print аналогичен методу Caption, но только он для формы. Мы вписываем место label1.caption="Теперь я программер" - Form1.Print "Объект Print", ты спросишь: "Почему нам не вписать Form1.Caption="Объект Print", потому что у формы Caption, это не надпись, а заголовок.
Задание: Твоя задача сделать программу, у которой при нажатии на кнопку, срабатывал объект Print, и менялся заголовок формы.
Исходник программы можешь скачать отсюда
Ты наверное мечтал когда-то установить размер надписи, поменять цвет... Теперь твоя мечта сбылась! Сейчас мы будем делать с надписью все, что захотим. Входим в VB, кликаем на Standart EXE. На форму помещаем 4 кнопки, 1 метку, и наверное хорош. У 1-ой кнопки свойство Caption должно быть равным "Шрифт", у 2-ой кнопки свойство Caption будет равным "Цвет", у 3-ей "Фон", у 4-ой "Фон Формы". У тебя должно получиться что-то вроде этого:
Теперь код:
Private Sub Command1_Click()
Label1.FontSize = 26 'при нажатии на кнопку 1 у метки будет размер равным 26
End Sub
Private Sub Command2_Click()
Label1.ForeColor = vbRed 'при нажатии на кнопку 2 цвет текста будет красным
End Sub
Private Sub Command3_Click()
Label1.BackColor = vbBlack 'при нажатии на кнопку 3 цвет фона метки будет черным
End Sub
Private Sub Command4_Click()
Form1.BackColor = vbWhite 'при нажатии на кнопку 4 цвет фона формы будет белым
End Sub
Private Sub Form_Load()
Label1.FontSize = 12 'при загрузке программы у метки будет размер равным 12
Label1.Caption = "Операции с текстом" 'при загрузке программы текст метки будет "Операции с текстом"
Form1.Caption = "Формач" 'при загрузке программы текст формы будет "Формач"
End Sub
С кнопками мы уже разобрались, а вот как сделать чтоб действие выполнялось сразу после
загрузке формы, мы еще не знаем. А надо кликнуть 2 раза по форме, и появится такой код:
Private Sub Form_Load()
End Sub
В ней мы вписываем код, который будет загружаться вместе с формой.
Исходник программы можешь скачать отсюда
Ну вот и все, сегодня мы научились делать всякие штучки с текстом.
Если ты это читаешь, значит ты не ЛАМЕР, т.к., досюда ламер не дочитал бы. Переменные играют очень важную роль во всех языках, они нужны для хранения информации. Для объявления переменной
тебе надо ввести этот код:
Dim Имя переменной As Тип
Где Имя переменной - любая буква
Тип - определяется типом данных, которые могут быть значениями переменной. Короче хорош мудрить!
Если переменная - число, то тебе надо писать вместо типа Integer, Long; если строка, то String; если ты сам не знаешь, что это, то тебе надо вписать Variant(но эта сучка память жрет только так)Пример:
Dim qw As Integer (qw=0) ;
Dim A As String (A="ламер поганый")
А теперь сделаем ПРОГРАММУ!!! Войди в VB(Standart EXE), на форму кинь 4 кнопки, у первой свойство Caption = "Число", у второй = "Строка", у 3 = "Вариант Строка", у 4 = "Вариант - Число", и текстовое поле. Вот код:
Dim Hislo As Long 'Объявляем переменную Hislo для работы с числами
Dim stroka As String 'Объявляем переменную stroka для работы со строками
Dim Varian 'Объявляем переменную Varian для работы с числами и строками
Private Sub Form_Load() 'При загрузке формы:
Hislo = 3 'Переменная Hislo будет равна 2(без кавычек, т.к. это не строка)
stroka = "ламер поганый" 'Переменная Stroka будет равна "Ламер поганый" (с кавычками, т.к. это строка)
End Sub
Private Sub Command1_Click() 'При нажатии на кнопку:
Text1.Text = Hislo + 2 'Текстовое поле будет равно Hislo + 2(здесь Hislo = 3)
End Sub
Private Sub Command2_Click() 'При нажатии на кнопку:
Text1.Text = stroka 'Текстовое поле будет равно stroka(а stroka = "Ламер поганый")
End Sub
Private Sub Command3_Click() 'При нажатии на кнопку:
Varian = "Строка" 'Переменная Varian будет равна "Строка"(это строка)
Text1.Text = Varian 'Текстовое поле будет равно Varian(здесь Varian = "Строка")
End Sub
Private Sub Command4_Click() 'При нажатии на кнопку:
Varian = 5 'Переменная Varian будет равна 5(это число)
Text1.Text = Varian + 3 'Текстовое поле будет равно Varian(здесь Varian = 5)
End Sub
Из этого примера, ты видишь, что переменная типа Variant может принимать как и строковое значение, так и числовое. А переменная Long, только числовое, а String - только строковое.
Так что для начала можешь использовать Variant, но я все равно буду показывать на Long & String.
Исходник программы можешь скачать отсюда
Ну я не буду тебя грузить этими переменными, если ты не понял, то поймешь позже.
Сегодня 27.12.02 и у меня радости полные штаны! Я по химии ПОЛУЧИЛ 4. Я сам не знаю как я это сделал, нифига я ей не ответил, но за что - то она мне поставила. И от радости я написал статью
"Самоуничтожитель компа",
если ты хочешь над кем - нибуть прикольнуться, то в ближайшем будущем мы будем делать всякие приколы (Начиная со 2 - ой части), а если тебе не в терпеж, и ты толком не зная языка, хочешь над кем - нибуть прикольнуться, то можешь прочитать эту статью, в ней даже не нужен редактор VB(тебе нужен блокнот (текстовой документ), или любой другой текстовой редактор, а это к счастью дается с виндом. Если у тебя по какой - то причине не открывается, то в самом начале 3 части эта статья есть. Что - то я заболтался (это от радости), ну что ты готов сделать свою первую серьезную программу? да. Не слышу. Да! Децл погромче. ДА Я ХОЧУ СДЕЛАТЬ КАЛЬКУЛЯТОР!!! Фу бля, не ори на ухо, ты меня оглушил...
Ну, если ты готов, тогда приступим. Как всегда входим в VB, кликаем на Standart EXE. Помещаем на форму 3 текстовых поля, со свойством Text равным: у первых двух без текста, а у 3-его равным 0(это можно сделать в окне свойство объекта, или написать код Text1.Text="",Text2.Text="",Text3.Text="0",я рекомендую все свойства писать только кодом, так ты быстрее освоишь язык), и 5 кнопок со свойством Caption равным:
У 1-ой CE
У 2-ой X
У 3-ей /
У 4-ой +
У 5-ой --
Как это делать ты должен знать (в окне свойство объекта, или кодом Command1.Caption="CE"...,естественно в поле Form onLoad(кликни два раза по форме))
У тебя должна получиться такая штука:
Теперь код:
Private Sub Command1_Click()
Text1.Text = "" 'при нажатии на кнопку CE, у двух текстовых полей свойство Caption будет равным " ", а 3-его будет равным 0
Text2.Text = ""
Text3.Text = "0"
End Sub
Private Sub Command2_Click() 'при нажатии на кнопку *,
1 текстовое поле будет умножено на второе, и это будет равно 3-ему
Text3.Text = Text1.Text * Text2.Text
End Sub
Private Sub Command3_Click() 'при нажатии на кнопку /,
1 текстовое поле будет разделенно на второе, и это будет равно 3-ему
Text3.Text = Text1.Text / Text2.Text
End Sub
Private Sub Command4_Click() 'при нажатии на кнопку +,
1 текстовое поле будет прибавлено ко второму, и это будет равно 3-ему
Text3.Text = Val(Text1.Text) + Val(Text2.Text)
End Sub
Private Sub Command5_Click() 'при нажатии на кнопку --,
1-ое текстовое поле будет отнято от второго, и это будет равно 3-ему
Text3.Text = Text1.Text - Text2.Text
End Sub
Private Sub Form_Load()
Form1.Caption = "Калькулятор 2003" 'при загрузке формы, ее заголовок будет "Калькулятор 2003"
End Sub
Теперь я хотел бы пояснить что такое Val(при прибавлении см. выше в коде), это функция, она нужна для того, чтобы комп преобразовывал символ из строки, в число, т.е., допустим если ты напишешь без нее, то при прибавлении 4+4, у тебя будет не 8, а 44. Ну вроде объяснил.
Исходник программы можешь скачать отсюда
В этом разделе я познакомлю тебя с самыми главными функциями, но НЕ СОВСЕМИ, а только с самыми нужными
1. VAL(строка) 1-ая наша функция вам уже знакома, это функция Val, как я уже и говорил она нужна для того, чтобы комп преобразовывал символ из строки, если ты не понял, то не поленись и посмотри вверх, там она подробна описана.
2. Fix Это функция превращает (помойму десятичное (у меня по алгебре 3,и я не знаю как это число называется, спросил у братана, тоже не знает, и я решил назвать его десятичным, главное чтоб было понятно)) в целое, т.е. если у тебя будет 3.12345 то с этой функцией будет 3.В VB дробные числа записываются через точку(3.12345),а на экране появляются через запятую(3,12345).Эта функция пригодится нам очень скоро, для создания первой игры.
3. Rnd Эта функция случайных чисел, например в игре сапер, бомбы появляются каждый раз по разному, это благодаря этой функции.
Пример:Text1.Text = Rnd, и сделайте так чтобы при нажатии на кнопку срабатывал этот код. Если ты был внимателен ты заметил, что при запуске программы, числа генерируются такие же как при предыдущем и следующем запуске. Чтобы этого избежать, в Form_Load помести слово Randomize.
Чтобы ограничить эту функцию нам надо записать так: Rnd * 5, и тогда здесь будут генерироваться числа от 0 до 5, но чтоб он не выдавал дробные числа поставим функцию Fix: Fix(Rnd*5).Эта функция нам тоже пригодится для игры.
4-5. Asc(Строка) Эта функция нужна для перевода символов в код Аски, а код аски нам очень пригодиться очень скоро, сейчас я поясню почему, а потому, что во всех языках программирования, код аски нужен для доступа к клаве, но об этом потом. А функция Chr(число) делает все наоборот, она переводит из аски в символы. И поскольку нам эти функции очень важны я дам тебе Задание:
Тебе надо сделать программу, которая переводила любой вписанный символ в код аски, и обратно. Для этого тебе понадобиться два текстовых поля, 2 кнопки со свойством Caption равным: У первой Asc, у второй Chr. Да, чуть не забыл, если мы заговорили о текстовых полях, то я хотел бы тебе сказать, что для текстового поля есть одно свойство, оно нужно для ограничения вводимых символов, это свойство называется MaxLength(Его так назвал злой дядька Билл Гейц), так вот нам надо выделить Текстовое поле, и в окне свойств найти свойство MaxLength, по умолчанию стоит 0,но место него нам можно ввести любое число, и это число будет устанавливать ограничения вводимых символов (т.е. если мы введем 3,то в текстовое поле нельзя будет ввести больше 3 символов). После того, как мы сделаем эту программу, нам надо ее отложить подальше, до лучших времен, и потом мы будем ей пользоваться.
Исходник программы можешь скачать отсюда
6. Unload Объект Эта функция нужна для выхода. Например, чтобы выйти из программы надо написать Unload Me, или Unload Form1(также можно использовать и End)
7. MsgBox
Эта функция нужна для создания сообщений(это тоже самое что и у МелкоСофта Винд 98 постоянно ругается...). Короче посмотри ниже, и ты все поймешь:
Теперь я тебе децл расскажу, как надо делать такие сообщения. Посмотри на код, и сам поймешь.
MsgBox "Любой текст",ЧитКод1+ЧитКод2,"Заголовок"
Где любой текст - это наверное понятно (у меня: "Вот эта ошибка...")
Читкод1+ЧитКод2-это значение, посмотри ниже в таблице (у меня 20,16+4)
Заголовок - думаю тоже понятно (у меня: "И не забудь....")
Теперь Примеры, только примеры:
MsgBox "Здоровеньки булы",53,"<=Здесь я вписал 53,т.к. 48+5=53"
Ну что понял (а)? Отлично! А как обращаться к кнопкам, которые будут на форме, будем учиться потом.
8. InputBox
Я опять сразу объяснять не буду, а покажу как это выглядит, чтоб ты был (а) в курсе дела.
Код:
Dim str As String 'Объявляем переменную str, как строковую
Private Sub Form_Load() 'При загрузке формы:
str = InputBox("Как тебя зовут", "Опрос", "Падре") 'Будет появляться опрос:
Text1.Text = str 'Текстовое поле будет равно тому значению, которое ты введешь (у нас Падре):
End Sub
Ну вроде и все. На функциях мы закончим, и перейдем к ОПЕРАТОРАМ.
Любой язык программирования держится только на операторах, без них любой язык был бы не языком, а набором тупых слов. Первый оператор у нас будет условный, он наверное самый главный, без него не обойдется ни одна программа.
If Условие Then
Серия 1
Else
Серия 2
End If
ИЛИ
If Условие Then Серия 1
Если ты изучал какой - нибуть язык(JavaScript, C++, Китайский...), то ты знаком с этими операторами, а если не изучал, то не знаком. Это я к тому, что ели ты изучал языки, то ты знаешь как этими операторами пользоваться, и можешь немного пропустить; а если не изучал ТО ТЕБЕ НАДО ЧИТАТЬ ВСЕ!!!
После оператора If(истина) следует условие, а после условия следует ключевое слово Then.
Если на месте условия, мы напишем k = 0,то если k = 0, будет выполняется Серия 1; Else(ложь),
если k = 1, а не 0,то будет выполнятся Серия 2.В конце всегда пишем End If.
Вы наверное ничего не поняли, и мы немного попозже сделаем игру с трехмерной графикой, чтоб разобраться в операторах.
Подробнее об Условном операторе
Этот подраздел я написал потому, что мне пришло несколько писем, что я написал про Условный оператор через жопу, и я решил немного по лучше про него написать, т.к. сам когда - то мучился с этим оператором(это было еще на JavaScript), и понимаю тех, кто только начал программировать, и не может врубиться в этот оператор. Если тебе что - то не понятно пиши, а то может я еще несколько Шагов написал через жопу. Я немного напряг мозги, и решил, что, чтобы получше понять этот раздел, надо сделать программу. Творим! Открой VB(Standart EXE), на форму кинь 3 кнопки, у первой Caption = 1, у второй = 2, у 3 - ей = IF. Сделал? Молодец - Холодец. Хе - Хе. Код:
Dim a As Long 'Объявляем переменную a для хранения чисел
Private Sub Command1_Click() 'При нажатии на кнопку:
a = 1 'a = 1
End Sub
Private Sub Command2_Click() 'При нажатии на кнопку:
a = 2 'a = 2
End Sub
Private Sub Command3_Click() 'При нажатии на кнопку:
If a = 1 Then 'Если a = 1, то комп выводит сообщение что была нажата кнопка 1 (т.к. при нажатии на кнопку 1 a = 1):
MsgBox "Нажата кнопка 1", 64, "Ну что врубился?"
End If
If a = 2 Then 'Если a = 2, то комп выводит сообщение что была нажата кнопка 2 (т.к. при нажатии на кнопку 2 a = 2):
MsgBox "Нажата кнопка 2", 64, "Ну что врубился?"
Else 'Если a ни чему не равно то опять комп выводит сообщение:
MsgBox "Ни чего не нажато", 64, "Ну что врубился?"
End If
End Sub
Ну что понял? Молодец! Теперь можешь читать дальше!
Так же действует:
If Условие Then Серия 1
Исходник программы можешь скачать отсюда
Оператор цикла со счетчиком
Оператор цикла со счетчиком тоже бывает полезен, но до условного ему далеко. Он нужен для того чтоб выполнять одно действие несколько раз. Например, в программе кодировщик, которую я от нечего делать написал на днях, без него не обойтись. Он работает очень просто - функция Len считает сколько букв, и это число передается оператору цикла, и он за каждый заход кодирует 1 символ, и это продолжается до тех пор, пока не кончится счетчик (а он равен количеству букв(Len)).
For Счетчик = Начальное Значение To Конечное значение
Действия
Next Счетчик
Например:
Private Sub Command1_Click() 'При нажатии на кнопку:
For i = 0 To 4 'Действие будет обновляться 5 раз
MsgBox ""
Next i
End Sub
Оператор Select Case
С помощью этого оператора можно заменить условный оператор, это удобнее(т.к. меньше кода надо писать),
и я буду рассматривать некоторые программы на 2-ух операторах(Case & IF). Вот так.
Select Case Переменная или выражение
Case Значение 1
Действие
Case Значение 1
Действие
...
Case Else
Действие в случае несовпадения
End Select
Теперь сделаем такую же программу как и в условном операторе. Войди в VB(Standart EXE), на форму кинь 1 кнопку, Caption = Case. Код:
Dim a As String 'Объявляем переменную a для хранения символов
Private Sub Command1_Click()
a = InputBox("Как тебя зовут", "Опрос")
Select Case a
Case "Падре" 'Если a = "Падре", то комп выводит сообщение, что этот ник уже забит
MsgBox "Падре - это я", 64, "Ну что врубился?"
Case "Малыш" 'Если a = "Малыш", то комп выводит сообщение
MsgBox "Это правда?", 64, "Ну что врубился?"
Case Else 'Если a равно чему - то другому то комп выводит сообщение
MsgBox "Какой - то неизвестный у тебя ник", 64, "Ну что врубился?"
End Select
End Sub
Теперь я просто обязан дать тебе задание: Сделай тоже самое, что мы делали с оператором Case(сверяли имя), только на операторе IF, и наоборот. Делай.
Исходник можешь скачать отсюда
Ну, в VB есть еще и оператор цикла с условием, но он пока нам не нужен(может как - нибуть потом...).
Входим в VB, нажимаем Standart EXE. На форму кидаем 2 кнопки, и 1 текстовое поле. У первой кнопки свойство Caption будет "Загадай число", у второй "Ввод"; у текстового поля свойство Caption уберите. У тебя получится такая штука:
Код:
'Здесь вместо sas,qw,qw2 ты можешь ввести любые буквы, только не забудь поменять их во всем коде (например, если ты вместо sas объявишь bla, то тебе придется везде менять sas на bla)
Dim sas As Integer 'Объявляем переменную для хранения чисел
Dim qw As Integer
Dim qw2 As String 'Объявляем переменную для хранения символов
Private Sub Command1_Click() 'При нажатии на кнопку "Загадай число"
Randomize 'Срабатывает оператор случайных чисел, чтоб при запуске программы генерировались разные числа
sas = Fix(Rnd * 100) 'уравниваем случайное число
qw = 0
Text1.Text = ""
End Sub
Private Sub Command2_Click() 'При нажатии на кнопку "Ввод"
qw = qw + 1 'Включаем счетчик, каждый раз при нажатии на кнопку к переменной qw будет прибавляться 1
If qw <= 3 Then 'Если qw будет < или = 3 то
qw2 = "Чемпион" 'qw2="Чемпион"
End If
If qw >= 5 Then 'Это все аналогично
qw2 = "Профи"
End If
If qw >= 7 Then
qw2 = "Салага"
End If
If qw >= 10 Then
qw2 = "Ламер"
End If
If Val(Text1.Text) = sas Then 'Если Text1.Text=sas то
MsgBox "Ты победил за " & qw & " раз " + qw2, 32 'Комп выдает сообщение о кол - ве нажатых раз на кнопку т.е. qw
End If
If Val(Text1.Text) < sas Then
MsgBox "Децл Побольше", 32
End If
If Val(Text1.Text) > sas Then
MsgBox "Децл Поменьше", 32
End If
End Sub
Private Sub Form_Load()
Form1.Caption = "Угадай число"
End Sub
Отлично! Теперь ты Гейм - Мейкер. Ты сделал первую игру, хоть и она очень простая, но это на первое время. Следующая наша игра PinBall 2003.
Исходник можешь скачать отсюда
Как я и обещал, сегодня мы будем делать такую штуку, а вот какую я тебе не скажу, сам должен помнить. Ладно, так и быть напомню, мы будем делать обращение к кнопкам, которые находятся на ошибке MsgBox. автор учебника: Падре
Нам дается ошибка:
MsgBox "Тебя зовут Падре?", 68, "Хей!!!"
Теперь не поленись и посмотри на Table:
В этой таблице ты видишь все кнопки и их значения. А теперь смотри как надо пользоваться этой таблицей.
Private Sub Command1_Click() 'При нажатии на кнопку
q = MsgBox("Тебя зовут Падре?", 68, "Хей!!!") 'Тебе задают вопрос (Не забудь про скобки)
If q = 6 Then ' Если q = 6 то (По таблице 6 это Да)
MsgBox "Не пиз...и, Падре - Я", 16, "Врун!!!"
End If
If q = 7 Then
MsgBox "Я тебе верю", 64
End If
End Sub
Все! Наконец закончил! Теперь можешь начинать читать Вторую часть, в ней ты сделаешь свой календарь, и научишься работать с мышью.
Дата создания: 6 января 2003 года
Место под Банеры |
![]() |