Starting Out With Visual: Fourth Edition
Starting Out With Visual: Fourth Edition
Fourth Edition
Chapter 3
Processing Data
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Topics (1 of 2)
3.1 Reading Input with TextBox Controls
3.2 A First Look at Variables
3.3 Numeric Data Type and Variables
3.4 Performing Calculations
3.5 Inputting and Outputting Numeric Values
3.6 Formatting Numbers with the ToString Method
3.7 Simple Exception Handling
3.8 Using Named Constants
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Topics (2 of 2)
3.9 Declaring Variables as Fields
3.10 Using the Math Class
3.11 More GUI Details
3.12 Using the Debugger to Locate Logic Errors
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
3.1 Reading Input with TextBox Control
• TextBox control
– a rectangular area
– can accept keyboard input from the
user
– locates in the Common Control
group of the Toolbox
– double click to add it to the form
– default name is textBoxn
where n is 1, 2, 3, …
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
The Text Property
• A TextBox controls Text property stores the user inputs
• Text property accepts only string values, e.g.
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
3.2 A First Look at Variables
• A variable is a storage location in memory
• Variable name represents the memory location
• In C#, you must declare a variable in a program before using it
to store data
• The syntax to declare variables is:
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Data Types
• A C# variable must be declared with a proper data type
• The data type specifies the type of data a variable can
hold
• In C# many data types are known as primitive data types
– they store fundamental types of data
– such as strings and integers
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Variable Names
• A variable name identifies a variable
• Always choose a meaningful name for variables
• Basic naming conventions are:
– the first character must be a letter (upper or lowercase) or
an underscore (_)
– the name cannot contain spaces
– do not use C# keywords or reserved words
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
String Variables
• String is a combination of characters
• A variable of the string data type can hold any combination of characters,
such as names, phone numbers, and social security numbers
• Value of a string variable is assigned on the right of = operator surrounded
by a pair of double quotes:
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
String Concatenation
• Concatenation is the appending of one string to the end of another
string
• In C# + operator is used for concatenation
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Declaring Variables Before Using Them
• You can declare variables and use them later
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Local Variables and Scope
• A local variable belongs to the method in which it was declared
• Only statements inside that method can access the variable
• Scope describes the part of a program in which a variable may be
accessed
• Lifetime of a variable is the time period during which the variable
exists in memory while the program is executing
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Rules of Variables
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
3.3 Primitive and Non-Primitive types
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Non-Primitive types
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
3.3 Numeric Data Types and Variables
• If you need to store a number in a variable and use the number in a
mathematical operation, the variable must be of a numeric data type
• Commonly used C# numeric data types:
– int: whole number in the range of -2,147,483,648 to 2,147,483,647
– double: real numbers including numbers with fractional parts
• Numeric literals is a number that is written into a program's code:
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
The decimal Data Type
• In C#, the decimal keyword indicates a 128-bit data type
• Compared to double types, it has more precision and a smaller
range, which makes it appropriate for financial and monetary
calculations.
• Be sure to add the letter M (or m) to a decimal value:
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Explicit Conversion with Cast Operators
• This C# allows you to explicitly convert among types, which is
known as type casting
• You can use the cast operator which is simply a pair of
parentheses with the type keyword in it
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
3.4 Performing Calculations
• Basic calculations such as arithmetic calculation can be
performed by math operators
Operator Name of the operator Description
+ Addition Adds two numbers
− Subtraction Subtracts one number from
another
* Multiplication Multiplies one number by another
/ Division Divides one number by another
and gives the quotient
% Modulus Divides one number by another
and gives the remainder
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Rules for Performing Calculations
• A math expression performs a calculation and gives a value
• In a calculation of mixed data type, the data type of the result is determined
by:
– When an operation involves an int and a double, int is treated as
double and the result is double
– When an operation involves an int and a decimal, int is treated as
decimal and the result is decimal
– An operation involving a double and a decimal is not allowed.
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Integer Division
• When you divide an integer by an integer in C#, the result
is always given as an integer. The result of the following is 2.
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
3.5 Inputting and Outputting Numeric
Values
• Input collected from the keyboard are considered combinations of
characters (or string literals) even if they look like a number to you
• A TextBox control reads keyboard input, such as 25.65. However, the
TextBox treats it as a string, not a number.
• In C#, use the following Parse methods to convert string to numeric data
types
– int.Parse
– double.Parse
– decimal.Parse
• Examples:
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Displaying Numeric Values
• The Text property of a control only accepts string literals
• To display a number in a TextBox or Label control requires you to
convert a numeric data to string type
• In C#, all variables work with ToString method that can convert
variables’ values to string:
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
3.6 Formatting Numbers with the
ToString Method
• The ToString method can optionally format a number to
appear in a specific way
• The following table lists the “format strings” and how they
work with sample outputs
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
3.7 Simple Exception Handling
• An exception is an unexpected error that happens while a program is
running
• If an exception is not handled by the program, the program will abruptly
halt
• This C# allows you to write codes that responds to exceptions. Such codes
are known as exception handlers.
• In C# the structure is called a try-catch statement
• The try block is where you place the statements that could have exception
• The catch block is where you place statements as response to the exception
when it happens
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Throwing an Exception
• In the following example, the user may
entered invalid data (e.g. null) to the
milesText control. In this case, an
exception happens (which is commonly
said to “throw an exception”).
• The program then jumps to the catch
block.
• You can use the following to display an
exception’s default error message:
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
3.8 Using Named Constants
• A number constant is a name that represents a value that cannot
be changed during the program's execution
• In C# a constant can be declared by const keyword
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
3.9 Declaring Variables as Fields
• A field is a variable that is declared
at the class level
• It is declared inside the class, but
not inside of any method
• A field is a special type of variable
• A field’s scope is the entire class
• In the Field Demo application, the
name variable is a field
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
3.11 More GUI Details – Tab Order
• When an application is running, one of the form’s controls always has the
focus
• Focus means a control receives the user’s keyboard input
– When a button is focused, pressing the Enter key can execute the
button’s Click event handler
• The order in which controls receives the focus is called the tab order
– When the user presses the tab key to select controls, the program will
follow the tab order
• The TabIndex property contains a numeric value indicating the control’s
position in the tab order
– The value starts with 0. The index of first control is 0, the nth control is
n-1.
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Tab Order (1 of 2)
• To set the tab order of a control, click Tab Order on the View
menu. This activates the tab-order selection mode on the form.
– Simply click the controls with the mouse in the order you
want.
• Notice that Label controls do not accept input from the
keyboard. They cannot receive focus.
– Their TabIndex values are irrelevant
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Tab Order (2 of 2)
• You can use the Focus method to change the focus using the
following syntax
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Assign Keyboard Access Key to Buttons
• An access key (or mnemonic) is a key that is pressed in
combination with the Alt key to quickly access a control
• You can assign an access key to a button’s Text property by
adding an ampersand (&) before a letter
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Setting Colors
• Forms and most controls have a BackColor property
• Controls that can display Text also have a ForeColor property
• These color-related properties support a drop-down list of colors
• The list has tree tabs:
– Custom: display a color palette
– Web: list colors displayed with consistency in Web browsers
– System: list colors defined in current Windows
• You can set colors in color
– The .NET Framework provides numerous values that represent
colors
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Background Images for Forms
• A Form has a property named BackgroundImage that is similar
to the Image property of a PictureBox.
– Simply import an image to the Select Resource window
• A Form also has a BackgroundImageLayout property that is
similar to the SizeMode property of a PictureBox.
– Choose from one of the following options
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
GroupBoxes v s Panels ersu
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
3.12 Using the Debugger to Locate Logic
Errors
• A logic error is a mistake that does not prevent an application from
running, but causes the application to produce incorrect results.
– Mathematical errors
– Assigning a value to the wrong variable
– Assigning the wrong value to a variable
– etc.
• Finding and fixing a logic error usually requires a bit of detective
work.
• Visual Studio provides debugging tools that make locating logic
errors easier.
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Breakpoints (1 of 2)
• A breakpoint is a line you select in your source code.
• When the application is running and it reaches a breakpoint,
the application pauses and enters break mode.
• While the application is paused, you may examine variable
contents and the values stored in certain control properties.
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Breakpoints (2 of 2)
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Break Mode
• In Break mode, to examine the contents of a variable or control
property, hover the cursor over the variable or the property's
name in the Code editor.
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Autos, Locals, and Watch Windows
• The Autos window displays a list of the variables appearing in the current
statement, the three statements before, and the three statements after the
current statement. The current value and the data type of each variable are
also displayed.
• The Locals window displays a list of all the variables in the current
procedure. The current value and the data type of each variable are also
displayed.
• The Watch window allows you to add the names of variables you want to
watch. This window displays only the variables you have added. Visual
Studio lets you open multiple Watch windows.
• You can open any of these windows by clicking Debug on the menu bar,
then selecting Windows, and then selecting the window that you want to
open.
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
The Locals Window
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Single-Stepping (1 of 2)
• Visual Studio allows you to single-step through an
application’s code once its execution has been paused by a
breakpoint.
• This means that the application's statements execute one at a
time, under your control.
• After each statement executes, you can examine variable and
property values.
• This process allows you to identify the line or lines of code
causing the error.
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved
Single-Stepping (2 of 2)
• To single-step, do any of the following:
– Press F11 on the keyboard, or
– Click the Step Into command on the toolbar, or
– Click Debug on the menu bar, and then select Step Into
from the Debug menu
Copyright © 2017, 2014, 2012 Pearson Education, Inc. All Rights Reserved