programming with microsoft visual basic 2008 fourth edition
DESCRIPTION
Programming with Microsoft Visual Basic 2008 Fourth Edition. Chapter Two Designing Applications. Previewing the Playtime Cellular Application. Playtime Cellular application: Allows salespeople to enter customer’s name, address, and number of blue and pink phones ordered - PowerPoint PPT PresentationTRANSCRIPT
Programming with Microsoft Visual Basic 2008
Fourth Edition
Chapter TwoDesigning Applications
Previewing the Playtime Cellular Application
• Playtime Cellular application:– Allows salespeople to enter customer’s name,
address, and number of blue and pink phones ordered
– Calculates and displays total number of phones ordered and the total price of the order
Programming with Microsoft Visual Basic 2008, Fourth Edition 2
Previewing the Playtime Cellular Application (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 3
Figure 2-2 Completed order form
Lesson A Objectives
After studying Lesson A, you should be able to: • Plan an object-oriented application in Visual
Basic 2008• Complete a TOE (Task, Object, Event) chart• Follow the Windows standards regarding the
layout and labeling of controls
Programming with Microsoft Visual Basic 2008, Fourth Edition 4
Creating an Object-Oriented Application
• Developing an application is like building a home• Role of programmer analogous to that of builder• Bugs: Problems that affect application functions
Programming with Microsoft Visual Basic 2008, Fourth Edition 5
Creating an Object-Oriented Application (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 6
Figure 2-3: Processes used by a builder and a programmer
Planning an Object-Oriented Application
• Actively involve user in planning phase– End product should closely match the user’s
needs and wants• TOE chart: Used to record tasks, objects, and
events required for the application
Programming with Microsoft Visual Basic 2008, Fourth Edition 7
Planning an Object-Oriented Application (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 8
Figure 2-4: Steps for planning an OO application
Identifying the Application’s Tasks
• What information will the application need to display on the screen and/or print on the printer?
• What information will the user need to enter into the user interface?
• What information will the application need to calculate to produce the desired result?
• How will the user end the application?• Will previous information need to be cleared from
the screen before new information is entered?
Programming with Microsoft Visual Basic 2008, Fourth Edition 9
Identifying the Application’s Tasks (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 10
Figure 2-6: Tasks entered in a TOE chart
Programming with Microsoft Visual Basic 2008, Fourth Edition 11
Figure 2-6: Tasks entered in a TOE chart (continued)
Identifying the Application’s Tasks (continued)
Identifying the Objects
• Assign each task to an object in user interface• Objects to be used: Label control, button control,
text box• Label control: Displays information that user
should not change• Button control: Performs an action immediately
after a click event• Text box: Provides an area for user to enter data
Programming with Microsoft Visual Basic 2008, Fourth Edition 12
Identifying the Events
• Determine which event (if any) must occur for an object to do its assigned task
• Text boxes: No special event is needed• Label controls: No special event is needed• btnCalc, btnClear, and btnExit buttons: Must
perform assigned tasks when clicked
Programming with Microsoft Visual Basic 2008, Fourth Edition 13
Identifying the Events (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 14
Figure 2-9: Completed TOE chart ordered by object
Drawing a Sketch of the User Interface
• Follow Windows standards for designing the interface– In Western countries, information flows either
vertically or horizontally• Vertical arrangement: Information flows from
top to bottom, with essential information located in first column
• Horizontal arrangement: Information flows from left to right, with essential information placed in first row
Programming with Microsoft Visual Basic 2008, Fourth Edition 15
Drawing a Sketch of the User Interface (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 16
Figure 2-10: Vertical arrangement of the Playtime Cellular application
Drawing a Sketch of the User Interface (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 17
Figure 2-11: Horizontal arrangement of the Playtime Cellular application
Drawing a Sketch of the User Interface (continued)
• White space or containers may be used to group related controls
• Containers: Objects used to group related controls– Examples: GroupBox, Panel, TableLayoutPanel
• Label controls that display output should have meaningful names– Example: “Total Price” identifies lblTotalPrice label
• Identifying labels should end with colon (:)– Example: “Total Price:”
Programming with Microsoft Visual Basic 2008, Fourth Edition 18
Drawing a Sketch of the User Interface (continued)
• Sentence capitalization: Only first letter in the first word is capitalized– Use for identifying labels
• Book title capitalization: Capitalize first letter of each word except articles, conjunctions, and prepositions– Use for button text
• Buttons should be same height and width, and should be aligned
• Group related controls together, and keep margins consistent
Programming with Microsoft Visual Basic 2008, Fourth Edition 19
Lesson A Summary• Steps to create an OO application:
– Meet with client– Plan application– Build user interface– Code application– Test and debug application– Assemble documentation
• To plan OO application, identify tasks, objects and events that are needed
• Identify information needed as input to produce desired result
Programming with Microsoft Visual Basic 2008, Fourth Edition 20
Lesson B ObjectivesAfter studying Lesson B, you should be able to:• Build the user interface using your TOE chart and
sketch• Follow the Windows standards regarding the use of
graphics, fonts, and color• Set a control’s BorderStyle property• Add a text box to a form• Lock the controls on the form• Assign access keys to controls• Use the TabIndex property
Programming with Microsoft Visual Basic 2008, Fourth Edition 21
Building the User Interface
• Use TOE chart and sketch as guides when building user interface– Place appropriate controls on forms– Set applicable properties of controls
• Some features of user interface:– Information is arranged vertically – Controls are aligned and appropriately labeled
• Try to create an interface that no one notices
Programming with Microsoft Visual Basic 2008, Fourth Edition 22
Building the User Interface (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 23
Figure 2-12: Partially completed interface for the Playtime Cellular application
Including Graphics in the Interface
• Graphics: Icons or pictures added to an interface– Used to emphasize or clarify a portion of screen,
or for aesthetic purposes• The human eye is attracted to pictures before
text– Include graphic only if it is necessary
• Graphics for aesthetic use should be small and positioned to avoid distracting user
Programming with Microsoft Visual Basic 2008, Fourth Edition 24
Selecting Fonts for the Interface
• Font property: Controls font type, style, and size • Recommendations for fonts:
– Use sans serif fonts (without strokes)• e.g., Segoe UI, Tahoma, Microsoft Sans Serif
– Use 8-12 point size fonts for interface– Use only one or two font sizes and one font type– Avoid italics and underlining – Limit bold text to titles, headings, and key items
• Objects added to form inherit form’s font setting
Programming with Microsoft Visual Basic 2008, Fourth Edition 25
Adding Color to the Interface• The eye is drawn to color before black and white• Add color only if there is good reason
– Many people have trouble distinguishing color• Guidelines for adding colors:
– Use dark text against light background– Limit of three colors
• Not including black, white, gray– Colors added should be complementary– Avoid using dark color for background– Use color to help identify interface elements, but not as
only means of identification
Programming with Microsoft Visual Basic 2008, Fourth Edition 26
The BorderStyle and AutoSize Properties
• BorderStyle property: Determines style of control’s border– None: Ensures control will not have border– FixedSingle: Surrounds control with thin line– Fixed3D: Gives control a 3-D appearance (default)
• AutoSize property: Determines whether label control automatically sizes to fit its current contents– Use True for identifying labels, but use False for
output labels
Programming with Microsoft Visual Basic 2008, Fourth Edition 27
Adding a Text Box Control to the Form
• Text box control– Provides an area in the form for data entry
• Use TextBox tool to add a text box control• Make all text boxes same size and align them
using snap lines• Blue snap lines: For vertical alignment• Pink snap lines: For horizontal alignment
Programming with Microsoft Visual Basic 2008, Fourth Edition 28
Adding a Text Box Control to the Form (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 29
Figure 2-13: Snap lines shown in the interface
Locking the Controls on a Form
• Lock controls after they are properly placed– Purpose: Avoid inadvertently moving controls
• A locked control is identified by a small-lock• To lock controls:
– Click form (or any control on the form)– Click Format on menu bar– Click Lock Controls
• Follow same procedure to unlock controls
Programming with Microsoft Visual Basic 2008, Fourth Edition 30
Assigning Access Keys
• Access key– Enables object to be selected using keyboard– Key combination: Alt key + letter or number
• Each access key must be unique• Shown in interface as underlined letter• Assigning an access key:
– Include an ampersand (&) in the control’s caption– Example: “&Calculate Order” assigns ‘C’ to button
Programming with Microsoft Visual Basic 2008, Fourth Edition 31
Assigning Access Keys (continued)
• Reasons to assign access keys:– Allow user to work even if mouse does not– Allow fast typists to keep hands on the keyboard– Allow people with disabilities that prevent them
from using a mouse to be able to use application• Follow Windows standards for assigning
commonly used access keys
Programming with Microsoft Visual Basic 2008, Fourth Edition 32
Setting the TabIndex Property
• Focus: State in which a control is ready to accept user input or action
• Pressing Tab key or access key shifts focus • TabIndex property: Contains number
representing order in which control will receive focus when user presses Tab key– Control with TabIndex of 0 receives focus first
• Set TabIndex using Properties window or Tab Order option on View menu– Make a list of objects to determine proper ordering
Programming with Microsoft Visual Basic 2008, Fourth Edition 33
Setting the TabIndex Property (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 34
Figure 2-15: TabIndex boxes showing the correct TabIndex values
Lesson B Summary
• To specify control’s border, set BorderStyle property
• To lock/unlock controls on form, use Lock Controls option on Format menu
• To assign an access key to control, type an ampersand (&) in Text property of control or identifying label
• To set tab order, set each control’s TabIndex property to number that represents order in which you want the control to receive focus
Programming with Microsoft Visual Basic 2008, Fourth Edition 35
Lesson C ObjectivesAfter studying Lesson C, you should be able to:• Code an application using its TOE chart• Plan an object’s code using pseudocode or a flowchart• Write an assignment statement• Send the focus to a control while an application is
running• Include internal documentation in the code• Write arithmetic expressions• Use the Val and Format functions
Programming with Microsoft Visual Basic 2008, Fourth Edition 36
Coding the Application
• Code: Instructions added to an application• Coding is done after planning and building
interface• TOE charts show which objects and events need
to be coded• Playtime Cellular application code requirements:
– Three buttons associated with Click events
Programming with Microsoft Visual Basic 2008, Fourth Edition 37
Coding the Application (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 38
Figure 2-18: Playtime Cellular application’s interface
Coding the Application (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 39
Figure 2-19: Playtime Cellular application’s TOE chart (ordered by object)
Planning a Procedure Using Pseudocode
• Pseudocode: Short phrases used to describe the steps a procedure must take to accomplish its goal– Travel directions are a type of pseudocode
• btnCalc Click event procedure: Must calculate total phones ordered and total price, and then display results
Programming with Microsoft Visual Basic 2008, Fourth Edition 40
Planning a Procedure Using Pseudocode (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 41
Figure 2-20: Pseudocode for the Playtime Cellular application
Planning a Procedure Using a Flowchart
• Flowchart: Uses standardized symbols to show program logic– Oval: Start/stop symbol– Rectangle: Process symbol; represents a task– Parallelogram: Input/output symbol– Flowlines: Connect the symbols• Flowcharts depict same logic as pseudocode
• Programmers usually use either flowcharts or pseudocode (but not both)
Programming with Microsoft Visual Basic 2008, Fourth Edition 42
Coding the btnClear Control’s Click Event Procedure
• btnClear control’s task: Clear screen for next order
• String: Group of characters enclosed in quotation marks (“”)
• Zero-length string (or empty string): Pair of quotation marks with nothing between them (“”)
• Two ways to remove control contents at runtime: – Assign zero-length string to control’s Text property– Assign String.Empty to control’s Text property
Programming with Microsoft Visual Basic 2008, Fourth Edition 43
Coding the btnClear Control’s Click Event Procedure (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 44
Figure 2-22: Pseudocode for the btnClear control’s Click event procedure
Assigning a Value to a Property During Run Time
• Assignment statement: Instruction assigning a value to object at runtime
• Syntax: object.property = expression – object and property are object and property names– expression contains the value to be assigned
• Assignment operator (=): Assigns value on right side to the object on left side
Programming with Microsoft Visual Basic 2008, Fourth Edition 45
Using the Focus Method
• Method: Predefined procedure• Focus method:
– Allows you to move focus to specified control • Syntax: object.Focus()
– Object: Name of control that receives focus
Programming with Microsoft Visual Basic 2008, Fourth Edition 46
Internally Documenting the Program Code
• Comments: Internal documentation in program– Used by programmers to document a procedure’s
purpose or explain sections of code• To create comment, place an apostrophe (’)
before a statement– Compiler ignores all characters after apostrophe
for rest of line• Comments are color-coded in IDE• Comments help make code readable
Programming with Microsoft Visual Basic 2008, Fourth Edition 47
Internally Documenting the Program Code (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 48
Figure 2-24: Completed Click event procedure for the btnClear control
Internally Documenting the Program Code (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 49
Figure 2-25: Comments entered in the General Declarations section
Writing Arithmetic Expressions
• Arithmetic expression: Expression that contains arithmetic operators and operands
• Precedence numbers: Indicate order of operations in expression – Performed from lower precedence numbers first to
higher number – If two operations are at same level, they are
performed left to right – Parentheses can be used to override default
precedence
Programming with Microsoft Visual Basic 2008, Fourth Edition 50
Writing Arithmetic Expressions (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 51
Figure 2-26: Most commonly used arithmetic operators and their order of precedence
Writing Arithmetic Expressions (continued)
• Unary operator: Requires one operand – Example: -7 (the negation operator)
• Binary operator: Requires two operands• Integer division operator (\):
– Divides two integers; returns an integer as a result– Discards the remainder
• Modulus operator (Mod): Returns only remainder in a division
Programming with Microsoft Visual Basic 2008, Fourth Edition 52
Writing Arithmetic Expressions (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 53
Figure 2-27: Expressions containing arithmetic operators
Coding the Calculate Order Button• btnCalc control is responsible for:
– Calculating total number of skateboards ordered– Calculating total price of the order– Displaying results in two labels
• Must add instructions to button’s Click event procedure– Instructions are processed when user clicks button
• Observe one problem: Numbers were treated as strings– Values stored in the Text property are treated as
strings
Programming with Microsoft Visual Basic 2008, Fourth Edition 54
Coding the Calculate Order Button (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 55
Figure 2-28: Pseudocode for the btnCalc control’s Click event procedure
Coding the Calculate Order Button (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 56
Figure 2-29: Illustration of the total phones ordered calculation
Figure 2-30: Illustration of the total price calculation
Coding the Calculate Order Button (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 57
Figure 2-31: Interface showing the incorrect results of the calculations
The Val Function
• Function: Predefined procedure that performs a specific task and returns a value
• Val function: Temporarily converts a string to a number and returns the number– Syntax: Val(string)
• Can use Val to correct calculations in btnCalc control’s Click procedure
Programming with Microsoft Visual Basic 2008, Fourth Edition 58
The Val Function (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 59
Figure 2-32: Examples of the Val function
The Val Function (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 60
Figure 2-33: Val function entered in the assignment statements
Using the Format Function to Format Numeric Output
• Format function: Improves numbers display• Syntax: Format(expression, style)
– expression: specifies number, date, time, or string
– style: predefined or user defined format style• Currency: Example of format style that displays
number with dollar sign and two decimal places
Programming with Microsoft Visual Basic 2008, Fourth Edition 61
Using the Format Function to Format Numeric Output
(continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 62
Figure 2-34: Some of the predefined format styles in Visual Basic
63Programming with Microsoft Visual Basic 2008, Fourth Edition
Using the Format Function to Format Numeric Output
(continued)
Figure 2-35: Format function entered in the procedure
Testing and Debugging the Application
• Test an application using some sample data– Use both valid and invalid data
• Valid data: Data that application is expecting• Invalid data: Data that application is not
expecting• Debugging: Process of locating and correcting
errors in a program • Errors can be related to either syntax or logic
Programming with Microsoft Visual Basic 2008, Fourth Edition 64
Testing and Debugging the Application (continued)
• Syntax error: Occurs when a rule of programming language is broken
• Logic error: Occurs when syntax is correct, but outcome is not what was desired– Causes may include missing instructions,
instructions out of order, or wrong type of instruction
• If build errors are indicated, do not run program – fix errors first!
Programming with Microsoft Visual Basic 2008, Fourth Edition 65
Testing and Debugging the Application (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 66
Figure 2-38: Message box indicates that the code contains errors
Figure 2-37: Jagged blue line and message indicate a syntax error
Testing and Debugging the Application (continued)
Programming with Microsoft Visual Basic 2008, Fourth Edition 67
Figure 2-40: Thin red rectangle, message, and Error icon indicate a syntax error
Figure 2-41: The Error Correction window displays a way to correct the syntax error
Assembling the Documentation
• Important documentation includes:– Planning tools– Printout of application’s interface and code
• Your planning tools include:– TOE chart– Sketch of interface– Flowcharts and/or pseudocode
Programming with Microsoft Visual Basic 2008, Fourth Edition 68
Lesson C Summary
• Use pseudocode or flowchart to plan an object’s code
• To assign value to property of object while application is running, use assignment statement that follows syntax:object.property = expression
• To create comment, begin comment text with an apostrophe (’)
• Use integer division to divide and return an integer result
Programming with Microsoft Visual Basic 2008, Fourth Edition 69
Lesson C Summary (continued)
• Use modulus operator to divide two numbers and return the remainder
• To temporarily convert string to number, use the Val function
• Use Format function to improve the appearance of numbers
• Application should be tested with both valid and invalid data
Programming with Microsoft Visual Basic 2008, Fourth Edition 70