[Lesson 5] << [CONTENTS] >> [Lesson 7]
Visual Basic programming often involves manipulation of all sorts of data. Among them, some can be calculated while others are in the form of text, date, time and more. Visual Basic 2012 divides data into different types so that it is easier for the programmers to manage them.
6.1 Visual Basic 2012 Data Types
Visual Basic 2012 classifies data into two major data types, the numeric data type and the non-numeric data type.
6.1.1 Numeric Data Types
Numeric data types are types of data that consist of numbers that can be computed mathematically. Some examples of numeric data types are examination marks, height, weight, the price of goods, monthly bills, fees and etc.
In Visual Basic 2012, numeric data are classified into seven types, depending on the range of values they can store. Calculations that do not require precision can use Integer or the Long integer in the computation. On the other hand, programs that require high precision calculation need to use Single and Double precision data types which also called floating point numbers. In addition, for currency calculation, you can use the currency data types. Lastly, if even more precision is required in performing a calculation, we can use the decimal data types. These data types are summarized in Table 6.1
|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
|Variant(numeric)||16 bytes||Any value as large as double|
|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
6.1.2 Non-numeric Data Types
Non-numeric data types are data that cannot be manipulated mathematically using standard arithmetic operators. These types of data comprise text or string data types, the Date data types, the Boolean data types, the Object data type and the Variant data type. We can summarise the data types as shown in Table 6.2
Table 6.2 Non-numeric Data
|Data Type||Storage||Range of Values|
|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 3,9999|
|Boolean||2 bytes||True or False|
|Object||4 bytes||Any embedded object|
|Varient(text)||Length+22 bytes||Same as variable-length string|
6.1.3 Suffixes for Literals
Literals are values that you assign to a data. Usually, we add a suffix behind a literal so that Visual Basic 2012 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 6.3.
In addition, we need to enclose string literals within two quotations and we enclose 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#
6.2 Managing Variables
A Variable is like a mailbox in the post office as the content of the variable changes every now and then, just like the mailbox. In Visual Basic 2012, variables are areas allocated by the computer memory to hold data. In addition, each variable must be given a name. To name a variable in Visual Basic 2012, you have to follow a set of rules.
6.2.1 Variable Names
The following are the rules when naming the variables in Visual Basic 2012
- It must be less than 255 characters
- No spacing is allowed
- It must not begin with a number
- Period is not permitted
Some examples of valid and invalid variable names are displayed in Table 6.4
|Valid Name||Invalid Name|
|Long_Name_Can_Be_USED||He&HisFather *& Not allowed|
6.2.2 Declaring Variables
In Visual Basic 2012, we need to declare a variable by assigning a name and a relevant data type before using it. If you fail to do so, the program may encounter an error. Usually, we declare the variables in the general section of the code window using the Dim statement. The syntax to declare a varibale is as follows:
Dim Variable Name As Data Type
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim password As String Dim yourName As String Dim firstnum As Integer Dim secondnum As Integer Dim total As Integer Dim doDate As Date End Sub
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,.............
For string declaration, there are two possible forms, one for the variable-length string and another for the fixed-length string. For the variable-length string, just use the same syntax as example 6.1 above. However, for the fixed-length string, you have to use the syntax as shown below:
Dim VariableName as String * n, where n defines the number of characters the string can hold.
Dim yourName as String * 10
yourName can hold no more than 10 Characters.
6.2.3 Assigning Values to Variables
After declaring various variables using the Dim statements, we can assign values to those variables. The syntax of an assignment is
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 etc. 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
Constants are different from variables in the sense that their values do not change during the running of the program.
6.3.1 Declaring a Constant
The syntax to declare a constant is
Const Constant Name As Data Type = Value
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Const Pi As Single=3.142 Const Temp As Single=37 Const Score As Single=100 End Sub