Web-Enabled Decision Support Systems Visual Basic .NET Programming Language Prof. Name Position University Name name@email.com (123) 456-7890 1 Overview 11.1 Introduction 11.2 Visual Basic Statements 11.3 InputBox and MessageBox 11.4 Visual Basic Data Types 11.5 Adding Windows Forms and Setting Start-up Form 11.6 Control Structures 11.7 Arithmetic, Logical, and String Operators 11.8 Arrays 11.9 Multi-Dimensional Arrays 11.10 Dynamic Arrays 11.11 Code Debugging 11.12 In-Class Assignment 11.13 Summary 2 Introduction A computer program is a sequence of precise, unambiguous, and detailed instructions on how to complete a task, written in a language that can be interpreted by a computer – A programming language is language used to express these instructions Visual Basic is an example of one such programming language – Visual Basic statements are similar to sentences in English Have specific syntax, nouns, verbs, etc. Grouped into subroutines, functions, and modules to enhance the readability and flow of logic of an application 3 Overview 11.1 Introduction 11.2 Visual Basic Statements 11.3 InputBox and MessageBox 11.4 Visual Basic Data Types 11.5 Adding Windows Forms and Setting Start-up Form 11.6 Control Structures 11.7 Arithmetic, Logical, and String Operators 11.8 Arrays 11.9 Multi-Dimensional Arrays 11.10 Dynamic Arrays 11.11 Code Debugging 11.12 In-Class Assignment 11.13 Summary 4 Visual Basic Statements A Visual Basic statement is a complete instruction written in the VB language – Language syntax are the rules and regulations that govern the composition of VB statements – Each statement contains one or more of the following elements: Keywords: Reserved words of the language Variables: Containers for values Constants: Special variables with fixed values Operators: Symbols used to perform arithmetic and logical operations Operands: Numerical or string values that may be parts of expressions Expressions: Combinations of one or more of the above terms that yields a value 5 Keywords Keywords are the reserved words of a programming language – Convey the same specific meaning every time they are used Visual Basic Code Example Boolean ByRef ByVal Case Class Const Date Dim Do Double Else ElseIf EOF End Exit False For Function If InputBox Visual Basic Keywords 6 Loop Case Mod Month Null ReDim True With Variables A variable is a temporary name given to a memory location – When writing a program, we need to store, manipulate, and reuse intermediate data values – Variables can temporarily store values and thus act like containers We use the keyword Dim to declare variables in Visual Basic – Allocates or reserves the space for values to be stored – Variable declaration syntax: Dim <Variable Name> As <Data Type> [= <Initial Values (s) >] – Examples: Dim TemperatureF As Integer = 1 Dim Weather As String = “Cold” Dim Comments As String 7 Constants A constant is a special type of variable whose value is not allowed to change once it has been assigned – We use the keyword Const to declare constants in Visual Basic – Constant declaration syntax: Const <Constant Name> As <Data Type> = <Final Values> – Examples: Const factor As Integer = 32 Const PI As Integer = 3.14 Visual Basic features two kinds of statements: – Declaration statements name and create variables, determine their types, and assign initial values – Executable statements perform an action that generates an output and can be stored in declared variables 8 Overview 11.1 Introduction 11.2 Visual Basic Statements 11.3 InputBox and MessageBox 11.4 Visual Basic Data Types 11.5 Adding Windows Forms and Setting Start-up Form 11.6 Control Structures 11.7 Arithmetic, Logical, and String Operators 11.8 Arrays 11.9 Multi-Dimensional Arrays 11.10 Dynamic Arrays 11.11 Code Debugging 11.12 In-Class Assignment 11.13 Summary 9 InputBox and MessageBox The InputBox function prompts an input dialog box and waits for the user input – When the user clicks the OK button on the input dialog box, the function returns the input value – Syntax: Variable x = InputBox (Prompt, Title, Default Response, X-Pos, Y-Pos) The MessageBox function is used to display a message to the user in an output dialog box – Syntax: MessageBox.Show (Message, Title, Type, Icon) 10 Hands-On Tutorial: User Input/Output How-to: Use Visual Basic InputBox and MessageBox Functions 1. Create a new Visual Basic project named VisualBasicIntro. 2. Add a new Button control to the default form. Set the Text property of the button to “Temperature Conversion” and name it, cmdConvert. Use the GroupBox control with no text value around the Button control. User Input/Output: Design Window 11 Adding Code Using the Code Window 3. Double-click the Button control to open the Code Window with the cmdConvert _Click subroutine. 4. Declare the variables TemperatureC and TemperatureF as Integers, and write conversion logic as shown below. User Input/Output: Code Window 12 Saving and Running the Application 5. Save and run the application to view the output shown below. User Input/Output: Application Output 13 The InputBox Function InputBox syntax: Variable x = InputBox (Prompt, Title, Default Response, X-Pos, Y-Pos) – Elements: Prompt: A string that appears as a text inside the dialog box that prompts the user Title: A string that appears in the title bar of the dialog box Default: The default value of the InputBox, displayed when the dialog box is shown to the user X-Pos, Y-Pos: Integer values for X and Y co-ordinates for positioning the dialog box on the screen Examples: InputBox (“Enter Your Age”, “Age Calculator”, , 100,100) – No default value InputBox (“Enter Your Age”, ,25) – No Title and No X-Pos and Y-Pos InputBox (“Only Prompt”) 14 The MessageBox Function MessageBox syntax: MessageBox.Show (Message, Title, Type, Icon) – Elements: Message: The text to display (may may be a string, integer, variable, or some combination of these) Title: A string that appears as a text in the title bar of the dialog box Type: The type of MessageBox Icon: Icon for the MessageBox Examples: MessageBox.Show(“Your Age is :=” & Age, “Age Calculator”, _ MessageBoxButtons.OK, MessageBoxIcon.Information) MessageBox.Show(“Your Age is :=” & Age, “Age Calculator”) MessageBox.Show(“Your Age is :=” & Age) 15 MessageBox Options Option Description MessageBoxButtons.AbortRetryIgnore Allows user to abort, retry, or ignore the running operation. MessageBoxButtons.OKCancel Allows user to either continue or cancel the operation. MessageBoxButtons.YesNoCancel Allows user to respond in yes or no format or select cancel to exit. Shows an exclamation mark on the dialog box. Used to MessageBoxIcon.Warning indicate caution. MessageBoxIcon.Information Shows an information mark on the dialog box. MessageBoxIcon.Error Shows an error mark on the dialog box. MessageBoxIcon.Question Shows a question mark on the dialog box. MessageBox Buttons and Icons 16 Visual Basic’s Online Help The Visual Studio IDE assists us in the process of application development, making it an interactive process – Tool Tips provide help on the syntax of statements Example of Online Tool Tip – IntelliSense intelligently displays only the relevant methods or options The MessageBox IntelliSense 17 Adding Comments to Visual Basic Code Comments are text lines that begin with a single quote or apostrophe (‘) character – Used to write useful explanatory comments along with the code lines – Ignored while the program is executing – Examples: 'This entire line is a now a VB comment. Dim TemperatureF As Integer 'Variable Holds the Temp in F 18 Overview 11.1 Introduction 11.2 Visual Basic Statements 11.3 InputBox and MessageBox 11.4 Visual Basic Data Types 11.5 Adding Windows Forms and Setting Start-up Form 11.6 Control Structures 11.7 Arithmetic, Logical, and String Operators 11.8 Arrays 11.9 Multi-Dimensional Arrays 11.10 Dynamic Arrays 11.11 Code Debugging 11.12 In-Class Assignment 11.13 Summary 19 Visual Basic Data Types When we declare a new variable, we must specify its data type – Indicates the kind of data that will be stored in the variable Data Type Size Range Integer 4 Bytes - 2,147,483,648 to 2,147,483,648 Long 8 Bytes ~ - 9.2 x 10 Double 8 Bytes ~ - 1.79 x 10 String Variable 0 to 2 Billion Characters Char 2 Bytes 0 to 65535 Boolean 2 Bytes True or False Date 8 Bytes January 1, 0001 to December 31, 9999 Object 4 Bytes Anything that can be stored as a Object 18 18 to 9.2 x 10 308 to 1.79 x 10 308 Visual Basic Data Types 20 Checking and Converting Data Types Two common operations are associated with data types: – Checking existing data types – Converting to other data types Visual Basic provides excellent support for data type manipulations with its dozens of built-in functions Checking functions are also known as logical functions, as they check for a particular data type and return a logical True or False value – Examples: IsNumeric () Returns True if numeric value; False otherwise. IsDate () Returns True if date value; False otherwise. IsArray () Returns True if an Array; False otherwise. IsError () Returns True if an Error; False otherwise. 21 Conversion Functions Examples: CInt Converts to the Integer data type. CLng Converts to the Long data type. CDbl Converts to the Double data type. CStr Converts to the String data type. CBool Converts to the Boolean data type. CDate Converts to the Date data type. CObj Converts to the Object data type. There is a generic function, CType, for data type conversions: – Syntax: CType (ConvertMe, toThis) 22 Hands-On Tutorial: Data Type Conversion How-to: Use Data Type Conversion Functions 1. Continue with the VisualBasicIntro project and Form1 from the “Temperature Conversion” hands-on tutorial. Add a cmdDataTypeConvert command button, and change the Text property to “Data Type Conversion”. Use the GroupBox control with no text value around the Button control. Data Type Conversion Example: Design Window 23 Adding Code 2. Associate the code below with the newly added command button. Data Type Conversion Example: Code Window 24 Running the Application 3. Press Ctrl+F5 to run and test the application. Data Type Conversion Example: Application Output 25 Hands-On Tutorial: Data Type Checking How-to: Use Data Type Checking Functions 1. Continue with Form1 from the previous hands-on tutorial. This time add a cmdDataTypeChk command button; change its Text property to “Data Type Checking”. Data Type Checking Example: Design View 26 Adding Code and Running 2. Associate the code below with the cmdDataTypeChk_Click event. Data Type Checking Example: Code Window 3. Save and run the application. Data Type Checking Example: Output Window 27 Overview 11.1 Introduction 11.2 Visual Basic Statements 11.3 InputBox and MessageBox 11.4 Visual Basic Data Types 11.5 Adding Windows Forms and Setting Start-up Form 11.6 Control Structures 11.7 Arithmetic, Logical, and String Operators 11.8 Arrays 11.9 Multi-Dimensional Arrays 11.10 Dynamic Arrays 11.11 Code Debugging 11.12 In-Class Assignment 11.13 Summary 28 Adding Windows Forms How-to: Add a Windows Form to the Existing Project 1. Choose Project | Add Windows Form from the Main menu to open the Add New Item dialog box. 2. Select Windows Form in the templates area of the window; accept the default form name and click the Add button. Adding a New Windows Form 29 Setting Start-up Form How-to: Set the Start-up Form 1. Choose Project | <Project Title> Properties from the Main menu to open the Properties page. 2. Select the desired startup form from the “Startup form” drop down list. Press Ctrl+S to save the settings. Setting the Startup Form 30 Overview 11.1 Introduction 11.2 Visual Basic Statements 11.3 InputBox and MessageBox 11.4 Visual Basic Data Types 11.5 Adding Windows Forms and Setting Start-up Form 11.6 Control Structures 11.7 Arithmetic, Logical, and String Operators 11.8 Arrays 11.9 Multi-Dimensional Arrays 11.10 Dynamic Arrays 11.11 Code Debugging 11.12 In-Class Assignment 11.13 Summary 31 Control Structures Control structures allow us to control the flow of program execution – By default, a program is executed sequentially: Left to right Top to bottom – Control structures allow us to skip over or loop a given section of the code – Classified into two categories: Decision structures: Allow us to test conditions Loop structures: Allow us to execute one or more lines of code repetitively 32 If-Then We use an If-Then structure to execute one or more statements conditionally – Syntax: If (<condition>) Then Body of If End If – Examples: 'Check whether the input number is greater than 100 If (x > 100) Then MessageBox.Show(”The Input Number is greater than 100”) End If 'Check whether Num is zero If (Num = 0) Then Factorial = 1 End If 33 If-Then-Else The Else statement allows us to specify the action to be performed if the condition of the If statement is not satisfied – Syntax: If (<condition>) Then Body of If Else Body of Else End If – Example: 'Check whether the input is an even or odd number If (x Mod 2) = 0 Then MessageBox.Show(x & “is an even number”) Else MessageBox.Show(x & “is an odd number”) End If 34 If-Then-Else – Logical Flow Chart If-Then-Else Structure’s Logical Flow Chart 35 If-Then-ElseIf-Else We can use an If-Then-ElseIf-Else statement to apply multi-level selections – Syntax: If (<condition1>) Then Body of If1 ElseIf (<condition2>) Then Body of If2 . . Else Body of Else End If – Example: 'Compare the input numbers If (a > b) Then MessageBox.Show(“The First Number is greater than Second Number”) ElseIf (b > a) Then MessageBox.Show(“The Second Number is greater than First Number”) Else MessageBox.Show(“Both Input Numbers are Equal”) End If 36 The RadioButton Control RadioButton controls force their users to select from a set of two or more mutually exclusive choices – Often used properties and events of a RadioButton control: Name Description Checked Sets/gets a value indicating whether the radio button is checked. Image Sets/gets a checkbox image. CheckedChanged Occurs when the Checked property changes. – Example: RadioButton Control Example 37 Hands-On Tutorial: Using If-Then-Else Structure How-to: Use the If-Then-Else Control Structure and RadioButton Control 1. Design Form2 as shown below. Make Form2 the start-up form. Name the three RadioButton controls as: radBS, radMS and radPhD, and name the Button control as cmdCheckStatus. RadioButton Control Example: Degree Selection 38 Adding Code and Running 2. Associate the code below with the command button’s Click event. Code Window 3. Save, run, and test the application. Application Output 39 Using Select-Case Structures The Select-Case structure selectively executes one among multiple “cases” – A single test expression is evaluated once and compared with the values of each case clause in the structure Only the first matching case gets executed – Conceptually similar to the If-Then-Else structure Enhances code readability when there are several possibilities to consider – Syntax: Select Case <TestExpression> Case <Expression 1> Body of Case1 Case <Expression 2> Body of Case2 . . Case <Expression n> Body of Case n Case Else Body of Case Else End Select 40 Select-Case Structure - Flowchart Select-Case Structure’s Logical Flow Chart 41 Select-Case Structure - Example Numbers a and b and operator op (+, -, *, /) are user inputs – Depending upon the input operator, we can perform the correct operation using a case statement as follows: Select Case op Case + MessageBox.Show(“a + b Case MessageBox.Show(“a - b Case * MessageBox.Show(“a * b Case / MessageBox.Show(“a / b Case Else MessageBox.Show(“Enter End Select 42 =” & (a + b)) =” & (a - b)) =” & (a * b)) =” & (a / b)) only (+ OR - OR * OR /) Operators”) The TextBox Control A TextBox control is a box-shaped control that can display text data or allow the user to input the text data – Can have multiple lines and scroll bars – Can be made read-only – Most important property is Text, which allows us to access the text value Example of a TextBox Control 43 Hands-On Tutorial: Working with Select-Case Structure How-to: Use the Select-Case Control Structure and TextBox Control 1. Add a new form, Form3, to the VisualBasicIntro project and set Form3 as the start-up form. Add a TextBox named txtMonthAbbr and a command button, cmdCheckDays. 2. Design the form as shown below. Select-Case Structure Example: Design View 44 Adding Code and Running 3. Use the code shown below for the Click event of the command button. Save, run, and test the application. Select-Case Structure Example: Code Window 45 Loop Structures Loop structures are used to execute blocks of statements multiple times – Here, we discuss four types: Do-Loop-While, Do-While-Loop, Do-Loop-Until, and Do-Until-Loop – Each variant evaluates a Boolean condition to determine whether or not to continue the execution of the loop – Categorize by when the Boolean condition is checked: Prior to loop execution: Do-While-Loop and Do-Until-Loop After the loop execution: Do-Loop-While and Do-Loop-Until – Categorize by how the Boolean condition is interpreted: Continue loop execution while the condition is true, stop once it is false: Do-WhileLoop and Do-Loop-While Continue loop execution until the condition is false, stop once it is true: Do-UntilLoop and Do-Loop-Until 46 Logical Flow Charts Do-Loop-While and Do-While-Loop: Logical Flow Charts 47 Do-Loop-While Syntax: Do Body of the loop Loop While (<condition>) Example: 48 Do-While-Loop Syntax: Do While (<condition>) Body of the loop Loop Example: 49 Do-Loop-Until Syntax: Do Body of the loop Loop Until (<condition>) Example: 50 Do-Until-Loop Syntax: Do Until (<condition>) Body of the loop Loop Example: 51 Hands-On Tutorial: Working with Do-Loop Structure How-to: Use the Do-Loop Control Structure 1. Add a new form, Form4, to the existing project. Set Form4 as a startup form. 2. Add three TextBox controls named txtFirstNum, txtSecondNum and txtSumStep. Also add a Button control named cmdSum. Sum Using Do-Loop-While Structure: Design Window and Output 52 Adding Code and Running 3. Use the code below for the Click event of the cmdSum Button control. 4. Save, run, and test the application. 53 Alternative Coding Do-While-Loop: Do-Until-Loop: Do-Loop-Until: 54 For-Next Structures The Do-Loop structures works well when we do not know how many times we must execute the loop statements For-Next is an alternative when we know the specific number of times we want to execute the loop – Syntax: For <counter = Start Value> To <End Value> [Step <Increment Value>] Body of the For Loop Next – Example: 55 For-Next Structure – Logical Flow Chart For-Next Structure’s Logical Flow Chart 56 Hands-On Tutorial: Working with the For-Next Loop Structure How-to: Use the For-Next Control Structure 1. Add a new form, Form5, to the existing project. Set the Form5 as a startup form. Set up this form and form controls as shown below. For-Next Loop Structure Example: Design View 57 Adding Code and Running 2. Use the code below for the Click event of the command button. 3. Save, run, and test the application. 58 For-Each-Next Loop Structure The For-Each-Next structure syntax is essentially the same as the ForNext syntax except that the loop is executed for each element of the group instead of a specific number of times – Helpful if we need to perform operations on groups such as CheckBoxes – Syntax: For Each <element> In <Group> Body of the For loop Next – Example: 59 The Exit Statement The Exit statement allows us to end the execution of a loop, subroutine, or function – Syntax: Exit <What?> – Examples: Exit Sub Exit Select Exit Do Exit For Exit Function 60 Exit Statement - Example “Exit Sub” example: 61 Overview 11.1 Introduction 11.2 Visual Basic Statements 11.3 InputBox and MessageBox 11.4 Visual Basic Data Types 11.5 Adding Windows Forms and Setting Start-up Form 11.6 Control Structures 11.7 Arithmetic, Logical, and String Operators 11.8 Arrays 11.9 Multi-Dimensional Arrays 11.10 Dynamic Arrays 11.11 Code Debugging 11.12 In-Class Assignment 11.13 Summary 62 Arithmetic Operators Arithmetic operators operate on one or more operands to produce an output value Operator Meaning Example *, / Multiplication and division x * y. Multiply x with y +, - Addition and subtraction x + y. Add x to y ^ Exponential x ^ y. x to the power of y Mod Modulo x Mod y. x Modulo y *=, /= Multiplication/division followed by assignment x *=y. x = x* y +=, -= Addition/subtraction followed by assignment x +=y. x = x + y = , <> Equal to, Not equal to x <> y. x is not equal to y >,< Greater than, less than x > y. x is greater than y >=, <= Greater than or equal to, Less than or equal to x >= y. x is greater than or equal to y Arithmetic Operators (in order of precedence) 63 Logical Operators Operator Meaning Example And Logical And two X And Y. If both X and Y are true, return true; otherwise, return operands false. Reverse the logical Not X. If X is true, then return false and vice versa. Not value of a operand Or Logical Or two X Or Y. If either X or Y is true, return true; otherwise, return false. operands Xor Logical Exclusive Or A Xor B. If A is true OR B is true, return true (Exclusive). If both two operands A and B have the same value (true/false), return false. Logical Operators 64 Math Functions Some of the functions associated with the Math collection: – Abs: Returns the absolute value of a specified – Sin, Tan, Cos: Returns the sine, tangent, and cosine values of the angle – Min, Max: Returns the smaller and greater of the given two numbers – Floor: Returns the greatest integer less than or equal to its numeric argument – Ceiling: Returns the smallest integer greater than or equal to its numeric argument – Sqrt: Returns the square root of the specified number – Pow: Returns the specified number raised to the specified power 65 Math Functions - Example We illustrate the use of Pow and Sqrt math functions with an example of Pythagoras' Theorem: – Calculate the length of the hypotenuse (output) of a right-angled triangle, given the length of its other two sides (inputs) – Code: Pythagoras’ Theorem Example: Code Window 66 Handling Strings Working with the String data type is an important aspect of the application development process – VB .NET has tremendous support for string manipulation – We can perform a variety of operations on strings: Change the string case Get part of the string Concatenate two strings Compare two strings Search a string 67 String Operations The following table summarizes the VB .NET String operations: What to do How Concatenate two strings &, +, String.Concat Compare two strings String.CompareTo(CompareMe), String.Equals(CompareMe) Copy String =, String.Copy(CopyFrom) Change Case UCase, LCase, String.ToUpper Length Len, String.Length Substring String.Substring(StartPos, Length) String Search String.IndexOf(SearchString) Trim Spaces LTrim, RTrim, String.Trim String Operations 68 Hands-On Tutorial: String Operations How-to: Use String Concat, Compare, Substring, IndexOf, and Length Functions 1. Add a form, Form6, to the current project and set it as the start-up form. 2. Design the form as shown below. 3. Each of the GroupBox controls illustrates a string operation. Illustrating String Operators: The Form in Design Window 69 Adding Code 4. Use the code below to assign code to the appropriate command buttons. Illustrating String Operators: Code Window1 70 Adding Code (cont.) 4. Use the code below to assign code to the appropriate command buttons. Illustrating String Operators: Code Window2 71 Save and Run 5. Save, run, and test the application. Illustrating String Operators: Application Output 72 Overview 11.1 Introduction 11.2 Visual Basic Statements 11.3 InputBox and MessageBox 11.4 Visual Basic Data Types 11.5 Adding Windows Forms and Setting Start-up Form 11.6 Control Structures 11.7 Arithmetic, Logical, and String Operators 11.8 Arrays 11.9 Multi-Dimensional Arrays 11.10 Dynamic Arrays 11.11 Code Debugging 11.12 In-Class Assignment 11.13 Summary 73 Arrays An array is a basic data structure that allows us to refer to multiple variables by the same name – All the variables (or elements) in an array have the same data type – Array declaration syntax: Dim <Array Name> As <Data Type> ([<Array Size>-1]) – Examples: Dim IntArray (4) As Integer Dim DobArray (14) As Date Dim LongArray (49) As Long '5 elements '15 elements '50 elements – Indexing: Example of an Integer Array 74 Hands-On Tutorial: Working with Arrays How-to: Declare and Use Arrays 1. Add a new form, Form7, to the existing VisualBasicIntro project. Set Form7 as the start-up form. 2. Design the form as shown below. Name the command button as, cmdPopulateArray. Set its Text property to “Populate Me”. An Array Example: Design Window 75 Adding Code 3. For the Click event of the command button cmdPopulateArray, write the code shown below. Array Example: Code Window 76 Saving and Running 4. Save, run, and test the application. Array Example: Application Output 77 The ListBox Control The ListBox control presents a list of choices to the user – By default, the choices are displayed vertically in a single column – Some properties and methods: SelectedItem: Gets/sets the currently selected item SelectedIndex: Gets/sets the index of a currently selected item Items: Gets/sets collection of all the items Items.Clear: Clears all the items in the list ClearSelection: Sets SelectedIndex = -1 (clears any selection) Example of a ListBox Control 78 Adding Items to a ListBox We can add items to a list at design-time using the Properties Window – Locate the Items property in the Property Window – Click the Build button in the property row to open the String Collection Editor – The editor allows us to enter item values to the list We can also add items at run-time in the VB .NET code – Employ Items.Add method: Adding Items to a ListBox Control 79 Hands-On Tutorial: Displaying Array in a ListBox Control How-to: Add Elements to a ListBox Control 1. Add a new form, Form8, to the existing VisualBasicIntro project. Set Form8 as the start-up form. 2. Add a ListBox and Button controls as shown below. Name the Button control as cmdArray and the ListBox control as lstArray. Set the Text property of the ListBox control to “Populate Me”. Displaying Array in a ListBox Control: Design Window 80 Adding Code and Running 3. Associate the code below with the Click event of the cmdArray command button. 4. Save and run the application by pressing Ctrl+F5. 81 Overview 11.1 Introduction 11.2 Visual Basic Statements 11.3 InputBox and MessageBox 11.4 Visual Basic Data Types 11.5 Adding Windows Forms and Setting Start-up Form 11.6 Control Structures 11.7 Arithmetic, Logical, and String Operators 11.8 Arrays 11.9 Multi-Dimensional Arrays 11.10 Dynamic Arrays 11.11 Code Debugging 11.12 In-Class Assignment 11.13 Summary 82 Multi-Dimensional Arrays Multi-dimensional arrays have two or more dimensions – Visualized as a grid with rows of the grid representing one of the dimensions and columns representing the other – Declaration syntax: Dim <Array Name> ([<1st D Size>]),… ([<nth D Size>]) As <Data Type> – Example: Dim Students (3, 4) As Double '4 rows and 5 columns 83 Using Loops with Multi-Dimensional Arrays We can efficiently process a multi-dimensional array by using nested ForNext loops – The code below initializes (lines 9-14) and displays (lines 16-21) the Student array 84 Hands-On Tutorial: Working with Multi-Dimensional Arrays How-to: Use Multi-Dimensional Arrays and the DataGridView Control 1. Add a new form, Form9, to the existing VisualBasicIntro project. Set Form9 as the start-up form. 2. Drag and drop a DataGridView control from the Toolbox on Form9. Name the DataGridView control dgvArray. 3. Add a Button control named cmdMultDArray to the form and set its Text property to “Enter Grades”. Displaying a Two-Dimensional Array in the DataGridView Control: Design Window 85 Adding Code 4. Associate the code below with the Click event of the command button. An Example of Dynamic Arrays: Code Window 86 Overview 11.1 Introduction 11.2 Visual Basic Statements 11.3 InputBox and MessageBox 11.4 Visual Basic Data Types 11.5 Adding Windows Forms and Setting Start-up Form 11.6 Control Structures 11.7 Arithmetic, Logical, and String Operators 11.8 Arrays 11.9 Multi-Dimensional Arrays 11.10 Dynamic Arrays 11.11 Code Debugging 11.12 In-Class Assignment 11.13 Summary 87 Dynamic Arrays Dynamic arrays are arrays whose size can be changed at run-time – As opposed to static arrays which always remain the same size – Useful when we do not know the exact number of elements to be stored – Visual Basic lets us assign or change the array size at run time using the ReDim (re-declare) keyword – Re-declaration syntax: ReDim <Array Name> (<Array Size>) 88 Dynamic Array - Example Dynamic Array Example: Form Design Dynamic Array Example: Code Window 89 Overview 11.1 Introduction 11.2 Visual Basic Statements 11.3 InputBox and MessageBox 11.4 Visual Basic Data Types 11.5 Adding Windows Forms and Setting Start-up Form 11.6 Control Structures 11.7 Arithmetic, Logical, and String Operators 11.8 Arrays 11.9 Multi-Dimensional Arrays 11.10 Dynamic Arrays 11.11 Code Debugging 11.12 In-Class Assignment 11.13 Summary 90 Code Debugging Debugging is the process of finding and fixing syntax and logical errors Syntax errors occur because of incorrect syntax use or human errors – Visual Studio .NET assists us in detecting syntax errors as we write the code Underlines the construct where there is a syntax error Syntax Error in the Outer For-Next Loop Structure 91 Logical Errors Logical errors arise due to flaws in the logical reasoning of an application design – Detecting and handling logical errors can be very challenging – Often result in run-time exceptions when executed Logical Error: Run-Time Error Message for IndexOutOfRange Exception 92 Using Breakpoints With breakpoints we can specify a line in the code where we want to break the execution of a program – Helps when debugging logical errors – Program execution pauses at the breakpoint so that we can observe the values of various variables at that point in time – To add/remove a breakpoint, click in the selector area of the code line Adding Breakpoints to the Code 93 Breakpoint Features Breakpoints offer many interesting features: – Break on a breakpoint conditionally – Skip a breakpoint based on how many times it was hit Breakpoint Condition Dialog Box Breakpoint Hit Count Dialog Box 94 Using the Watch Window The Watch Window is used to watch the values of different variables during the execution of a program – To open a Watch Window, we must be in debug mode We can open a Watch Window by choosing the Debug | Windows | Watch | Watch1 option form the Main menu Opening a Watch Window 95 Using the Watch Window (cont.) In a Watch Window, we can add the names of the variables we would like to watch – The corresponding values are displayed in the Value column – Every time we break (or pause) the execution using a breakpoint, we can watch the values of variables Adding Variables to the Watch Window 96 Using Debug Toolbar and Menu As we break program execution and watch variables, we have many options available in the Debug toolbar and Debug menu: – – – – – Continue (F5) Stop Debugging (Ctrl+Alt+Break) Step Into (F8) Step Over (Shift+F8) Step Out (Ctrl+Shift+F8) The Debug Menu 97 Debug Menu Options Option Description Continue Continues the execution until next break point. Stop Debugging Stops the execution. Gets us out of debugging mode. Step Into Steps into a procedure. If the current line of the program is not a procedure call, we move to the next line of the code. Step Over Executes the procedure without stepping into it. The procedure will be executed and we move to the next code line. Again, if the current line is not a procedure call, we move to the next line of the code. Step Out Executing remaining statements of the procedure and gets out of the procedure. Debug Menu Options 98 Overview 11.1 Introduction 11.2 Visual Basic Statements 11.3 InputBox and MessageBox 11.4 Visual Basic Data Types 11.5 Adding Windows Forms and Setting Start-up Form 11.6 Control Structures 11.7 Arithmetic, Logical, and String Operators 11.8 Arrays 11.9 Multi-Dimensional Arrays 11.10 Dynamic Arrays 11.11 Code Debugging 11.12 In-Class Assignment 11.13 Summary 99 In-Class Assignment Create a Windows application that will compute the sum of squares of a series of numbers, given: – Starting number (SN) – Ending number (EN) – Step value (SV) – Example: Given SN=1, EN=5, and SV=1 The series is 1,2,3,4, and 5 The sum of squares is 1+2+9+16+25=53 – Directions: Use either a Do-While loop or a For-Next loop to compute the sum, and display it in a MessageBox to the user. Also display a series and square values in two ListBox controls. Use a Double variable to hold the sum of squares. Also, if the value entered for EN is larger than 100,000, we exit the program without computing the sum. 100 Overview 11.1 Introduction 11.2 Visual Basic Statements 11.3 InputBox and MessageBox 11.4 Visual Basic Data Types 11.5 Adding Windows Forms and Setting Start-up Form 11.6 Control Structures 11.7 Arithmetic, Logical, and String Operators 11.8 Arrays 11.9 Multi-Dimensional Arrays 11.10 Dynamic Arrays 11.11 Code Debugging 11.12 In-Class Assignment 11.13 Summary 101 Summary A computer program is a sequence of precise, unambiguous, and detailed instructions on how to complete a task, written in a language that can be interpreted by a computer. – A language used to express these instructions is referred as a programming language. A complete instruction written in Visual Basic language is known as a Visual Basic statement. – The rules and regulations that govern the composition of VB statements are known as language syntax. – A Visual Basic statement contains one or more of the following elements: Keywords: Reserved words for Visual Basic’s use Variables: Containers for values; temporary names given to memory locations Constants: Special variables with fixed values Operators: Symbols used to perform arithmetic and logical operations on operands Operands: Numerical or string values to operate on 102 Summary (cont.) We use the keyword Dim to declare a variable in Visual Basic. – The type of a variable (data type) indicates the kind of data that will be stored in the variable. InputBox controls helps us obtain data from a user using a dialog box. MessageBox controls take a value as an input parameter and display it to the user in a dialog box. Control structures allow us to control the flow of program execution; they consist of two categories, which are based on the behavior they create: – Decision structures Allow us to test conditions (If-Then, Select-Case) – Loop structures Allow us to execute one or more lines of code repetitively (Do-Loops, For-Next Loops) 103 Summary (cont.) An array is a basic data structure that allows us to refer to multiple variables by the same name. – Visual Basic features two types of arrays: A static array whose size always remains the same A dynamic array whose size can be changed at run-time There are two kinds of errors that can occur in a program: – Syntax errors Occur because of incorrect syntax use or human errors – Logical (semantic) errors Arise due to flaws in the logical reasoning of an application design Debugging is the process of finding and fixing syntax and logical errors – Detecting and handling logical errors can be very challenging – Breakpoints and Watch Windows help detect logical errors 104