70
Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Embed Size (px)

Citation preview

Page 1: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Week 1-Visual Basic: Introduction

HNDIT23073- Rapid Application

Development

Page 2: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Visual Studio.NETA platform that allows the development and

deployment of desktop and web applications Allows user choice of many .NET languages

May program in One of them May create different parts of application in different

languages▪ Visual Basic▪ C# (C Sharp)▪ C++▪ J++▪ Etc.

Page 3: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Visual Studio.NET

Integrated Development Environment – allows the automation of many of the common programming tasks in one environment Writing the code Checking for Syntax (Language) errors Compiling and Interpreting(Transferring to computer

language) Debugging (Fixing Run-time or Logic Errors) Running the Application

Page 4: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

What is Visual Basic. Net

4th Generation Programming Environment / Development Language

Based on BASIC language Beginners All-Purpose Symbolic Instructional Code

Most widely used tool for developing Windows Applications Graphical User Interface (GUI) Menus, Buttons, Icons to help the user

Full Object-Oriented Programming Language

Page 5: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

How a VB Application is Compiled and Run

Solution

.NET FrameworkVisual Studio .NET

Project

CommonLanguageRuntime

IntegratedDevelopmentEnvironment

Source files

Visual Basiccompiler

1 2 3

Assembly

Intermediate Language (IL)

Class references

Page 6: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Project and Solution Concepts• User creates a new project in Visual Studio

– A solution and a folder are created at the same time with the same name as the project

– The project belongs to the solution– Multiple projects can be included in a solution

• Solution– Contains several folders that define an application’s structure– Solution files have a file suffix of .sln

• Project: contains files for a part of the solution– Project file is used to create an executable application– A project file has a suffix of .vbproj– Every project has a type (Console, Windows, etc.)– Every project has an entry point: A Sub procedure named Main or a Form

Page 7: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Project and Solution Folders/Files• Solution folder

– Solution file (.sln)– Project folder

• Project file (.vbproj)• Visual Basic source files (.vb)• My Project folder: contains configuration information

common to all projects– The file AssemblyInfo.vb contains assembly metadata– The References folder contains references to other assemblies

• The bin folder contains the executable file produced as a result of compiling the application

Page 8: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Using Visual Studio.NET

Page 9: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Creating an Application• Select the “Create Project” option from the “Recent Projects”

box on the Start Page

Page 10: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Default Settings

Page 11: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Visual Basic Forms

• This is a Visual BasicGUI object called a form

• Forms are the windows and dialog boxes that display when a program runs.

• A form is an object that contains other objects such as buttons, text boxes, and labels

Page 12: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Visual Basic Controls

• Form elements are objects called controls

• This form has:– Two TextBox controls– Four Label controls– Two Button controls

• The value displayed by a control is held in the text property of the control

• Left button text property is Calculate Gross Pay• Buttons have methods attached to events

Page 13: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Design WindowT

oolbox

SolutionExplorer

PropertiesWindow

Page 14: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Creating the Application

• Step 1: Add a Control to the Form – Button– Look in the Toolbox for the Button Control– Select the Button with the Mouse– Draw a Rectangle Region in the Design Window by

holding the mouse button down– Release the mouse button to see your button– (Can also be added by double clicking on the

button in the Toolbox)

Page 15: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development
Page 16: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Creating the Application

• Add a Second Button to the Form• Put it in the lower right corner

• The project now contains• a form with 2 button • controls

Page 17: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Control Properties

• Properties– All controls have properties– Each property has a value (or values)– Determine the Look and Feel (and sometimes

behavior) of a Control– Set initially through the Properties Window

• Properties Set for this Application– Name– Text

Page 18: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Name Property

• The name property establishes a means for the program to refer to that control

• Controls are assigned relatively meaningless names when created

• Change these names to something more meaningful

• Control names must start with a letter• Remaining characters may be letters, digits, or

underscore

Page 19: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Examples of Names

btnCalcGrossPay btnClose

txtHoursWorked

txtPayRate

lblGrossPay

Label1

Label2

Label3

The label controls use the default names (Label1, etc.)

Text boxes, buttons, and the Gross Pay label play an active role in the program and have been changed

Page 20: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Control Naming Conventions• Should be meaningful• 1st 3 lowercase letters indicate the type of control

– txt… for Text Boxes– lbl… for Labels– btn… for Buttons

• After that, capitalize the first letter of each word• txtHoursWorked is clearer than txthoursworked• Change the name property

– Set the name of button1 to btnWelcome– Set the name of button2 to btnExit

Page 21: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Setting Control Properties

• Click on the Control in the Design Window• Select the appropriate property in the

Properties Window

Page 22: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Text Property

• Determines the visible text on the control• Change the text property

