93
Chapter 3 - Visual Basic Schneider Chapter 3 Fundamentals of Programming in Visual Basic

Chapter 3

  • Upload
    ansel

  • View
    66

  • Download
    1

Embed Size (px)

DESCRIPTION

Chapter 3. Fundamentals of Programming in Visual Basic. Visual Basic Objects Visual Basic Events. Numbers Strings Input/Output Built-In Functions. Outline and Objectives. The Initial Visual Basic Screen. Menu bar. Project Explorer window. Toolbar. Toolbox. Properties window. - PowerPoint PPT Presentation

Citation preview

Page 1: Chapter 3

Chapter 3 - Visual Basic Schneider

Chapter 3

Fundamentals of Programming in Visual Basic

Page 2: Chapter 3

Chapter 3 - Visual Basic Schneider

Outline and Objectives

• Visual Basic Objects• Visual Basic Events

• Numbers• Strings• Input/Output• Built-In Functions

Page 3: Chapter 3

Chapter 3 - Visual Basic Schneider

The Initial Visual Basic Screen

Toolbox

Project Explorerwindow

Properties window

Form

Menu bar

Description pane

Form Layout window

Toolbar

Project Container window

Page 4: Chapter 3

Chapter 3 - Visual Basic Schneider

Steps to Create a Visual Basic Program

1. Create the interface by placing controls on the form

2. Set properties for the controls and the form3. Write code for event procedures associated

with the controls and the form

Page 5: Chapter 3

Chapter 3 - Visual Basic Schneider

Four Useful Visual Basic Controls

• Text Boxes • Labels• Command Buttons• Picture Boxes

Page 6: Chapter 3

Chapter 3 - Visual Basic Schneider

Placing a Text Box on a Form

• Double-click on the text box icon in the toolbox to add a text box to your form

• Activate the properties window (Press F4)• Set values of properties for text box

Page 7: Chapter 3

Chapter 3 - Visual Basic Schneider

Placing a Text Box on a Form

Text box

Page 8: Chapter 3

Chapter 3 - Visual Basic Schneider

Some Useful Properties of Objects

• Name

• Caption• Text (for Text Boxes)

• BorderStyle• Visible• BackColor• Alignment• Font

Page 9: Chapter 3

Example

Chapter 3 - Visual Basic Schneider

Page 10: Chapter 3

Chapter 3 - Visual Basic Schneider

Naming Objects:

• Use the Property window to change the Name property of an object

• Good programming practice dictates that each object name begins with a three letter prefix that identifies the type of object.

Page 11: Chapter 3

Chapter 3 - Visual Basic Schneider

Naming Objects:Object Prefix Example Command Button cmd cmdStartForm frm frmPayrollLabel lbl lblNamePicture box pic picCloudsText box txt txtAddress

Page 12: Chapter 3

Naming Objects

• An Object Name– Must Start with a letter– Can include numbers and underscore (_)– Cannot include punctuation or spaces– Can be a maximum of 40 characters

Chapter 3 - Visual Basic Schneider

Page 13: Chapter 3

Chapter 3 - Visual Basic Schneider

Visual Basic Events

• Code is a set of statements that instruct the computer to carry out a task.

• Code can be associated with events • When an event occurs, the code associated

with that event (called an Event Procedure) is executed.

Page 14: Chapter 3

Chapter 3 - Visual Basic Schneider

Creating An Event Procedure

• Double-click on an object to open a Code window. (The empty default event procedure will appear. Click on the Procedure box if you want to display a different event procedure.)

• Write the code for that event procedure.

Page 15: Chapter 3

Chapter 3 - Visual Basic Schneider

Example of An Event Procedure

Private Sub objectName_event ( ) statementsEnd Sub

Private Sub txtOne_GotFocus( ) txtOne.Font.Size = 12 txtOne.Font.Bold = FalseEnd Sub

Page 16: Chapter 3

Chapter 3 - Visual Basic Schneider

More Examples

Private Sub cmdButton_Click( ) txtBox.ForeColor = vbRed txtBox.Font.Size = 24 txtBox.Text = “Hello”End Sub

Page 17: Chapter 3

Exercises

Chapter 3 - Visual Basic Schneider

11. Private Sub cmdButton_Click( ) frmHi= “Hello”

End Sub 12. Private Sub cmdButton_Click( ) txtOne.ForeColor= “red”

End Sub

Page 18: Chapter 3

Exercises

Chapter 3 - Visual Basic Schneider

13. Private Sub cmdButton_Click( ) txtBox.Caption = “Hello”

End Sub

