Saturday, October 29, 2011

Lesson 10: Introduction to VB Built-in Functions

A function is similar to a normal procedure but the main purpose of the function is to accept a certain input from the user 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, you will learn two very basic but useful internal functions of Visual basic , i.e.  the MsgBox( ) and InputBox ( ) functions.

The objective of MsgBox is to produce a pop-up message box that 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 Table 10.1 for types of command button displayed. The Title argument will display the title of the message board.




Table 10.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




We can use named constant in place of integers for the second argument to make the programs more readable. In fact, VB6 will automatically shows up a list of names constant  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 10.2 shows the values, the corresponding named constant and buttons.


 Table 10.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 10.1
i. The Interface:
   You draw three command buttons and a label as shown in Figure 10.1
Figure 10.1




 ii. The procedure for the test button:
Private Sub Test_Click()
Dim testmsg As Integer
testmsg = MsgBox("Click to test", 1, "Test message")
If testmsg = 1 Then
Display.Caption = "Testing Successful"
Else
Display.Caption = "Testing fail"
End If

End Sub
 
When a user click on the test button, the image like the one shown in Figure 10.2 will appear. As the user click on the OK button, the message "Testing successful" will be displayed and when he/she clicks on the Cancel button, the message "Testing fail" will be displayed.

Figure 10.2




To make the message box looks more sophisticated, you can add an icon besides the message. There are four types of icons available in VB as shown in  Table 10.3



Table 10.3


Value
Named Constant
Icon 

16
vbCritical

32
vbQuestion

48
vbExclamation

64
vbInformation




Example 10.2
You draw the same Interface as in example 10.1 but modify the codes as follows:
 
Private Sub test2_Click()
Dim testMsg2 As Integer
testMsg2 = MsgBox("Click to Test", vbYesNoCancel + vbExclamation, "Test Message")
If testMsg2 = 6 Then
display2.Caption = "Testing successful"
ElseIf testMsg2 = 7 Then
display2.Caption = "Are you sure?"
Else
display2.Caption = "Testing fail"
End If
End Sub
In this example, the following message box will be displayed:

Figure 10.3




10.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. The format is  
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 key in.
  • x-position and y-position - the position or the coordinate of the input box.
Example 10.3
i.  The Interface

Figure 10.4
 


 ii. The procedure for the OK button
Private Sub OK_Click()
Dim userMsg As String
userMsg = InputBox("What is your message?", "Message Entry Form", "Enter your messge here", 500, 700)
If userMsg <> "" Then
message.Caption = userMsg
Else
message.Caption = "No Message"
End If
End Sub
When a user click the OK button, the input box as shown in Figure 10.5 will appear. After user entering the message and click OK, the message will be displayed on the caption, if he click Cancel, "No message" will be displayed.
 








http://www.vbtutor.net/vb6/vbtutor.html
»»  READMORE...

Saturday, October 22, 2011

Lesson 9: Looping

Visual Basic allows a procedure to be repeated many times as long as the processor until a condition or a set of conditions is fulfilled. This is generally called looping . Looping is a very useful feature of Visual Basic because it makes repetitive works easier. There are  two kinds of loops in Visual Basic,  the Do...Loop  and the For.......Next loop

9.1  Do Loop


The formats are
a)   Do While condition
            Block of one or more VB statements
      Loop

b)   Do
            Block of one or more VB statements
      Loop While condition

c)    Do Until condition
              Block of one or more VB statements
       Loop

d)    Do
             Block of one or more VB statements
       Loop Until condition



Example 9.1
       Do while counter <=1000
             num.Text=counter
             counter =counter+1
       Loop
* The above example will keep on adding until counter >1000.
The above example can be rewritten as
        Do
               num.Text=counter
               counter=counter+1
       Loop until counter>1000


9.2 Exiting the Loop
Sometime we need exit to exit a loop prematurely because of a certain condition is fulfilled. The syntax to use is known as Exit Do. You can examine Example 9.2 for its usage.



Example 9.2

Dim sum, n As Integer
 Private Sub Form_Activate()
List1.AddItem "n" & vbTab & "sum"
Do
   n = n + 1
   Sum = Sum + n
 List1.AddItem n & vbTab & Sum
 If n = 100 Then
 Exit Do
 End If
  Loop
End Sub