– bntWelcome set to “Say Welcome”– btnExit set to “Exit”

– Do not need to include the “ “ in your text field– Notice how the buttons now display the new text

Page 23: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Event Driven Programming

• The GUI environment is event-driven• An event is an action that takes place within a

program– Clicking a button (a Click event)– Keying in a TextBox (a TextChanged event)

• Visual Basic controls are capable of detecting many, many events

• A program can respond to an event if the programmer writes an event procedure

Page 24: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Event Procedures• An Event Procedure is a block of code that

executes only when particular event occurs• Writing an Event Procedure

– Create the event procedure stub• Double click on control from Design Window – for default

event for that controlOR

• Open the Code Editor (F7 or View Menu/Code option)• Select Control & Select Event from drop down windows in

Code Editor

– Add the event code to the event procedure stub

Page 25: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Open the Code Editor

Page 26: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development
Page 27: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Select the Control for the Event Procedure

• Select the btnWelcome control from the Form Controls List Box

Page 28: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Select the Event for the Event Procedure

• Select the Click event from the list of many available events

• Buttons have 57 possible events they can respond to

Page 29: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Event Procedure Stub• Beginning of Procedure is created for you

– If you create stub by double clicking on control it will create a stub for the most commonly used event for that control

Page 30: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Add the Event Code

• Write the code that you want executed when the user clicks on the btnWelcome button– Type: MsgBox (“Welcome to Visual Basic”)

– Must be contained within the Event Procedure Stub

Page 31: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Writing Visual Basic Code• Not Case Sensitive

– Visual Basic will “correct” case issues for you• Keywords are in Blue

– Special reserved words• Comments in Green• Problems with Syntax (Language) will be

underlined in blue

Page 32: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Coding Conventions• Rules

– Use spaces to separate the words and operators– Indentation and capitalization have no effect

• Recommendations– Use indentation and extra spaces for alignment– Use blank lines before and after groups of related

statements– Code all variable declarations at the start of the

procedure– Group related declarations

Page 33: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Comments• Usage

