380 likes | 558 Views
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
E N D
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, FormLoad, etc. .Event procedures Sum: 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.
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 <40 Text1.text=“cold” CASE < 60 Text1.text=“cool” CASE 60 to 80 Text1.text=“warm” CASE ELSE Text1.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 Until Private Sub Command1_Click() Dim counter As Integer counter = 0 Do While counter <= 5 Debug.write(counter) counter = counter + 1 Loop Text1.Text = counter End Sub Private Sub Command2_Click() Dim counter As Integer counter = 0 Do Until counter > 5 Debug.write(counter) counter = counter + 1 Loop Text1.Text = counter End Sub
With … 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. With TextBox1 .Height = 250 .Width = 600 .Text = “Hello” End With
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