Visual Basic, .NET, ASP, VBScript
 

   
 
Описание для автора не найдено
 
     
   
 

ШАГ 1:

Начало:

Здравствуйте! В этой статье мы будем учиться программировать на VB5. Прежде чем приступать к урокам я расскажу о достоинствах и недостатках VB, и Вам может быть расхочется изучать этот язык, или наоборот. Достоинства: Самое главное достоинство это легкость кода, т.е. по сравнению с дядюшкой Си код у VB в несколько раз меньше. Легкая усвояемость, если Си надо изучать несколько лет, кряхтя и потея, то VB можно изучить за несколько месяцев. А теперь недостатки. Самый главный недостаток - это большой размер и тормознутость прог. На Си проги работают быстрее и жрут памяти меньше. Проги написанные на VB не могут работать самостоятельно, они в отличие от дядюшки Си, который работает самостоятельно, держутся на одних подпорках (это Windows`ие библиотеки msvbvm50,и др.). К счастью во всех 98 и выше версий винда они есть. Итог: Проги написанные на VB, работают немного медленнее, но зато их написание намного быстрее, и легче. Если вы захотите стать Злым Дядькой (администратор), то без VB не обойтись! Т.к. VB ближайший родственник Microsoft`a. На VB можно делать сайты(VBS), делать проги для Microsoft Office(Word, Exel). И этот язык лучше почти всех языков (кроме Си, Си++), и тем более лучше Delphi. Мой учебник рассчитан как на начинающих, так и на тех, кто уже программирует на VB. Я не буду заставлять учить тупые определения, а сразу начнем делать программу.

ШАГ 2:

Создаем первый проект на VB:
Ознакомление с редактором

Сегодня мы создадим свой первый проект на VB, как я уже говорил, что мы не будем учить тупые определения, а сразу начнем создавать прогу. Что нам для этого нужно? Нам нужен VB5, и выше (если у Вас VB4, то может тоже сойдет, но я рекомендую перейти на VB5, а если VB5 - то на VB6. Итак, входим в редактор VB.

Нажимаем на Standart EXE, и перед вами открывается новый мир, мир чудес и волшебства, ой я по ходу дела задумался, перед тобой открывается не новый мир, а редактор VB.

В нем мы видим с боку панель инструментов, форму... Теперь остановимся на этом месте.

Панель инструментов. Она располагается в левой части окна, в нее входит: Label(метка), CommandButton(командная кнопка), TextBox(текстовое поле), Timer(таймер), и др.

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

Расположение формы.
Это окно показывает где будет располагаться форма


Создание проги

После ознакомительной части начнем делать свою первую прогу. Для этого входим в редактор, нажимаем Standart EXE. На форме ставим кнопку(CommandButton), и метку(Label). Выделите метку, и в окне свойство объекта, в поле Caption введите: "Моя первая прога". Текст метки должен измениться. Кликаем по полю Font 2 раза. Открывается окно, в нем мы выбираем размер шрифта(12),и ставим полужирный. Теперь переходим к программной части проги. Кликаем два раза на кнопку, и появляется окно с кодом

Вписываем туда эту феньку:label1.caption="Теперь я программер", поясню позже что это означает.


Как я и обещал, теперь я буду объяснять что означает Label1.caption = "Теперь я программер":
Label1-это имя объекта (метка)
Caption-надпись, у текстового поля место Caption - TEXT.
Короче надо указать обьект.свойство = значениесвойства
У нашей проги при нажатии на кнопку, у метки будет меняться текст
Мы вроде все сделали, но у тебя возникает вопрос: "как превратить ее в EXE файл" отвечаю: "Вам надо ее откомпилировать, для этого войди в файл, и кликни Make Project1.exe,выберите папку, в которую вам ее надо откомпилировать. Ну вроде и все, исходник этой проги можете скачать отсюда

ШАГ 3:

Метод Print:

Метод Print аналогичен методу Caption, но только он для формы. Мы вписываем место label1.caption="Теперь я программер" - Form1.Print "Объект Print", ты спросишь: "Почему нам не вписать Form1.Caption="Объект Print", потому что у формы Caption, это не надпись, а заголовок.
Задание: Твоя задача сделать прогу, у которой при нажатии на кнопку, срабатывал объект Print, и менялся заголовок формы. Исходник проги можешь скачать отсюда

ШАГ 4:

Операции со шрифтом:

Вы наверное мечтали когда-то установить размер надписи, поменять цвет... Теперь ваша мечта сбылась! Сейчас мы будем делать с надписью все, что захотим. Входим в 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
В ней мы вписываем код, который будет загружаться вместе с формой. Исходник проги можешь скачать отсюда
Ну вот и все, сегодня мы научились делать всякие штучки с текстом.

ШАГ 5:

Переменные:

Переменные играют очень важную роль во всех языках, они нужны для хранения информации. Для объявления переменной надо вставить такую строку:

Dim Имя переменной As Тип
Где Имя переменной - любая буква
Тип - определяется типом данных, которые могут быть значениями переменной. Короче, хватит мудрить! Если переменная - целое число, то надо писать вместо типа Integer, Long; если строка, то String; если вы сами не знаешь, что это, то надо писать Variant (но это жрёт много памяти, да и вообще, использовать 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. Исходник проги можно скачать отсюда

ШАГ 6:

Создаем КАЛЬКУЛЯТОР:

Как всегда входим в 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 Load (кликните два раза по форме))
Должно получиться примерно так:

Теперь код:

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 (см. выше в коде). Это функция, она нужна для того, чтобы преобразовать строку в число.
Исходник проги можешь скачать отсюда

ШАГ 7:

Функции:

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

1. VAL(строка) Эта функция вам уже знакома. О ней говорилось немного выше.
2. Fix Это функция превращает чило из типа Double или Single в целое, например, из 3.12345 получится 3. В VB дробные числа записываются через точку (3.12345), а на экране появляются через запятую (3,12345). Эта функция пригодится нам очень скоро, для создания первой игры.
3. Rnd Эта функция случайных чисел, например в игре сапер, бомбы появляются каждый раз по разному, это благодаря этой функции. Пример:

Text1.Text = Rnd

Вы согли заметить, что при запуске программы, числа генерируются такие же как при предыдущем и следующем запуске. Чтобы этого избежать, нужно вызвать оператор Randomize перед использованием Rnd. Чтобы ограничить эту функцию нам надо записать так: Rnd * 5, и тогда здесь будут генерироваться числа от 0 до 5, но чтоб он не выдавал дробные числа используем функцию Fix: Fix(Rnd*5). Эта функция нам тоже пригодится для игры.
4-5. Asc(Строка) Эта функция нужна для перевода символов в код ASCII, а код ASCII нам очень пригодиться очень скоро, потому что во всех языках программирования, код ASCII нужен для доступа к клавиатуре, но об этом потом. А функция Chr(число) делает все наоборот, она переводит из ASCII в символы. И поскольку нам эти функции очень важны я дам вам Задание:
Надо сделать прогу которая переводит любой вписанный символ в код ASCII, и обратно. Для этого тебе понадобиться два текстовых поля, 2 кнопки со свойством Caption равным: У первой Asc, у второй Chr. Да, чуть не забыл, если мы заговорили о текстовых полях, то я хотел бы тебе сказать, что для текстового поля есть одно свойство, оно нужно для ограничения вводимых символов, это свойство называется MaxLength. Исходник проги можешь скачать отсюда
6. Unload Объект Эта функция нужна для выгрузки ормы из памятиа. Например, чтобы выгрузить главную форму (а, следовательно, завершить работу программы) надо написать Unload Me.
7. MsgBox Эта функция нужна для создания информационных сообщений.


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 'В текстовом поле отобразится то, что вы введете в InputBox:
End Sub
Ну вроде и все. На функциях мы закончим, и перейдем к ОПЕРАТОРАМ.

ШАГ 8:

Операторы:

Условный оператор

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

If Условие Then
Серия 1
Else
Серия 2
End If

После оператора If(истина) следует условие, а после условия следует ключевое слово Then. Если на месте условия, мы напишем k = 0, то если k = 0, будет выполняется Серия 1; Else(ложь), если k<>0 , ,то будет выполнятся Серия 2. В конце всегда пишем End If.

Оператор цикла со счетчиком
Оператор цикла со счетчиком тоже бывает полезен, но до условного ему далеко. Он нужен для того чтоб выполнять одно действие несколько раз.

For Счетчик = Начальное Значение To Конечное значение
Действия
Next Счетчик

Например:

Private Sub Command1_Click() 'При нажатии на кнопку:
For i = 0 To 4 'Действие будет обновляться 5 раз
MsgBox ""
Next i
End Sub

Ну в VB есть еще и оператор цикла с условием, и без него - Do ... Loop и While ... Wend. О них мы поговорим попозже.

ШАГ 9:

Создаем игру "Угадай число"

Входим в VB, нажимаем Standart EXE. На форму кидаем 2 кнопки, и 1 текстовое поле. У первой кнопки свойство Caption будет "Загадай число", у второй "Ввод"; у текстового поля свойство Caption уберите. У вас получится примерно такая форма:


Код:
'Здесь вместо sas,qw,qw2 вы можете ввести любые буквы
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
Исходник программы можно скачать здесь

ШАГ 10:

Усовершенственный MsgBox

Сейчас я научу вас получать информацию о кнопках, нажатых в окне MsgBox.
Нам дается код:
MsgBox "Тебя зовут Падре?", 68, "Хей!!!"

В этой таблице указаны все кнопки, которые можно отобразить в окне MsgBox, и значения их констант.



Private Sub Command1_Click()
q = MsgBox("Тебя зовут Падре?", 68, "Хей!!!") 'Здесь отображается окно сообщения MsgBox
If q = 6 Then ' Если нажата кнопка Да, то
MsgBox "Падре - Я", 16, "Не очень умная программа"
End If
If q = 7 Then 'Если нажата кнопка Нет, то
MsgBox "Я тебе верю", 64
End If
End Sub

 
     

   
   
     
  VBNet рекомендует