Explanation
In the above  example, we compute the summation of 1+2+3+4+……+100.  In the design stage, you need to insert a ListBox into the form for displaying the output, named List1. The program uses the AddItem method to populate the ListBox. The statement List1.AddItem "n" & vbTab & "sum" will display the headings in the ListBox, where it uses the vbTab function to create a space between the headings n and sum.
 



Example 9.3 a
For  counter=1 to 10  
display.Text=counter
  Next
Example 9.3 b
For counter=1 to 1000 step 10  
counter=counter+1
 Next
Example 9.3 c
  For counter=1000 to 5 step -5
  counter=counter-10
   Next
*Notice that increment can be negative
Example 9.3 d

Private Sub Form_Activate( )
For n=1 to 10
If n>6 then
Exit For
End If

Else
Print n
End If
End Sub



 http://www.vbtutor.net/vb6/vbtutor.html















»»  READMORE...

Lesson 8 : Select Case....End select Control Structure

   In the previous lesson, we have learned how to control the program flow using the If...ElseIf control structure. In this chapter, you will learn  another way to control the program flow, that is, the Select Case control structure. However, the Select Case control structure is slightly different from the If....ElseIf control structure . 
   The difference is that the Select Case control structure basically only make decision on one expression or dimension (for example the examination grade) while the If ...ElseIf statement control structure may evaluate only one expression, each If....ElseIf statement may also compute entirely different dimensions.

Select Case is preferred when there exist many different conditions because using If...Then..ElseIf statements might become too messy.
The format of the Select Case control structure is show below:

Select Case expression

   Case value1
        Block of one or more VB statements
   Case value2
        Block of one or more VB Statements
   Case value3
            .
        .
   Case Else
        Block of one or more VB Statements

End Select
Example 8.1
Dim grade As String
Private Sub Compute_Click( )
grade=txtgrade.Text
Select Case grade
  Case  "A"
       result.Caption="High  Distinction"
  Case "A-"
      result.Caption="Distinction"
  Case "B"
        result.Caption="Credit"
  Case "C"
        result.Caption="Pass"
  Case Else
        result.Caption="Fail"
  End Select
End Sub

Example 8.2

Dim mark As Single

Private Sub Compute_Click()
'Examination Marks
 mark = mrk.Text
 
Select Case mark
 Case Is >= 85
 
     comment.Caption = "Excellence"
Case Is >= 70
 
    comment.Caption = "Good"

Case Is >= 60
   comment.Caption = "Above Average"

Case Is >= 50
comment.Caption = "Average"

Case Else
comment.Caption = "Need to work harder"

End Select

End Sub


Example 8.3

Example 8.2 can be rewritten  as follows:
 

Dim mark As Single


Private Sub Compute_Click()



'Examination Marks

 mark = mrk.Text
 
Select Case mark

 Case 0 to 49
 
     comment.Caption = "Need to work harder"
 

Case 50 to 59
 
    comment.Caption = "Average"
 

Case 60 to 69

   comment.Caption = "Above Average"



Case 70 to 84

comment.Caption = "Good"



Case Else

comment.Caption = "Excellence"



End Select



End Sub

http://www.vbtutor.net/vb6/vbtutor.html

»»  READMORE...

Friday, October 21, 2011

Lesson 7 : Controlling Program Flow

      In previous lessons, we have learned how to create Visual Basic code that can  accept input from the user and display the output without controlling the program flow. In this chapter, you will learn how to crreate VB code that can make decision when it process input from the user, and control the program flow in the process. Decision making process is an important part of programming because it can help to solve practical problems intelligently so that it can provide useful output or feedback to the user. For example, we can write a  program that can ask the computer to perform certain task until a certain condition is met.

7.1  Conditional Operators

To control the VB program flow, we can use various conditional operators. Basically, they resemble mathematical  operators. Conditional operators are very powerful tools, they let the VB program compare data values and then decide what action to take, whether to execute a program or terminate the program and more. These operators are shown in Table 7.1. 
 

7.2  Logical Operators

In addition to conditional operators, there are a few logical operators which offer added power to the VB programs. There are shown in Table 7.2. 

Table 7.1: Conditional Operators
Operator
Meaning
=
Equal to
>
More than
<
Less Than
>=
More than and equal
<=
Less than and equal
<>
Not Equal to

Table 7.2:Logical Operators
Operator
Meaning
And
Both sides must be true
or
One side or other must be true
Xor
One side or other must be true but not both
Not
Negates truth
 
 
You can also compare strings with the above operators. However, there are certain rules to follows: Upper case letters are less than lowercase letters, "A"<"B"<"C"<"D".......<"Z" and number are less than letters. 

