Download - VB.Net Introduction
VB.Net Introduction
Visual Studio 2010 Demo• Start page: New project/ Open project/Recent projects• Starting project:
• File/New Project/– Windows– Website
• File/New website• Project name
• Project windows:– Form design view/Form code view– Solution Explorer– Server Explorer– Property Window– ToolBox– Project/Add New Item– Project properties: Right-click project name and choose Properties
• Start Up form– Property window example
Introduction to Visual Basic .Net
• Event-driven programming– The interface for a VB program consists of one
or more forms, containing one or more controls (screen objects).
– Form and controls have events that can respond to. Typical events include clicking a mouse button, type a character on the keyboard, changing a value, etc.
– Event procedure
Form
• Properties:– Name, FormBorderStyle, Text, BackColor,
BackImage, Opacity
• Events:– Load, FormClosing, FormClosed– GotFocus, LostFocus– MouseHover, Click, DoubleCLick
Typical VB.Net Controls
• TextBox• Label• Button• CheckBox• RadioButton• ListBox• ComboBox• PictureBox
Text Box• Properties:
– AutoSize, BorderStyle, CauseValidation, Enabled, Locked, Multiline, PasswordChar, ReadOnly, ScrollBar, TabIndex, Text, Visible, WordWrap, etc.
• Properties can be set at the design time or at the run time using code.
• To refer to a property: – ControlName.PropertyName– Ex. TextBox1.Text– Note: The Text property is a string data type and
automatically inherits the properties and methods of the string data type.
Typical VB.Net Programming Tasks
• Creating the GUI elements that make up the application’s user interface.– Visualize the application.– Make a list of the controls needed.
• Setting the properties of the GUI elements
• Writing procedures that respond to events and perform other operations.
Demo
Num1
Num2
Sum =
.Control properties
.Event: Click, MouseMove, Form Load, etc.
.Event proceduresSum: textBox3.text=CStr(CDbl(textBox1.text)+CDbl(textBox2.text))Or (CDbl(textBox1.text)+CDbl(textBox2.text)).toString
.Demo: Text alignment (TextAlign property)
Using VB Functions or .Net Methods?
• VB functions: Cstr, Cdbl, …
• .Net framework:– System.Convert
• TextBox3.Text = (System.Convert.ToDouble(TextBox1.Text) + System.Convert.ToDouble(TextBox2.Text)).ToString
Creating a C# Project
• VB functions such as Cstr, Cdbl, … are not available
• .Net framework is the same
• textBox3.Text = (System.Convert.ToDouble(textBox1.Text) * 2).ToString(); Note: ToString with ()
• With C# , control/variable names are case sensitive.
VB Projects
• A VB project consists of several files. Visual Studio .Net automatically creates a project folder to keep all project files in the folder.– Project file
– Form file
– Modules
– Class file
– Etc.
Configure VB Project
• Project property page– Application– Compile– References
• Tools/Options– Environment
– Projects and Solutions
» VB defaults
VB Defaults
• Option Explicit: – On --- must declare variables before use
• Option Strict:– Off --- VB will convert the data
• Option Compare:– Binary --- case sensitive– Text --- case insensitive
• Option Infer– On --- When you set Option Infer to On, you can declare variables
without explicitly stating a data type. The compiler infers the data type of a variable from the type of its initialization expression.
Example of Option Infer
Variable Declarations• Option Explicit• Dim variableName as DataType• Variable naming rules:
– The first character must be a letter or an underscore character.
– Use only letters, digits, and underscore.– Cannot contain spaces or periods.– No VB keywords
• Naming conventions:– Descriptive– Consistent lower and upper case characters.
• Ex. Camel casing: lowerUpper, employeeName
Control Naming Conventions
• The first three letters should be a lowercase prefix that indicates the control’s type.– frm, txt, lbl, btn.
• The first letter after the prefix should be uppercase.– txtSalary, lblMessage
• The part of the control name after the prefix should describe the control’s purpose in the application.
VB Data Types
• Boolean (True/False): 2 bytes• Byte: Holds a whole number from 0 to 255.• Char: single character• Date: date and time, 8 bytes.• Decimal: Real number up to 29 significant digits, 16 bytes• Double: real, 8 bytes• Single: real, 4 bytes• Integer: 4 bytes (int32, uint32)• Long: 8 bytes integer• Short: 2 bytes integer• String• Object: Holds a reference of an object
Variable Declaration Examples
• Dim empName as String
• Declare multiple variables with one Dim:– Dim empName, dependentName, empSSN as String
• Dim X As Integer, Y As Single
• Initiatialization– Dim interestRate as Double = 0.0715
Variable Default Value
• Variables with a numeric data type: 0
• Boolean variables: False
• Date variables: 12:00:00 AM, January 1 of the year 1.
• String variables: Nothing
Variable Scope• Block-level scope: declared within a block of code
terminated by an end, loop or next statement.– If city = “Rome” then
• Dim message as string = “the city is in Italy”
• MessageBox.Show(message)
– End if
• Procedural-level scope: declared in a procedure• Class-level, module-level scope: declared in a
class or module but outside any procedure with either Dim or Private keyword.
• Project-level scope: a module variable declared with the Public keyword.
Data Conversion• Implicit conversion: When you assign a value of
one data type to a variable of another data type, VB attempts to convert the value being assigned to the data type of the variable if the OptionStrict is set to Off.
• Explicit conversion:– VB.Net Functions: CStr, Ccur, CDbl, Cint, CLng,
CSng, Cdate,Val, etc.– .Net System.Convert
• Type class’s methods:– toString
Date Data Type
• Variables of the Date data type can hold both a date and a time. The smallest value is midnight (00:00:00) of Jan 1 of the year 1. The largest value is 11:59:59 PM of Dec. 31 of the year 9999.
• Date literals: A date literal may contain the date, the time, or both, and must be enclosed in # symbols:– #1/30/2003#, #1/31/2003 2:10:00 PM#– #6:30 PM#, #18:30:00#
• Note: ControlPanel/RegionalOptions/Date
• Date Literal Example:– Dim startDate as dateTime– startDate = #1/30/2003#
• Use the System.Convert.ToDateTime function to convert a string to a date value:– startDate = System.Convert.ToDateTime(“1/30/2003”)– If date string is entered in a text box:
• startDate = System.Convert.ToDateTime(txtDate.text)• Or startDate=Cdate(txtDate.text)
• Date data type format methods
Some Date Functions
• Now: Current date and time• Today: Current date• TimeOfDay• DateDiff:• Demo
– Days between two dates– Days to Christmas
• DateDiff(DateInterval.Day, Today(), #12/25/2007#)
– Date data type properties and methods
Using Online HelpExample:Search Help for DateDiff
• MSDN VB Developer Center– http://msdn.microsoft.com/en-us/vbasic/
default.aspx– Library/Visual Studio/Visual Studio
Languages/Visual Basic• Reference
– Language reference
» Functions:
» DateDiff Function
Arithmetic and String Operators
• +, -, *, /. \, ^
• String Concatenation: &, +
• Compound operator:: X= X+1 or X +=1
IF Statement
• IF condition THEN
statements
[ELSEIF condition-n THEN
[elseifstatements]
[ELSE
[elsestatements]]]
End If
Select Case Structure
• SELECT CASE testexpression
[CASE expressionlist-n
[Statements]
[CASE ELSE
[elsestatements]
END SELECT
Select Case Example• SELECT CASE temperature
CASE <40Text1.text=“cold”
CASE < 60Text1.text=“cool”
CASE 60 to 80Text1.text=“warm”
CASE ELSEText1.text=“Hot”
End Select
Loop
• FOR index – start TO end [STEP step]
[statements]
[EXIT FOR]
NEXT index
DO [{WHILE| UNTIL} condition]
[statements]
[EXIT DO]
LOOP
Do While/Do UntilPrivate Sub Command1_Click()Dim counter As Integercounter = 0Do While counter <= 5 Debug.write(counter) counter = counter + 1LoopText1.Text = counterEnd Sub
Private Sub Command2_Click()Dim counter As Integercounter = 0Do Until counter > 5 Debug.write(counter) counter = counter + 1LoopText1.Text = counterEnd Sub
With … End With
With TextBox1
.Height = 250
.Width = 600
.Text = “Hello”
End With
Convenient shorthand to execute a series of statements on a single object. Within the block, the reference to the object is implicit and need not be written.
Procedures
. Sub procedure:
Sub SubName(Arguments)
…
End Sub– To call a sub procedure SUB1
• CALL SUB1(Argument1, Argument2, …)
Function
• Private Function tax(salary) As Double
• tax = salary * 0.1
• End Function
– Or• Private Function tax(salary)
• Return salary * 0.1
• End Function
Call by Reference Call by Value
• ByRef– The address of the item is passed. Any changes
made to the passing variable are made to the variable itself.
• ByVal– Default– Only the variable’s value is passed.
ByRef, ByVal example
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim myStr As String
myStr = TextBox1.Text
Call ChangeTextRef (myStr)
TextBox1.Text = myStr
End Sub
Private Sub ChangeTextRef(ByRef strInput As String)
strInput = "New Text"
End Sub