0% found this document useful (0 votes)
98 views

Chapter 3

OODJ 3

Uploaded by

WeeHong Ngeo
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
98 views

Chapter 3

OODJ 3

Uploaded by

WeeHong Ngeo
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 32

Chapter 3

Processing Data
Topics
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
3.9 Declaring Variables as Fields
3.10 Using the Math Class
3.11 More GUI Details
Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
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,

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
The Text Property

A TextBox controls Text property stores


the user inputs
Text property accepts only string values,
e.g.
textBox1.Text = Hello;
To clear the content of a TextBox control,
assign an empty string()
textBox1.Text = ;

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
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:
DataType VaraibleName;

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
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
C# provides many data type known as
primitive data types
they store fundamental types of data
such as strings and integers

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
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

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
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:

productDescription = Italian Espresso Machine;

The following assigns the productDescription string to a Label control


named productLabel:

productLabel = productDescription;

You can also display a string variable in a Message Box:

MessageBox.Show(productDescription);

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
String Concatenation

Concatenation is the appending of one string to the end of another


string
C# uses + operator for concatenation:

string message;
Message = Hello + world;

Concatenation can happen between a string and another data type


int and string
double and string

12 + apples;
Total is + 25.75;

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
Declaring Variables Before Using
Them
You can declare variables and use them later
private void showNameButton_Click(object sender, EventArgs e)
{
// Declare a string variable to hold the full name.
string fullName;

// Combine the names, with a space between them. Assign the


// result to the fullName variable.
fullName = firstNameTextBox.Text + " " + lastNameTextBox.Text;

// Display the fullName variable in the fullNameLabel control.


fullNameLabel.Text = fullName;
}

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
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
private void firstButton_Click(object sender, EventArgs e)
{
string myName;
myName = nameTextBox.Text;
}

private void secondButton_Click(object sender, EventArgs e)


{
outputLabel.Text = myName; ERROR!
}

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
Rules of Variables
You can assign a value to a variable only if the value is compatible
with the variables data type

string employeeID;
employeeID = 125;

A variable holds one value at a time


In C#, a variable must be assigned a value before it can be used.
You can initialize the variable with a value when you declare it.

string productDescription = Chocolate Truffle;

Multiple variables with the same type may be declared with one
statement

string lastName, firstName, middleName;

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
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 programs code:
int hoursWorked = 40;

Or
double temperature = 87.6;

The value cannot be surrounded by quotes

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
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:

decimal payRate = 28.75m;


decimal price = 8.95M;

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
Explicit Conversion with Cast
Operators
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

int wholeNumber;
decimal moneyNumber = 4500m;
wholeNumber = (int) moneynumber;

double realNUmber;
decimal moneyNUmber = 625.70m;
realNumber = (double) moneyNumber;

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
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

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
Rules for Performing Calculations

A math expression performs a calculation and gives a value


int x = 5, y = 4;
MessageBox.Show((x+y).ToString());
Be sure to follow the order of operations and group with parentheses
if necessary
result = (a + b) / 4;
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, it is treated as
decimal and the result is decimal
An operation involving a double and a decimal is not allowed.

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
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.

int x = 7, y = 3;
MessageBox.Show((x / y).ToString());

This is a known issue. A solution is:

int x = 7, y = 3;
MessageBox.Show(((double) x / (double) y).ToString());

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
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:

int hoursWorked = int.Parse(hoursWorkedTextBox1.Text);


double temperature = double.Parse(temperatureTextBox.Text);

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
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:

decimal grossPay = 1550.0m;


grossPayLabel.Text = grossPay.ToString();

int myNumber = 123;


MessageBox.Show(myNumber.ToString());

Another option is implicit string conversion with the + operator:


int idNumber = 1044;
String output = Your ID number is + idNumber;

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
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

Format Description Number ToString() Result


String
N or n Number format 12.3 ToString(n3) 12.300

F or f Fixed-point scientific format 123456.0 ToString("f2") 123456.00

E or e Exponential scientific format 123456.0 ToString("e3") 1.235e+005

C or c Currency format -1234567.8 ToString("C") ($1,234,567.80)

P or p Percentage format .234 ToString("P") 23.40%

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
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
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

try { }
catch { }

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

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
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 try
{
to display an exceptions double miles;
default error message: double gallons;
double mpg;

catch (Exception ex) miles = double.Parse(milesTextBox.Text);


gallons = double.Parse(gallonsTextBox.Text);
{
mpg = miles / gallons;
MessageBox.Show(ex.Message); mpgLabel.Text = mpg.ToString();
} }
catch
{
MessageBox.Show("Invalid data was entered."):
}

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
3.8 Using Named Constants

A number constant is a name that represents a value


that cannot be changed during the programs execution
In C# a constant can be declared by const keyword

const double INTEREST_RATE = 0.129;

Writing the name of a constant in uppercase letters is


traditional in many programming languages, but is not a
requirement.

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
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 public
{
partial class Form1 : Form

// Declare a private field to hold a name.


A fields scope is the entire class private string name = "Charles";

In the Field Demo application, public Form1()


{

the name variable is a field }


InitializeComponent();

private void showNameButton_Click(object sender, EventArgs e)


private string name = Charles; {
MessageBox.Show(name);
}

The name field is created in private void chrisButton_Click(object sender, EventArgs e)


{
memory when the Form1 form is name = "Chris";
}
created
private void carmenButton_Click(object sender, EventArgs e)
{
name = "Carmen";
}
}

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
3.10 Using the Math Class

The .NET Frameworks Math class provides


several methods for performing complex
mathematical calculations
Math.Sqrt(x): returns the square root of x (a double).
Math.Pow(x, y): returns the value of x raised to the
power of y. Both x and y are double.
There are two predefined constants:
Math.PI: represents the ratio of the circumference of a
circle to its diameter.
Math.E: represents the natural logarithmic base

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
3.11 More GUI Details Tab
Order
When an application is running, one of the forms controls always
has the focus
Focus means a control receives the users keyboard input
When a button is focused, pressing the Enter key can execute the
buttons 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
controls position in the tab order
The value starts with 0. The index of first control is 0, the nth control is
n-1.

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
Tab Order (Contd)

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
You can use the Focus method to change the focus using the
following syntax
ControlName.Focus();

The following changes the focus to nameTextBox when the user


clicks clearButton:
private void clearButton_Click(object sender, EventArgs e)
{ nameTextBox.Focus(); }

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
Assign Keyboard Access Key to
Buttons
An access key (aka a 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 buttons Text property by adding
an ampersand (&) before a letter
E&xit.

The user can use a keystroke Alt + X or Alt + x.


Access key does not distinguish between uppercase and lowercase

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
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
messageLable.BackColor = Color.Black;
messageLable.ForeColor = Color.Yellow;

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
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

None Tile Center Stretch Zoom

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.
GroupBoxes vs. Panels
A GroupBox control is a container with a thin border and an optional
title that can hold other controls
A Panel control is also a container that can hold other controls
There are several primary differences between a Panel and
GroupBox:
A panel cannot display a title and does not have a Text property, but a
GroupBox supports these two properties.
A panels border can be specified by its BorderStyle property, while the
GroupBox cannot be

Module Code and Module Title Title of Slides Copyright 2014 Pearson Education, Inc.

You might also like