7.3  Using  If.....Then.....Else  Statements  with Operators

To effectively control the VB program flow, we shall use If...Then...Else statement together with the conditional operators and logical operators.
The general format for the if...then...else statement is
If  conditions Then
VB expressions
Else
VB expressions
End If
* any If..Then..Else statement must end with End If. Sometime it is not necessary to use Else. 


Example:
  Private Sub OK_Click()
    firstnum=Val(usernum1.Text)
    secondnum=Val(usernum2.Text)
    If total=firstnum+secondnum And Val(sum.Text)<>0 Then
    correct.Visible = True
   wrong.Visible = False
  Else
    correct.Visible = False
    wrong.Visible = True
  End If
  End Sub

http://www.vbtutor.net/vb6/lesson7.html
 

»»  READMORE...

Monday, October 17, 2011

Lesson 6: Working with Variables

6.1 Assigning Values to Variables


After declaring various variables using the Dim statements, we can assign values to those variables. The general format of an assignment is
Variable=Expression
The variable can be a declared variable or a control property value. The expression could 
be a mathematical expression, a number, a string, a Boolean value (true or false) and more. 
The following are some examples: 
firstNumber=100
secondNumber=firstNumber-99
userName="John Lyan"
userpass.Text = password
Label1.Visible = True
Command1.Visible = false
Label4.Caption = textbox1.Text
ThirdNumber = Val(usernum1.Text)
total = firstNumber + secondNumber+ThirdNumber    

6.2 Operators in Visual Basic

To compute inputs from users and to generate results, we need to use various mathematical operators. In Visual Basic, except for + and -, the symbols for the operators are different from normal mathematical operators, as shown in Table 6.1. 

Table 6.1: Arithmetic Operators
Operator
Mathematical function
Example
^
Exponential
2^4=16
*
Multiplication
4*3=12,  
/
Division
12/4=3
Mod
Modulus (returns the remainder from an integer division)
15 Mod 4=3   
\
Integer Division(discards the decimal places)
19\4=4
+ or &
String concatenation
"Visual"&"Basic"="Visual Basic"
 
Example 6.1

Dim firstName As String
Dim secondName As String
Dim yourName As String

 Private Sub Command1_Click()
firstName = Text1.Text
secondName = Text2.Text
yourName = secondName + "  " + firstName
          Label1.Caption = yourName
End Sub
In this example, three variables are declared as string. For variables firstName and secondName will receive their data from the user’s input into textbox1 and textbox2, and the variable yourName will be assigned the data by combining the first two variables.  Finally, yourName is displayed on Label1.


Example 6.2
Dim number1, number2, number3 as Integer
Dim total, average as variant
Private sub Form_Click
number1=val(Text1.Text)
number2=val(Text2.Text)
number3= val(Text3.Text)
Total=number1+number2+number3
Average=Total/5
Label1.Caption=Total
Label2.Caption=Average
End Sub
In the example above, three variables are declared as integer and two variables are declared as variant. Variant means the variable can hold any data type. The program computes the total and average of the three numbers that are entered into three text boxes. 

http://www.vbtutor.net/vb6/vbtutor.html 


»»  READMORE...

Friday, October 14, 2011

Lesson 5: Managing Visual Basic Data

There are many types of data that we come across in our daily life. For example, we need to handle data such as names, addresses, money, date, stock quotes, statistics and more everyday. Similarly in Visual Basic, we have to deal with all sorts of  of data, some can be mathematically calculated while some are in the form of text or other forms. VB divides data into different types so that it is easier to manage when we need to write the code involving those data.
 

5.1 Visual Basic Data Types

Visual Basic classifies the information mentioned above into two major data types, they are the numeric data types and the non-numeric data types.

5.1.1 Numeric Data Types

Numeric data types are types of data that consist of numbers, which can be computed mathematically with various standard operators such as add, minus, multiply, divide and more. Examples of numeric data types are examination marks, height, weight, the number of students in a class, share values, price of goods, monthly bills, fees and others.
 In Visual Basic, numeric data are divided into 7 types, depending on the range of values they can store. Calculations that only involve round figures or data that does not need precision can use Integer or Long integer in the computation. Programs that require high precision calculation need to use Single and Double decision data types, they are also called floating point numbers. For currency calculation , you can use the currency data types. Lastly, if even more precision is required to perform calculations that involve a many decimal points, we can use the decimal data types. These data types summarized in Table 5.1




