|
A function is similar to a normal procedure but the main
purpose of the function is to accept a certain input and return a
value which is passed on to the main program to finish the
execution. There are two types of functions, the built-in functions
(or internal functions) and the functions created by the
programmers.
The general format of a function is
FunctionName
(arguments)
The
arguments are values that are passed on to the
function.In this lesson, we are going to learn two
very basic but useful internal functions of Visual basic ,
i.e. the MsgBox( ) and InputBox ( ) functions.
12.1 MsgBox ( )
Function
The objective of MsgBox is
to produce a pop-up message box and prompt the user to click on a
command button before he /she can continues. This format is as
follows:
yourMsg=MsgBox(Prompt,
Style Value, Title)
The first argument, Prompt, will display
the message in the message box. The Style Value will determine
what type of command buttons appear on the message box, please refer
to Table 12.1 for types of command button displayed. The Title
argument will display the title of the message
board.
Table 12.1:
Style Values
|
Style Value |
Named Constant |
Buttons Displayed |
|
0 |
vbOkOnly |
Ok
button |
|
1 |
vbOkCancel |
Ok
and Cancel buttons |
|
2 |
vbAbortRetryIgnore |
Abort, Retry and Ignore buttons. |
|
3 |
vbYesNoCancel |
Yes, No and Cancel buttons |
|
4 |
vbYesNo |
Yes and No buttons |
|
5 |
vbRetryCancel |
Retry and Cancel
buttons |
CENTER> |
|
We can use named constants in
place of integers for the second argument to make the programs more
readable. In fact, VB6 will automatically shows up a list of
named constants where you can select one of them.
example: yourMsg=MsgBox(
"Click OK to Proceed", 1, "Startup Menu")
and yourMsg=Msg("Click OK to Proceed". vbOkCancel,"Startup
Menu")
are the same.
yourMsg is a variable
that holds values that are returned by the MsgBox ( ) function. The
values are determined by the type of buttons being clicked by the
users. It has to be declared as Integer data type in the procedure
or in the general declaration section. Table 12.2 shows the values,
the corresponding named constant and
buttons.
Table 12.2 : Return
Values and Command Buttons
|
Value |
Named Constant |
Button Clicked |
|
1 |
vbOk |
Ok
button |
|
2 |
vbCancel |
Cancel button |
|
3 |
vbAbort |
Abort button |
|
4 |
vbRetry |
Retry button |
|
5 |
vbIgnore |
Ignore button |
|
6 |
vbYes |
Yes
button |
|
7 |
vbNo |
No
button |
Example
12.1
Private
Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim
testmsg As Integer
testmsg =
MsgBox("Click to test", 1, "Test message")
If testmsg
= 1 Then MessageBox.Show("You have clicked the OK
button") Else MessageBox.Show("You have clicked the
Cancel button") End If
End
Sub
To make the
message box looks more sophisticated, you can add an icon besides
the message. There are four types of icons available in VB2008 as
shown in Table 12.3
Table 12.3: Message box with
icon
Example
12.2
Private Sub
Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim testMsg As Integer
testMsg = MsgBox("Click to Test",
vbYesNoCancel + vbExclamation, "Test Message")
If
testMsg = 6 Then MessageBox.Show("You have clicked the
yes button") ElseIf testMsg = 7
Then MessageBox.Show("You have clicked the NO
button") Else MessageBox.Show("You have clicked the
Cancel button") End If
End Sub
The first argument, Prompt,
will display the
message
 End Sub
12.2 The InputBox( )
Function
An InputBox( )
function will display a message box where the user can enter a value
or a message in the form of text. In VB2005, you can use the
following format:
myMessage=InputBox(Prompt, Title, default_text, x-position,
y-position)
myMessage is a
variant data type but typically it is declared as string, which
accept the message input by the users. The arguments are explained
as follows:
- Prompt - The message
displayed normally as a question asked.
- Title
- The title of the Input Box.
- default-text - The
default text that appears in the input field where users can use
it as his intended input or he may change to the message he wish
to enter.
- x-position and
y-position - the position or tthe coordinates of the input
box.
However, the
format won't work in VB2008 because InputBox is considered a
namespace. So, you need to key in the full reference to the Inputbox
namespace, which is
Microsoft.VisualBasic.InputBox(Prompt, Title, default_text,
x-position, y-position)
The parameters
remain the same.
Example
12.3
Private Sub
Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click Dim userMsg As
String
userMsg = Microsoft.VisualBasic.InputBox("What
is your message?", "Message Entry Form", "Enter your messge here",
500, 700)
If userMsg <> ""
Then MessageBox.Show(userMsg) Else MessageBox.Show("No
Message") End If End Sub
The inputbox will appear as
shown in the figure below when you press the command
button

Copyright 2010 Dr.Liew Voon Kiong . All rights
reserved |Contact: admin@vbtutor.net [Privacy
Policy] |