Programming with Microsoft Visual Basic 2010 5th 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 Calculates and displays total number of phones ordered and the total price of the order 2 Programming with Microsoft Visual Basic 2010, 5th Edition Previewing the Playtime Cellular Application (cont’d.) Figure 2-2 Completed order 3 Programming with Microsoft Visual Basic 2010, 5th Edition Lesson A Objectives After studying Lesson A, you should be able to: Plan an object-oriented application in Visual Basic 2010 Complete a TOE (Task, Object, Event) chart Follow the Windows standards regarding the layout and labeling of controls 4 Programming with Microsoft Visual Basic 2010, 5th Edition Creating an Object-Oriented Application Developing an application is like building a home Role of programmer is analogous to that of builder Bugs Problems that affect application functions 5 Programming with Microsoft Visual Basic 2010, 5th Edition Creating an Object-Oriented Application (cont’d.) Figure 2-3 Processes used by a builder and a programmer 6 Programming with Microsoft Visual Basic 2010, 5th Edition 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 7 Programming with Microsoft Visual Basic 2010, 5th Edition Planning an Object-Oriented Application (cont’d.) Figure 2-4 Steps for planning an OO application 8 Programming with Microsoft Visual Basic 2010, 5th Edition Planning an Object-Oriented Application (cont’d.) 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? 9 Programming with Microsoft Visual Basic 2010, 5th Edition Figure 2-6 Tasks entered in a TOE chart 10 Programming with Microsoft Visual Basic 2010, 5th Edition Planning an Object-Oriented Application (cont’d.) Identifying the objects Assign each task to an object in user interface Objects used here 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 11 Programming with Microsoft Visual Basic 2010, 5th Edition Planning an Object-Oriented Application (cont’d.) Identifying the events Determine which event (if any) must occur for an object to carry out its assigned task Text boxes and label controls No special event is needed btnCalc, btnClear, and btnExit buttons Perform assigned tasks when clicked 12 Programming with Microsoft Visual Basic 2010, 5th Edition Figure 2-9 Completed TOE chart ordered by object 13 Programming with Microsoft Visual Basic 2010, 5th Edition Planning an Object-Oriented Application (cont’d.) 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 14 Programming with Microsoft Visual Basic 2010, 5th Edition Planning an Object-Oriented Application (cont’d.) Figure 2-10 Vertical arrangement of the Playtime Cellular application 15 Programming with Microsoft Visual Basic 2010, 5th Edition Planning an Object-Oriented Application (cont’d.) Figure 2-11 Horizontal arrangement of the Playtime Cellular application 16 Programming with Microsoft Visual Basic 2010, 5th Edition Planning an Object-Oriented Application (cont’d.) 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:” 17 Programming with Microsoft Visual Basic 2010, 5th Edition Planning an Object-Oriented Application (cont’d.) 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 aligned Also same height and width Group related controls close to each other 18 Programming with Microsoft Visual Basic 2010, 5th Edition Lesson A Summary Steps to create an OO application Meet with client Plan application Identify needed tasks, objects, and events Identify information needed as input to produce desired result Build user interface Code application Test and debug application Assemble documentation 19 Programming with Microsoft Visual Basic 2010, 5th Edition Lesson B Objectives After 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 20 Programming with Microsoft Visual Basic 2010, 5th Edition 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 Features of UI used in this lesson’s application Information arranged vertically Controls aligned and appropriately labeled Try to create an interface that no one notices 21 Programming with Microsoft Visual Basic 2010, 5th Edition Building the User Interface (cont’d.) Figure 2-12 Partially completed interface for the Playtime Cellular application 22 Programming with Microsoft Visual Basic 2010, 5th Edition Building the User Interface (cont’d.) Including graphics in the user 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 graphics sparingly Graphics for aesthetic use should be small and positioned to avoid distracting user 23 Programming with Microsoft Visual Basic 2010, 5th Edition Building the User Interface (cont’d.) 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 only one or two font sizes and one font type Avoid italics and underlining Limit bold text to titles, headings, and key items 24 Programming with Microsoft Visual Basic 2010, 5th Edition Building the User Interface (cont’d.) 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 Avoid using dark color for background Limit colors to three, not including black, white, gray Colors added should be complementary Do not use color as only means of identification for an element in the UI 25 Programming with Microsoft Visual Basic 2010, 5th Edition Building the User Interface (cont’d.) 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 26 Programming with Microsoft Visual Basic 2010, 5th Edition Building the User Interface (cont’d.) 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 used for vertical alignment Pink snap lines used for horizontal alignment 27 Programming with Microsoft Visual Basic 2010, 5th Edition Adding a Text Box Control to the Form (continued) Figure 2-13 Snap lines shown in the interface 28 Programming with Microsoft Visual Basic 2010, 5th Edition 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 Lock Controls on the Format menu Follow same procedure to unlock controls 29 Programming with Microsoft Visual Basic 2010, 5th Edition 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 30 Programming with Microsoft Visual Basic 2010, 5th Edition Assigning Access Keys (cont’d.) 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 31 Programming with Microsoft Visual Basic 2010, 5th Edition Controlling the Tab Order Focus: State in which a control is ready to accept user input or action Pressing Tab key or access key shifts focus TabIndex property 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 32 Programming with Microsoft Visual Basic 2010, 5th Edition Controlling the Tab Order (cont’d.) Figure 2-15 TabIndex boxes showing the correct TabIndex values 33 Programming with Microsoft Visual Basic 2010, 5th Edition 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 TabIndex property to number that represents order in which you want the control to receive focus 34 Programming with Microsoft Visual Basic 2010, 5th Edition Lesson C Objectives After 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 during run time Include internal documentation in the code Write arithmetic expressions Use the Val and Format functions Locate and correct syntax errors 35 Programming with Microsoft Visual Basic 2010, 5th Edition 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 36 Programming with Microsoft Visual Basic 2010, 5th Edition Coding the Application (cont’d.) Figure 2-18 Playtime Cellular application’s interface 37 Programming with Microsoft Visual Basic 2010, 5th Edition Coding the Application (cont’d.) Figure 2-19 Playtime Cellular application’s TOE chart (ordered by object) 38 Programming with Microsoft Visual Basic 2010, 5th Edition Coding the Application (cont’d.) Using pseudocode to plan a procedure Psuedocode: 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 Calculates total phones ordered and total price Displays results 39 Programming with Microsoft Visual Basic 2010, 5th Edition Coding the Application (cont’d.) Figure 2-20 Pseudocode for the Playtime Cellular application 40 Programming with Microsoft Visual Basic 2010, 5th Edition Coding the Application (cont’d.) Using a flowchart to plan a procedure A flowchart shows program logic using standardized symbols Oval: Start/stop symbol Rectangle: Process symbol; represents a task Parallelogram: Input/output symbol Flowlines connect the symbols • Flowcharts depict same logic as pseudocode 41 Programming with Microsoft Visual Basic 2010, 5th Edition Figure 2-21 Flowcharts for the Playtime Cellular application 42 Programming with Microsoft Visual Basic 2010, 5th Edition Coding the btnClear Control’s Click Event Procedure btnClear control’s task: Clear screen for next order String: Zero or more 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 run time Assign zero-length string to control’s Text property Assign String.Empty to control’s Text property 43 Programming with Microsoft Visual Basic 2010, 5th Edition Coding the btnClear Control’s Click Event Procedure (cont’d.) Assigning a value to a property during run time Assignment statement: Instruction assigning a value to object at run time 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 44 Programming with Microsoft Visual Basic 2010, 5th Edition Coding the btnClear Control’s Click Event Procedure (cont’d.) Using the Focus method Allows you to move focus to specified control during run time Syntax: object.Focus() Object: Name of control that receives focus 45 Programming with Microsoft Visual Basic 2010, 5th Edition Coding the btnClear Control’s Click Event Procedure (cont’d.) Internally documenting the program code Comments: Internal documentation in program Used by programmers to document a procedure’s purpose or explain sections of code Comments help make code readable To create comment, place an apostrophe (’) before a statement Computer ignores all characters after apostrophe for rest of line Comments are color-coded in IDE 46 Programming with Microsoft Visual Basic 2010, 5th Edition Coding the btnClear Control’s Click Event Procedure (cont’d.) Figure 2-24 Comments entered in the General Declarations section 47 Programming with Microsoft Visual Basic 2010, 5th Edition Writing Arithmetic Expressions Arithmetic expression Contains one or more arithmetic operators 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 48 Programming with Microsoft Visual Basic 2010, 5th Edition Writing Arithmetic Expressions (cont’d.) Figure 2-25 Most commonly used arithmetic operators 49 Programming with Microsoft Visual Basic 2010, 5th Edition Writing Arithmetic Expressions (cont’d.) Unary operator Requires one operand Example: -10 (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 50 Programming with Microsoft Visual Basic 2010, 5th Edition Writing Arithmetic Expressions (cont’d.) Figure 2-26 Examples of the integer division and Mod operators 51 Programming with Microsoft Visual Basic 2010, 5th Edition Writing Arithmetic Expressions (cont’d.) Figure 2-27 Expressions containing more than one operator having the same precedence 52 Programming with Microsoft Visual Basic 2010, 5th Edition Coding the Calculate Order Button btnCalc control is responsible for: Calculating total number of phones ordered Calculating total price of the order Displaying results in two controls Instructions placed in button’s Click event procedure Instructions processed when user clicks button Notice problem in text example Numbers were treated as strings Values stored in Text property treated as strings 53 Programming with Microsoft Visual Basic 2010, 5th Edition Coding the Calculate Order Button (cont’d.) Figure 2-28 Pseudocode for the btnCalc control’s Click event procedure 54 Programming with Microsoft Visual Basic 2010, 5th Edition Coding the Calculate Order Button (cont’d.) Figure 2-29 Illustration of the total phones ordered calculation Figure 2-30 Illustration of the total price calculation 55 Programming with Microsoft Visual Basic 2010, 5th Edition Coding the Calculate Order Button (cont’d.) Figure 2-31 Interface showing the incorrect results of the calculations 56 Programming with Microsoft Visual Basic 2010, 5th Edition Coding the Calculate Order Button (cont’d.) Function: Predefined procedure that performs a specific task and returns a value TheVal 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 57 Programming with Microsoft Visual Basic 2010, 5th Edition Coding the Calculate Order Button (cont’d.) Figure 2-32 Examples of the Val function 58 Programming with Microsoft Visual Basic 2010, 5th Edition Coding the Calculate Order Button (cont’d.) Figure 2-33 Val function entered in the assignment statements 59 Programming with Microsoft Visual Basic 2010, 5th Edition Coding the Calculate Order Button (cont’d.) The Format function Improves appearance of numbers Syntax: Format(expression, style) Expression: Specifies number, date, time, or string to format Style: predefined or user-defined format style Currency: Example of format style that displays number with dollar sign and two decimal places 60 Programming with Microsoft Visual Basic 2010, 5th Edition Coding the Calculate Order Button (cont’d.) Figure 2-34 Some of the predefined format styles in Visual Basic 61 Programming with Microsoft Visual Basic 2010, 5th Edition Coding the Calculate Order Button (cont’d.) Figure 2-35 Format function entered in the procedure 62 Programming with Microsoft Visual Basic 2010, 5th Edition 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 63 Programming with Microsoft Visual Basic 2010, 5th Edition Testing and Debugging the Application (cont’d.) 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 64 Programming with Microsoft Visual Basic 2010, 5th Edition Figure 2-38 Suggestion for fixing the error Figure 2-39 Message dialog box 65 Programming with Microsoft Visual Basic 2010, 5th Edition Testing and Debugging the Application (cont’d.) Figure 2-40 Error list window in the IDE 66 Programming with Microsoft Visual Basic 2010, 5th Edition Assembling the Documentation Important documentation Planning tools Printout of application’s interface and code Your planning tools include: TOE chart Sketch of interface Flowcharts and/or pseudocode 67 Programming with Microsoft Visual Basic 2010, 5th Edition 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 with syntax: object.property = expression To create comment Begin comment text with an apostrophe (’) Use the integer division operator (\) to divide and return an integer result 68 Programming with Microsoft Visual Basic 2010, 5th Edition Lesson C Summary (cont’d.) 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 69 Programming with Microsoft Visual Basic 2010, 5th Edition