16. Private Sub cmdButton_Click( ) txtOne.MultiLine= True

End Sub

Page 19: Chapter 3

Tips• Most Properties can be set or altered at run

time with code.cmdButton.visible = False

• The BorderStyle and MultiLine properties of a text box can only be set from the properties window

• “” surrounds Caption, Name, Font.Name or strings not True, vars or numeric constants

Chapter 3 - Visual Basic Schneider

Page 20: Chapter 3

Color Constants

Chapter 3 - Visual Basic Schneider

• At design time colors are selected from a palette

• At run time the eight most common colors can be assigned with the color constants:

vbBlack vbMagentavbRed vbCyanvbGreen vbYellowvbBlue vbWhite

Page 21: Chapter 3

Chapter 3 - Visual Basic Schneider

Components of Visual Basic Statements

• Constants• Variables• Keywords (reserved words)

Page 22: Chapter 3

Chapter 3 - Visual Basic Schneider

Constant

• Can NOT change during the execution of a program.

• Types of Constants:– numeric constants– string constants

Page 23: Chapter 3

Chapter 3 - Visual Basic Schneider

Valid Numeric Constants:

Integer Real number -2987 -1900.05 16 0.0185 5 10.56

Page 24: Chapter 3

Chapter 3 - Visual Basic Schneider

Invalid Numeric Constants:

14,005.5 6.8% 33- $190.04 15 78 3.5&

Page 25: Chapter 3

Chapter 3 - Visual Basic Schneider

Arithmetic Operations

Operator Operation Basic expression

^ Exponentiation A ^ B * Multiplication A * B / Division A / B + Addition A + B - Subtraction A - B

Page 26: Chapter 3

Scientific Notation

• Largest/Smallest number a Single can handle

Chapter 3 - Visual Basic Schneider

10n=1000...0 10-n=0.000...01VB Notation bE±r1.4 * 10-45 3.4 * 1038

Page 27: Chapter 3

Chapter 3 - Visual Basic Schneider

Variables

• A storage location in main memory whose value can be changed during program execution.

• These storage locations can be referred to by their names.

• Every variable has three properties: a Name, a Value, and a Data Type.

• Types of variables: Numeric and String

Page 28: Chapter 3

Chapter 3 - Visual Basic Schneider

Rules for Naming Variables

• Must begin with a letter• Must contain only letters, numeric digits,

and underscores ( _ )• Can have up to 255 characters• Cannot be a Visual Basic language keyword

(for example, Sub, End, False)

Page 29: Chapter 3

Chapter 3 - Visual Basic Schneider

Keywords

• Words that have predefined meaning to Visual Basic .

• Can Not be used as variable names.• Examples:

– End - Print– Sub - Let– If -Select– While -Call

Page 30: Chapter 3

Chapter 3 - Visual Basic Schneider

Numeric Variables

• Used to store numbers • Value is assigned by a statement of the form:

numVar = expression

• The variable must be on the left and the expression on the right.

Page 31: Chapter 3

Chapter 3 - Visual Basic Schneider

Assignment Statement:

• The statement var = expr assigns the value of the expression to the variable

• tax = 0.02 * (income - 500 * dependents)• sum = 2 + x + 4.6 + y

Page 32: Chapter 3

Chapter 3 - Visual Basic Schneider

Valid Numeric Variable Names:

timeElapsed taxRatespeedncelsius

Page 33: Chapter 3

Chapter 3 - Visual Basic Schneider

Invalid Numeric Variable Names:

• maximum/average• 1stChoice• square yard

Page 34: Chapter 3

Chapter 3 - Visual Basic Schneider

Valid Assignment Statements

• count = count + 1• num = 5 • count = count + num /2

Page 35: Chapter 3

Chapter 3 - Visual Basic Schneider

Invalid Assignment Statements

• 10 = count• count + 1 = count

Page 36: Chapter 3

Chapter 3 - Visual Basic Schneider

Visual Basic Print Statement

• Print is a method used to display data on the screen or printer.

• Can be used to display values of variables or expressions

Page 37: Chapter 3

Chapter 3 - Visual Basic Schneider

Examples of Print Statements

Private Sub cmdCompute_Click() picResults.Print 3 + 2 picResults.Print 3 - 2 picResults.Print 3 * 2 picResults.Print 3 / 2 picResults.Print 3 ^ 2 picResults.Print 2 * (3 + 4)End Sub

Page 38: Chapter 3

Chapter 3 - Visual Basic Schneider

Examples of Print Statements

• picOutput.Print speed• picOutput.Print taxRate• picOutput.Print “Class average is”; total / 3