Table 5.1: Numeric Data Types

Type
Storage 
Range of Values
Byte
1 byte
0 to 255
Integer
2 bytes
-32,768 to 32,767
Long 
4 bytes
-2,147,483,648 to 2,147,483,648
Single
4 bytes
-3.402823E+38 to -1.401298E-45 for negative values
1.401298E-45 to 3.402823E+38 for positive values.
Double
8 bytes
-1.79769313486232e+308 to -4.94065645841247E-324 for negative values
4.94065645841247E-324 to 1.79769313486232e+308 for positive values.
Currency
8 bytes
-922,337,203,685,477.5808 to 922,337,203,685,477.5807
Decimal
12 bytes
+/- 79,228,162,514,264,337,593,543,950,335 if no decimal is use
+/- 7.9228162514264337593543950335 (28 decimal places).


5.1.2 Non-numeric Data Types
Nonnumeric data types are data that cannot be manipulated mathematically using standard arithmetic operators. The non-numeric data comprises  text or string data types, the Date data types, the Boolean data types that store only two values (true or false), Object data type and Variant data type .They are summarized in Table 5.2  

 Table 5.2: Nonnumeric Data Types 
Data Type
Storage
Range
String(fixed length)
Length of string
1 to 65,400 characters
String(variable length)
Length + 10 bytes
0 to 2 billion characters
Date
8 bytes
January 1, 100 to December 31, 9999
Boolean
2 bytes
True or False
Object
4 bytes
Any embedded object
Variant(numeric)
16 bytes
Any value as large as Double
Variant(text)
Length+22 bytes
Same as variable-length string


5.1.3 Suffixes for Literals
Literals are values that you assign to data. In some cases, we need to add a suffix behind a literal so that VB can handle the calculation more accurately. For example, we can use num=1.3089# for a Double type data. Some of the suffixes are displayed in Table 5.3. 

                      Table 5.3
Suffix
Data Type
&
Long
!
Single
#
Double
@
Currency
  


In addition, we need to enclose string literals within two quotations and date and time literals within two # sign. Strings can contain any characters, including numbers. The following are few examples:
memberName="Turban, John."
TelNumber="1800-900-888-777"
LastDay=#31-Dec-00#
ExpTime=#12:00 am#




5.2 Managing Variables
Variables are like mail boxes in the post office. The contents of the variables changes every now and then, just like the mail boxes. In term of VB, variables are areas allocated by the computer memory to hold data. Like the mail boxes, each variable must be given a name. To name a variable in Visual Basic, you have to follow a set of rules.
5.2.1 Variable Names
The following are the rules when naming the variables in Visual Basic
  • It must be less than 255 characters
  • No spacing is allowed
  • It must not  begin with a number
  • Period is not permitted
Examples of valid and invalid variable names are displayed in Table 5.4


  Table 5.4
Valid Name
Invalid Name
My_Car
My.Car 
ThisYear
1NewBoy
Long_Name_Can_beUSE
He&HisFather                  *& is not acceptable



5.2.2 Declaring Variables
In Visual Basic, one needs to declare the variables before using them by assigning names and data types. They are normally declared in the general section of the codes' windows using the Dim statement.
The format  is as follows:

Dim Variable Name As Data Type


Example 5.1
Dim password As String
Dim yourName As String
Dim firstnum As Integer
Dim secondnum As Integer
Dim total As Integer
Dim doDate As Date

 
You may also combine them in one line , separating each variable with a comma, as follows:
Dim password As String,  yourName As String, firstnum As Integer,.............
If data type is not specified, VB will automatically declare the variable as a Variant.
For string declaration, there are two possible formats, one for the variable-length string and another for the fixed-length string. For the variable-length string, just use the same format as example 5.1 above. However, for the fixed-length string, you have to use the format as shown below:

Dim VariableName as String * n, where n defines the number of characters the string can hold.
Example 5.2:
Dim yourName as String * 10
yourName can holds no more than 10 Characters.   
 
5.3 Constants
Constants are different from variables in the sense that their values do not change during the running of the program. 
 
5.3.1 Declaring a Constant
The format to declare a constant is
Const  Constant Name  As Data Type = Value
Example 5.3
Const Pi As Single=3.142
Const Temp As Single=37
Const Score As Single=100
 
 

http://www.vbtutor.net/vb6/vbtutor.html
»»  READMORE...