– Type an apostrophe ( ' ) followed by the comment– The compiler ignores everything on the line after ‘– Used for documentation/readability and to disable chosen

statements during testing• Recommendations

– Follow apostrophe with a star for readability ( ‘* )– Use at beginning of program to indicate author, purpose,

date, etc.– Use for groups of related statements and portions of code

that are difficult to understand

Page 34: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Create Event Procedure for Exit Button

• Create an Event Procedure for when the btnExit button is clicked

• Have it display “Goodbye” in a MsgBox• Then “End” – this will terminate the program

Page 35: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Switching to Design Window• You can switch between the Design Window

and the Code Window (once opened) by clicking on the tabs at the top

• Design and Code Windows– Form1.vb(Design) is the

design window– Form1.vb is the Code Window

Page 36: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Running the ApplicationClick the Run Icon on the

Standard Toolbar Or Press F5

This will begin the programDisplay the Form/WindowNothing will happen

Waiting on an Event

Page 37: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Test the Events

• Click on the “Say Welcome” button– The message box should display

• Click on the “Exit” button– The message box should display– The application should terminate

Page 38: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Save the Project

• Make sure to save your work– SAVE ALL (not Save Form)– Visual Basic applications are made of

• several files • Often even several forms

Page 39: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

VariablesA storage location in memory (RAM)

Holds data/information while the program is running These storage locations can be referred to by their

namesEvery variable has three properties:

Name - reference to the location - cannot be changed Value - the information that is stored - can be changed

during program execution, hence the name “variable” Data Type - the type of information that can be stored -

cannot be changed

Page 40: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

How to Think About Variables

• You the programmer make up a name for the variable

• Visual Basic associates that name with a location in the computer's RAM

• The value currently associated with the variable is stored in that memory location

• You simply use the name you chose when you need to access the value

Page 41: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Usage of Variables

• Copy and store values entered by the user• Perform arithmetic manipulation on values• Test values to see if they meet a criteria• Temporarily hold and manipulate the value of

a control property• Hold data/information so that it can be

recalled for use at a later point in the code

Page 42: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Choosing Data Type

Data type - Specifies type of data variable can store• Integer variables: Long, Integer, Short, Byte • Floating-point variables: Single, Double• Fixed decimal point variable: Decimal• Boolean variables: True, False• Character variable: Char• Text variable: String• The Object variable

– Default data type assigned by Visual Basic– Can store many different types of data– Less efficient than other data types

Page 43: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Visual Basic Data Types

Data type Prefix Size ValuesByte byt 1 byte positive integer value from 0 to 255Short shr 2 byte integer from –32,768 to +32,767Integer int 4 byte integer from +/- 2,147,483,647Long lng 8 byte integer from +/- 9,223,372,036,854,775,807

Single sng 4 byte single-precision, floating-point number Double dbl 8 byte double-precision, floating-point number Decimal dec 16 byte number with up to 28 significant digits

Char chr 2 byte Any single characterBoolean bln 2 byte True or False

String str (4 byte) Text - Any number/combination of charactersDate dtm 8 byte 8 character date: #dd/mm/yyyy#Object obj (4 byte) An address that refers to an object

Page 44: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Variable NamesFirst character must be a letter or underscoreMust contain only letters, numbers, and

underscores (no spaces, periods, etc.)Can have up to 255 charactersCannot be a VB language keywordNaming Conventions

Should be meaningful Follow 3 char prefix style - 1st 3 letters in lowercase

to indicate the data type After that, capitalize the first letter of each word Example: intTestScore

Page 45: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Declaring a Variable

• A variable declaration is a statement that creates a variable in memory

• Syntax: Dim VariableName As DataType– Dim (short for Dimension) - keyword– VariableName - name used to refer to variable– As - keyword– DataType - one of many possible keywords to indicate

the type of value the variable will contain• Example: Dim intLength as Integer

Page 46: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Declaring and Initializing a Variable

• A starting or initialization value may be specified with the Dim statement

• Good practice to set an initial value unless assigning a value prior to using the variable

• Syntax: Dim VariableName As DataType = Value

Just append " = value” to the Dim statement= 5 assigning a beginning value to the variable

• Example: Dim intLength as Integer = 5

Page 47: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Variable Declaration Rules

• Variable MUST be declared prior to the code where they are used

• Variable should be declared first in the procedure (style convention)

• Declaring an initial value of the variable in the declaration statement is optional– Refer to default values (next slide)

Page 48: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Default Values for Data Types

Data type Default (Initial) value

All numeric types Zero (0)Boolean FalseChar Binary 0String or Object EmptyDate 12:00 a.m. on January 1,

0001

Page 49: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Literal

• Actual value/data/information• Similar to a variable, but can NOT change

during the execution of a program.• Examples of Literals:

– Numeric: 5 ; 157 ; 195.38256

– String: “Paul” ; “Hello!!!” ; “Jackson, AL 36545”– Char: ‘a’ ; ‘1’ ; ‘?’ ; ‘@’– Boolean: True ; False

Page 50: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Named Constants• Programs often need to use given values

– For example: decTotal *= 1.06– Adds 6% sales tax to an order total

• Two problems with using literals for these types of values– The reason for multiplying decTotal by 1.06 isn’t

always obvious– If sales tax rate changes, must find and change every

occurrence of .06 or 1.06

Page 51: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Named Constants (cont.)• Use of named constants resolves both these issues• Can declare a variable whose value is set at

declaration and cannot be changed later:• Syntax: Const CONST_NAME As DataType = Value

Looks like a normal declaration except:– Const used instead of Dim– An initialization value is required– By convention, entire name capitalized with underscore

characters to separate words

Page 52: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Named Constants (cont.)

• The objective of our code is now clearer– Const sngSALES_TAX_RATE As Single = 1.06– decTotal *= sngSALES_TAX_RATE

• Can change all occurrences in the code simply by changing the initial value set in the declaration– If tax rate changes from 6% to 7%– Const sngSALES_TAX_RATE As Single = 1.07

Page 53: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Scope of VariablesWhat – Indicates the part of the program where the

variable can be usedWhen – From the variable declaration until the end of

the code block (procedure, method, etc.) where it is declared Variable cannot be used before it is declared Variable declared within a code block is only visible to

statements within that code block▪ Called Local Variable

Can be declared at the beginning of the class code window (General Declarations section) and be available to all blocks▪ Called Form Level Variable

Variables that share the same scope cannot have the same name (same name ok if different scope)

Page 54: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Lifetime of Variables• What – Indicates the part of the program where the

variable exists in memory• When – From the beginning of the code block

(procedure, method, etc.) where it is declared until the end of that code block– When the code block begins the space is created to hold

the local variables• Memory is allocated from the operating system

– When the code block ends the local variables are destroyed• Memory is given back to the operating system

Page 55: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Assignment Statement

• Syntax: variablename = expression• Assigns the value of the expression to the

variable. (The variable must be on the left and the expression on the right.)

• Example: – intNumber1 = 4 – intNumber2 = 3 * (2 + 2)– intNumber3 = intNumber1 – IntNumber1 = intNumber1 + 6

Page 56: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Implicit Type Conversions• A value of one data type can be assigned to a variable of

a different type– An implicit type conversion is an attempt to automatically

convert to the receiving variable’s data type

• A widening conversion suffers no loss of data– Converting an integer to a single– Dim sngNumber as Single = 5

• A narrowing conversion may lose data– Converting a decimal to an integer– Dim intCount as Integer = 12.2 ‘intCount becomes 12

Page 57: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Explicit Type Conversions• VB provides a set of functions that perform data type

conversions • These functions will accept a literal, variable name, or

arithmetic expression• The following narrowing conversions require an explicit

type conversion– Double to Single– Single to Integer– Long to Integer

• Boolean, Date, Object, String, and numeric types represent different sorts of values and require conversion functions as well

Page 58: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

The Val Function

• The Val function is a more forgiving means of performing string to numeric conversions

• Uses the form Val(string)• If the initial characters form a numeric value,

the Val function will return that• Otherwise, it will return a value of zero

Page 59: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

The Val FunctionVal Function Value Returned– Val("34.90“) 34.9– Val("86abc“) 86– Val("$24.95“) 0– Val("3,789“) 3– Val("“) 0– Val("x29“) 0– Val("47%“) 47– Val("Geraldine“) 0

Page 60: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

The ToString Method

• Returns a string representation of the value in the variable calling the method

• Every VB data type has a ToString method• Uses the form VariableName.ToString• For example

Dim number as Integer = 123lblNumber.text = number.ToString

– Assigns the string “123” to the text property of the lblNumber control

Page 61: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Performing Calculations with Variables

Arithmetic Operators^ Exponential* Multiplication/ Floating Point Division\ Integer DivisionMOD Modulus (remainder from division)+ Addition– Subtraction& String Concatenation (putting them together)

Page 62: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Common Arithmetic Operators

• Examples of use:– decTotal = decPrice + decTax– decNetPrice = decPrice - decDiscount– dblArea = dblLength * dblWidth– sngAverage = sngTotal / intItems– dblCube = dblSide ^ 3

Page 63: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Special Integer Division Operator

• The backslash (\) is used as an integer division operator

• The result is always an integer, created by discarding any remainder from the division

• Example– intResult = 7 \ 2 ‘result is 3– shrHundreds = 157 \ 100 ‘result is 1– shrTens = (157 - 157 \ 100 * 100) \ 10

‘result is ?

Page 64: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Special Modulus Operator

• This operator can be used in place of the backslash operator to give the remainder of a division operationintRemainder = 17 MOD 3 ‘result is 2dblRemainder = 17.5 MOD 3 ‘result is 2.5

• Any attempt to use of the \ or MOD operator to perform integer division by zero causes a DivideByZeroException runtime error

Page 65: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Concatenating Strings• Concatenate: connect strings together• Concatenation operator: the ampersand (&)• Include a space before and after the & operator• Numbers after & operator are converted to strings• How to concatenate character strings

– strFName = "Bob"– strLName = "Smith"– strName = strFName & " “ “Bob ”– strName = strName & strLName “Bob Smith”

– intX = 1 intY = 2– intResult = intX + intY– strOutput = intX & “ + “ & intY & “ = “ & intResult “1 + 2 = 3”

Page 66: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Combined Assignment Operators• Often need to change the value in a variable and assign

the result back to that variable• For example: var = var – 5• Subtracts 5 from the value stored in var

Operator Usage Equivalent to Effect += x += 2 x = x + 2 Add to-= x -= 5 x = x – 5 Subtract from*= x *= 10x = x * 10 Multiply by/= x /= y x = x / y Divide by\= x \= y x = x \ y Int Divide by&= x &= “.” x = x & “.” Concatenate

Page 67: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Arithmetic Operator Precedence• Operator precedence tells us the order in which

operations are performed • From highest to lowest precedence:

– Exponentiation (^)– Multiplicative (* and /)– Integer Division (\)– Modulus (MOD)– Additive (+ and -)

• Parentheses override the order of precedence• Where precedence is the same, operations

occur from left to right

Page 68: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

All Operators Precedence

• Parenthesis• Exponential• Multiplication / Division• Integer Division• MOD• Addition / Subtraction• String Concatenation• Relational Operators (< , > , >= , <= , <>)• Logical Operators (AND, OR, NOT)

Page 69: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Precedence Examples

• 6 * 2 ^ 3 + 4 / 2 = 50• 7 * 4 / 2 – 6 = 8• 5 * (4 + 3) – 15 Mod 2 = 34

• intX = 10• intY = 5• intResultA = intX + intY * 5 'iResultA is 35• iResultB = (intX + intY) * 5 'iResultB is 75• dResultA = intX - intY * 5 'dResultA is -15• dResultB = (intX - intY) * 5 'dResultB is 25

Page 70: Week 1-Visual Basic: Introduction HNDIT23073- Rapid Application Development

Reference

• http://www.cis.usouthal.edu,2014/03/10