Page 39: Chapter 3

Chapter 3 - Visual Basic Schneider

Examples of Print Statements

x = 15 y = 5picOutput.Print (x + y) / 2, x / y

Output: 10 3

Page 40: Chapter 3

Chapter 3 - Visual Basic Schneider

String Constants:

• A sequence of characters treated as a single item

• The characters in a string must be surrounded by double quotes (“ ”)

Page 41: Chapter 3

Chapter 3 - Visual Basic Schneider

Valid String Constants

“A rose by any other name”“9W”“134.23”“She said, ‘stop , thief!’ ”

Page 42: Chapter 3

Chapter 3 - Visual Basic Schneider

Invalid String Constants

‘Down by the Seashore’“134.24“She said, “Stop, thief!””

Page 43: Chapter 3

Chapter 3 - Visual Basic Schneider

String Variables

• A string variable stores a string.• The rules for naming string variables are

identical to those for naming numeric variables.

• When a string variable is first declared, its value is the empty string.

Page 44: Chapter 3

Chapter 3 - Visual Basic Schneider

String Variable Example

Private Sub cmdShow_Click() picOutput.Cls phrase = "win or lose that counts." picOutput.Print "It's not whether you "; phrase picOutput.Print "It's whether I "; phraseEnd Sub

Page 45: Chapter 3

Chapter 3 - Visual Basic Schneider

Concatenation

• Two strings can be combined by using the concatenation operation.

• The concatenation operator is the ampersand (&) sign.

Page 46: Chapter 3

Chapter 3 - Visual Basic Schneider

Examples of Concatenation:

• strVar1 = “Hello”strVar2 = “World”picOutput.Print strVar1& strVar2

• txtBox.Text = “32” & Chr(176) & “ Fahrenheit”

Page 47: Chapter 3

Chapter 3 - Visual Basic Schneider

Declaring Variable Types

• Use the Dim statement to declare the type of a variable.

• Examples: Dim number As Integer Dim flower As String

Dim interestRate As Single

Page 48: Chapter 3

Chapter 3 - Visual Basic Schneider

Data Types :

• Single: a numeric variable that stores real numbers

• Integer: a numeric variable that stores integer numbers (from -32768 to 32767)

• String: a variable that stores a sequence of characters

Page 49: Chapter 3

Chapter 3 - Visual Basic Schneider

Using Text Boxes for Input/Output

• The contents of a text box are always a string.

• Numbers can be stored in text boxes as strings.

Page 50: Chapter 3

Chapter 3 - Visual Basic Schneider

Using Text Boxes for Input/Output

• The contents of a text box should be converted to a number before being assigned to a numeric variable.

• Val(txtBox.Text) gives the value of a numeric string as a number

• Example: Dim numVar as Single numVar = Val(txtBox.Text)

Page 51: Chapter 3

Chapter 3 - Visual Basic Schneider

Example (convert miles to furlongs and vice versa)

• Example 1xString=“528”xValue=Val(xString) xValue=528• Example 2yValue=428yString=Str(yValue) yString=“428”

Page 52: Chapter 3

Chapter 3 - Visual Basic Schneider

Example (convert miles to furlongs and vice versa)

Private Sub txtFurlong_LostFocus() txtMile.Text = Str(Val(txtFurlong.Text / 8))End Sub

Private Sub txtMile_LostFocus() txtFurlong.Text = Str(8 * Val(txtMile.Text))End Sub

Page 53: Chapter 3

Chapter 3 - Visual Basic Schneider

Program Documentation

