Программирование
Веб программирование

Функции Vsual Basic

 
 

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

  1. VAL(строка) - Эта функция тебе уже знакома, как я уже и говорил она нужна для преобразования символа из "строки" в "число".
  2. Fix Это функция обрезает у дробного числа дробную часть, и получается целое число. Например, было число 12.123456, станет 12
  3. Rnd - Эта функция генерирует случайные числа. Например, в игре сапер, бомбы появляются каждый раз по разному, это благодаря этой функции.

Например:

Private Sub Command1_Click()
Text1.Text = Rnd ' В текстовое поле выводится всегда разное число
End Sub

Если ты был внимателен, то ты заметил, что при запуске программы, числа генерируются такие же как при предыдущем и следующем запуске. Чтобы этого избежать, в Form_Load помести слово Randomize.
Чтобы ограничить эту функцию надо записать так: Rnd * 5, и тогда здесь будут генерироваться числа от 0 до 5, но чтоб он не выдавал дробные числа, поставим функцию Fix: Fix(Rnd*5).Эта функция нам тоже пригодится для игры.
4-5. Asc(Строка) Эта функция нужна для перевода символов в код ASCII, а код аски нам очень пригодиться очень скоро, сейчас я поясню почему, а потому, что во всех языках программирования, код аски нужен для доступа к клаве, но об этом потом. А функция 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

Ну вроде и все. На функциях мы закончим, и перейдем к ОПЕРАТОРАМ.


Есть вопросы? Спроси на нашем форуме!!
oleksandr47 [02.08.2010 17:05]

Спасибо за VBBook !!!!

Daiyr [24.12.2010 06:28]

Большое спосибо за VBBook!

Дмитрий [17.03.2011 14:06]

Респект

Дэн [17.07.2011 17:42]

А где таблица то??

Я то нашел но на странице не отображается чето.. [17.07.2011 17:45]
Хм.. [11.08.2011 00:57]

Блог 2002-2003 годов, а отписываются только сейчас в нём :)

Тёма [27.08.2011 14:56]

Люди только ща дружно стали изучать VB))

Jaguar [24.09.2011 12:49]

А какой командой можно отозвать функцию?

MrNuts [28.03.2012 18:38]

Капец не хрена не понел что за Asc?

NaRaN [12.04.2012 09:57]

Чет с MsgBox не выходит. :(

NaRaN [12.04.2012 10:07]

MrNuts, на клаве ты видишь символы (цифры, буквы и знаки), а машина воспринимает все символы как числа (от 1 до 255). Asc - это функция перевода символов в цифры, т.е. ASCII-код.
Код программы:
1. Private Sub Command1Click()
2. Text2.Text = Asc(Text1.Text)
3. End
4. Private Sub Command2
Click()
5. Text2.Text = Chr(Text1.Text)
6. End

warez2222 [28.10.2012 09:36]

у меня дак вообще! ошибку вывел run - time error '424'

KREKER [18.02.2013 19:46]

Ребятааа, кто знает?? Как ловить нажатие запятой??(по коду Asc)
К примеру:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
MsgBox "Нажат Enter"
End If
End Sub

А с запятой не прокатывает, хоть и ввожу код 44.
тоже самое с точкой и т.п.

pjp07190 [19.02.2013 08:54]

Попробуйте использовать событие Sub Form1_KeyPress

Samou4120 [16.03.2013 12:11]

2 текстовых поля и 4 кнопки,
КОД:

Private Sub Command1Click()
On Error GoTo ER
Text2.Text = Asc(Text1.Text)
ER:
End Sub

Private Sub Command2
Click()
On Error GoTo ER1
Text1.Text = Chr(Text2.Text)
ER1:
End Sub

Private Sub Command3Click()
Text1.Text = ""
Text2.Text = ""
End Sub

Private Sub Command4
Click()
Unload Me
End Sub

Private Sub Form_Load()
Form1.Caption = "Код ASCII"
Command1.Caption = "Asc>>"
Command2.Caption = "<<Chr"
Command3.Caption = "Reset"
Command4.Caption = "X"
Text1.Text = ""
Text1.MaxLength = 1
Text1.ToolTipText = "Введи сюда любой символ"
Text2.MaxLength = 3
Text2.Text = ""
Text2.ToolTipText = "Введи сюда число от 1 до 255"
End Sub

Samou4120 [16.03.2013 12:14]

^ 9ая строка снизу

Command2.Caption = "<<Chr"
Command3.Caption = "Reset"

и т.д.

Samou4120 [16.03.2013 12:17]

^ 9ая строка снизу
^
Command2.Caption = "Chr"
Command3.Caption = "Reset"

sjSoa [16.03.2013 15:34]

Правильно

M161350 [05.07.2013 16:18]

Я сделал 35(32+3). Подскажите как сделать чтобы если нажать на "Нет" то выдаётся ошибка 16(16+0)?

alex13sh300 [05.07.2013 17:14]

VbMsgBoxResult - это сбор констат , хранят число (значение кнопок в месаге)

msgbox - это функция , которая возращает число(значение кнопки) которой было произведенно закрытие месаги
берёте возращаемое число и значение конпки из сбора констат и сравниваете

M161350 [05.07.2013 17:51]

Обьясните простым языком пожалуйста.
Сравнивать - это складывать(+)?. Не обижайтесь я в этом деле новичок, нечего не понимаю.

alex13sh300 [05.07.2013 19:04]

куды проще?
Сравнить и Складывать - это не одно и тоже
опереаторы сравнение знаете?? что такое условие (if ... then ... end if) вкурсе ??
если нет то читайте, подругому объяснить не как невозможно (если ток сам код написать)

alex13sh300 [05.07.2013 19:12]

"Сравнивать - это складывать(+)?. Не обижайтесь я в этом деле новичок, нечего не понимаю." (С)
Да тут даже понмание информатики (программирование) не нужно , чтоб понять слово (на русском языке) "Сравнить"
и как можно такое придумать (Сравнить)=(Складывать) ЖСТ(((
я в ауте

M161350 [05.07.2013 19:26]

Всё понял. Извените за "складывать(+)". Растерялся немного.




End

alex13sh300 [05.07.2013 19:38]

ну и хорошо)

alex13sh300 [05.07.2013 19:45]

if MsgBox("SMS", vbInformation + vbOKCancel, "Cap")= vbOk then MsgBox "OK"
'______________________________--
Dim msgValue As Byte
msgValue = MsgBox("SMS", vbInformation + vbOKCancel, "Cap")
If msgValue = VbMsgBoxResult.vbOK Then MsgBox "OK"

2ва варианта, 2ой для Select case msgValue

M161350 [06.07.2013 14:54]

Огромное спасибо!!!! Заработал процесс!!!!

Ivan40 [28.07.2013 21:54]

У меня всё работает. А где можно изучить таблицу ASCII-символов? Ну что-то типа алфавита?

alex13sh300 [28.07.2013 22:19]

http://vbbook.ru/visual-basic/ascii-tablica-simvolov/

66demon66610 [05.02.2014 18:14]

Красавчик аффтару респект! Буду читать дальше и задавать воросы если чё)

76600000 [15.10.2014 18:24]

Не "ЧиТКод", а "ЧиСКод"



Оставлять комментарии можно только зарегистрированным




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