• An apostrophe (') is used to indicate that the remainder of the line is a comment. (Comments are ignored by Visual Basic.)

• Remarks can appear on a separate line or following a Visual Basic statement.

Page 54: Chapter 3

Chapter 3 - Visual Basic Schneider

The KeyPress Event Procedure

Private Sub txtCharacter_KeyPress(KeyAscii As Integer) txtCharacter.Text = "" picOutput.Cls picOutput.Print Chr(KeyAscii); " has ANSI value"; KeyAsciiEnd Sub

Page 55: Chapter 3

Chapter 3 - Visual Basic Schneider

Reading Data from Files

1. Choose a number to be the reference number for the file

2. Execute an Open statement3. Read the data sequentially using Input # statements4. Close the file

Page 56: Chapter 3

Chapter 3 - Visual Basic Schneider

Example of Reading from a File:

Open “DATA.TXT” For Input As #1 Input #1, num1 Input #1, num2 picOutput.Print num1+num2Close #1

Reference number

Read the data and assign it to num1

Open the file

Close the file

Page 57: Chapter 3

Chapter 3 - Visual Basic Schneider

Example of Reading from a File:

Open “DATA.TXT” For Input As #1 Input #1, num1, num2 picOutput.Print num1+num2Close #1

Page 58: Chapter 3

Chapter 3 - Visual Basic Schneider

Reading Data from Files

• Files can be also used for output rather than input. More about files will be discussed in chapter 8 and 9.

Page 59: Chapter 3

Chapter 3 - Visual Basic Schneider

Input Dialog Box

• An input dialog box can be used to obtain a single item of input from the user

• Presents a window (dialog box) requesting input

• Syntax: stringVar = InputBox(prompt, title)

Page 60: Chapter 3

Chapter 3 - Visual Basic Schneider

Example of an Input Dialog BoxPrivate Sub cmdDisplay_Click() Dim fileName As String, prompt As String, title As String Dim houseNumber As Single, street As String prompt = "Enter the name of the file containing the information." title = "Name of File" fileName = InputBox(prompt, title) Open fileName For Input As #1 Input #1, houseNumber Input #1, street picAddress.Print "The White House is at"; houseNumber; street Close #1End Sub

After executing, an inputdialog box will pop up

Page 61: Chapter 3

Chapter 3 - Visual Basic Schneider

Using Message Dialog Box for Output

• The message dialog box is used to present a pop-up window containing information for the user

• Syntax: MsgBox prompt, , title

Page 62: Chapter 3

Chapter 3 - Visual Basic Schneider

Example of a Message Dialog Box

MsgBox “Nice try, but no cigar”, , “Consolation”

Stays on thescreen until the user presses OK

Page 63: Chapter 3

Chapter 3 - Visual Basic Schneider

Formatting the Output:

• Create easily readable output• In the Print method, the spacing of the

output is controlled by the following devices:– semicolon– comma– Tab function

Page 64: Chapter 3

Chapter 3 - Visual Basic Schneider

Semicolons

• The next value output is placed in the next column position.

Example: picOutput.Print “Patrick”; ”Jon”

Output: PatrickJon

Page 65: Chapter 3

Chapter 3 - Visual Basic Schneider

Example of Semicolon

picOutput.Print “Patrick”; “ Jon”

Output Screen:Patrick Jon

Space here

Space here

Page 66: Chapter 3

Chapter 3 - Visual Basic Schneider

Example of Semicolon

picOutput.Print 100; -200; 300

Output Screen:100 -200 300

One space

Two spaces

Page 67: Chapter 3

Chapter 3 - Visual Basic Schneider

Commas

• A comma in a Print method causes the next value output to be placed in the next available print zone.

• Each print zone is 14 positions wide.

Page 68: Chapter 3

Chapter 3 - Visual Basic Schneider

Using Commas

Example:picOutput.Print “SEE”, ”YOU”, ”SOON”

Output Screen:SEE YOU SOON

Column 1

Column 15

Column 29

Page 69: Chapter 3

Chapter 3 - Visual Basic Schneider

Using Commas

Example:picOutput.Print “abc123def456ghi”, ”whatever”

Output Screen:abc123def456ghi whatever

Column 1

Column 15

Column 29

Page 70: Chapter 3

Chapter 3 - Visual Basic Schneider

Using Commas

• A print zone can be skipped by typing consecutive commas

Example: picOutput.Print “HOURLY”, , “PAY”Output Screen: HOURLY PAY

Column 29

Page 71: Chapter 3

Chapter 3 - Visual Basic Schneider

Tab Function

• Specifies the column where output will start• Use only semicolons with the Tab function• Can only be used to advance the print

position (cannot move backwards)

Page 72: Chapter 3

Chapter 3 - Visual Basic Schneider

Example of Tab Function

Example: picOutput.Print Tab(3); “Hi there!” ; Tab(25) ;“Bye!”

Output Screen: Hi there! Bye!

Column 3

Column 25

Page 73: Chapter 3

Chapter 3 - Visual Basic Schneider

Example of Tab Function

Example: picOutput.Print Tab(3); “Hi there!” ; Tab(5) ;“Bye!”Because column 5 is already occupied by the previous string,

the output will be at the next line

Output Screen: Hi there! Bye!

Column 3 Column 5

Page 74: Chapter 3

Chapter 3 - Visual Basic Schneider

Built-In Functions

• Take one or more input values and return an output value

• A means provided by Visual Basic for carrying out small, common tasks

• Types of Built-In functions– Numeric functions (manipulate numbers)– String functions (manipulate strings)

Page 75: Chapter 3

Chapter 3 - Visual Basic Schneider

Numeric Functions

Rnd Returns a number between 0 and 1 (excluding 1)

Sqr(n) Returns the square root of the number n

Round(n,r) Returns the number n rounded to r decimal places

Int(n) Returns the greatest integer less than or equal to the number n

Page 76: Chapter 3

Chapter 3 - Visual Basic Schneider

Example of Numeric Functions

Private Sub cmdEvaluate_Click() Dim n As Single, root As Single

n = 6.76 root = Sqr(n) picResults.Print root; Int(n); Round(n,1)End SubOutput: 2.6 6 6.8

Page 77: Chapter 3

Chapter 3 - Visual Basic Schneider

Commonly-Used String Functions

Function: Left(“Penguin”, 4) Purpose: Returns the number of characters

specified, starting at the beginning of the string

Page 78: Chapter 3

Chapter 3 - Visual Basic Schneider

Commonly-Used String Functions

Function: Right(“Gotham City”, 4)

Purpose: Returns the number of characters specified from the end of the string

Page 79: Chapter 3

Chapter 3 - Visual Basic Schneider

Commonly-Used String Functions

Function: Mid(“Commissioner”, 4, 3)

Purpose: Returns the substring starting at the position indicated by the first number and continuing for the length specified by the second number

Page 80: Chapter 3

Chapter 3 - Visual Basic Schneider

Commonly-Used String Functions

Function: UCase(“Yes”)

Purpose: Converts any lowercase letters in a string to uppercase

Page 81: Chapter 3

Chapter 3 - Visual Basic Schneider

String-Related Numeric Functions

Function: InStr(“John Smith”, “m”)

Purpose: Searches for the first occurrence of one string in another and gives the position at which the string is found

Page 82: Chapter 3

Chapter 3 - Visual Basic Schneider

String-Related Numeric Function

Function: Len(“John Smith”)

Purpose: Returns the number of characters in the string.

Page 83: Chapter 3

Chapter 3 - Visual Basic Schneider

Strings and string Functions examples

picBoard.print len(left(“welcome”,3)) picBoard.print UCase(left(“welcome”,3))

Page 84: Chapter 3

Chapter 3 - Visual Basic Schneider

Format Functions

• The format functions provide detailed control of how numbers, dates, and strings are displayed.

• Examples– FormatNumber (12345.678, 1) 12,345.7– FormatCurrency (12345.678, 2) $12,345.68– FormatPercent (.185, 2) 18.50%– FormatNumber (1 + Sqr(2), 3) 2.414

Page 85: Chapter 3

Chapter 3 - Visual Basic Schneider

Format Function

• Format (expr, “@……..@”)

Purpose: The value of this function is the value of expr right justified in a field of n spaces, where n is the number of @ symbols.

Page 86: Chapter 3

Chapter 3 - Visual Basic Schneider

Format Examples

Format(12345, “@@@@@”) 12345Format(123, “@@@@@”) 123Format(“123.4”, “@@@@@”) 123.4

Page 87: Chapter 3

Chapter 3 - Visual Basic Schneider

Examples

Page 88: Chapter 3

Chapter 3 - Visual Basic Schneider

Examples

Page 89: Chapter 3

Chapter 3 - Visual Basic Schneider

Examples

Page 90: Chapter 3

Chapter 3 - Visual Basic Schneider

FormatDateTime Example

FormatDateTime (“9-15-04”, vbLongDate)

Output: Monday, September 15, 2004

Page 91: Chapter 3

Chapter 3 - Visual Basic Schneider

Rnd Function• Returns a random number from 0 to 1.(excluding 1).

Example:picBox.Print Rnd

Output: Displays a random number from 0 to 1 (0 included and 1 excluded).

Example:picBox.Print Rnd +5

Output: Displays a random number from 5 to 6 (5 included and 6 excluded).

Page 92: Chapter 3

Chapter 3 - Visual Basic Schneider

Rnd FunctionExample:

picBox.Print Int(Rnd)Output: Displays 0.

Example:picBox.Print Int(Rnd +5)

Output: Displays 5.

Example:picBox.Print Int(Rnd) +5

Output: Displays 5.

Page 93: Chapter 3

Chapter 3 - Visual Basic Schneider

Rnd FunctionExample:

picBox.Print Int(5*Rnd) Output: Displays a random Integer from 0 to 4 (0 and 4 included). OR Output: Displays a random Integer from 0 to 5 (0 included and 5

excluded)

Example:picBox.Print Int(5*Rnd) +2

Output: Displays a random Integer from 2 to 6 (2 and 6 included).