csci 3131.01 programming with visual basic instructor: bindra shrestha university of houston –...

48
CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Upload: ami-mcdonald

Post on 15-Jan-2016

232 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

CSCI 3131.01 Programming with Visual Basic

Instructor: Bindra Shrestha

University of Houston – Clear Lake

Page 2: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Acknowledgement

Dr. Xinhua Chen

Starting Out with Visual Basic 2010 by Tony Gaddis and Kip Irvine

Page 3: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Chapter 1 Introduction to Programming and Visual Basic

Topics:•Computer hardware and software•Programming languages•History of Visual Basic•Procedural programming and object-oriented programming•Event-driven programming model•Steps of developing an application•Visual Studio 2010 IDE•Create and save a solution. •Open existing solution

Page 4: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Computer Systems: Computer Hardware and Software

Hardware

CentralProcessing

Unit

MainMemory

InputDevice

OutputDevice

SecondaryStorage

Page 5: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Software

Software refers to the programs that run on a computer.

Two categories of software:1.Operating system (OS)

A set of programs that manage the computer’s hardware devices and control their processes.

Examples: Windows Vista, Mac OS X, Linux.2.Application software

Programs that make the computer useful to the user.Examples: Microsoft Word, Adobe PDF Reader

Page 6: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Programs and Programming Languages

What is a program?

A computer program is a set of instructions that enables the computer to solve a problem or perform a task.

Figure 1-2 shows an example of program steps of a Wage Calculator application. (Page 4)

The program steps are called an algorithm.

Page 7: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Main Memory

• Commonly referred to as Random Access Memory (RAM)• Is an ordered sequence of storage cells, each capable of

holding a piece of data.• Each memory cell has a distinct address.• The information held can be input data, computed values, or

program instructions, which are represented in combination of 0s or 1s. This is so-called binary representation.

• The information stored in RAM is volatile.

Page 8: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Secondary Storage

•A nonvolatile storage medium•Contents retained while power is off

•Hard disk drives are most common•Records data magnetically on a circular disk•Provides fast access to large amounts of data

•Optical devices store data on CD’s as pits•USB flash memory devices•High capacity device plugs into USB port•Portable, reliable, and fits easily in a pocket

Page 9: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Input Device

•Any type of device that provides data to a computer from the outside world•For example:•Keyboard•Mouse•Scanner

Page 10: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Output Devices

•Any type of device that provides data from a computer to the outside world•Examples of output data:•A printed report•An image such as a picture•A sound

•Common output devices include:•Monitor (display screen)•Printer

Page 11: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Programming Languages

•The steps in our algorithm must be stated in a form the computer understands•The CPU processes instructions as a series of 1’s and 0’s called machine language•This is a tedious and difficult format for people•Instead, programming languages allow us to use words instead of numbers•Software converts the programming language statements to machine language

Page 12: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

History of Programming Languages

Machine Languages

Computer hardware consists of microelectronic switches, which can be switched on or off. The on/off switch status can be represented using binary 1 and 0.

Example of machine language code:0010 1100 0110 0000

Machine language is CPU type-dependent. That is, every type of CPU has its own machine language.

Machine languages are low-level programming languages.

Page 13: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Low-level Programming Languages

Assembly Languages

Assembly languages use mnemonics in place of the 0s and 1s in programs. It is common to see that the mnemonic ADD is used to represent the add operation. For example,

ADD bx, ax

In order to execute a program written in Assembly language, the program should be first converted into a machine language program using an Assembler, which is also a program.

Assembly languages are low-level languages and are CPU type-dependent.

Page 14: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

High-Level Programming Languages

High-level program languages more resemble English language than low-level languages. Examples:• Visual Basic

• Python

• Javascript

• Java

• C#

• C

• C++

• PHP

• Visual Basic is not just a programming language• It’s a programming environment with tools to:

• Create screen elements• Write programming language statements

Page 15: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

High-Level Languages (cont’d)

High-level languages allow programmers to write programs in a more readable form. For example:

grossPay = hours * rate

Programs written in high-level languages should be converted into machine languages using interpreters or compilers.

An interpreter translates a program from high-level language into machine language line by line during program execution.

A compiler translates a program into machine language in its entirety before executing the complied program.

Page 16: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Language Portability

Low-level languages are CPU-dependent, thus they are not portable.

High-level languages are not CPU-dependent, thus they are portable. Compilers that work for specific types of computer systems made the high-level language portable.

Page 17: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Programming Models

Two programming models in use:

•Procedural programming - Legacy model•Constructed as a set of procedures (operational, functional units)•Each procedure is a set of instructions•The Gross Pay computation is a procedure

•Object-oriented programming (OOP) – Modern modelOOP makes code reuse easierOOP is more suitable for developing complex softwareVisual Basic 2010 is an object-oriented programming language.

Page 18: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Procedural programming

The program concentrates on the major tasks that the program needs to perform. A program accomplishes a major task, which is divided into sub tasks and accomplished by sub programs.

Radio Receiver Program

Receive radio signal

Extract audio signal from radio signal

Send audio signal to speakers

Get frequency settings and volume settings from user

Start

Page 19: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Object-oriented programming (OOP)

An object-oriented program concentrates on software objects that are extracted from real-world objects. The major task of the program is accomplished by sending messages to the objects in the program.

Radio Receiver Program (OOP)

Signal Receiver

Signal Extractor

SpeakersUser Interface

Set Frequency/ Start receiving/ Stop receiving

Extract audio signal

Convert audio signal into sound

Page 20: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

OOP Terminology

What is an object?

An object in the context of object-oriented programming is anything that software developers are interested.

Software objects model the real-world objects, which may be visible or invisible, something one can touch or untouchable; something that has weight or weightless.

Sample objects:Car, person, employee, air, credit, receipt and account.

Page 21: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

• This is a Visual BasicGUI object called a form

• Contains data and actions

• Data, such as Hourly PayRate, is a text property that determines the appearance of form objects

• Actions, such as Calculate Gross Pay, is a method that determines how the form reacts

• A form is an object that contains other objects such as buttons, text boxes, and labels

Example of Object

Page 22: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

• Form elements are objects called controls

• This form has:

– Two TextBox controls

– Four Label controls

– Two Button controls

• The value displayed by a control is held in the text property of the control

• Left button text property is Calculate Gross Pay

• Buttons have methods attached to click events

Example of Object

Page 23: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

• The GUI environment is event-driven

• An event is an action that takes place within a program

– Clicking a button (a Click event)

– Keying in a TextBox (a TextChanged event)

• Visual Basic controls are capable of detecting many, many events

• A program can respond to an event if the programmer writes an event procedure

Event Driven Programming: Events

Page 24: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

• As a Windows user you’re already familiar with many Visual Basic controls:

• Label - displays text the user cannot change

• TextBox - allows the user to enter text

• Button – performs an action when clicked

• RadioButton - A round button that is selected or deselected with a mouse click

• CheckBox – A box that is checked or unchecked with a mouse click

• Form - A window that contains these controls

• Tutorial 1-3 demonstrates these controls

Visual Basic Controls

Page 25: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Tutorial 1-3, Visual Basic Controls

Page 26: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

• All controls have properties• Each property has a value (or values)• Not all properties deal with appearance• The name property establishes a means for the

program to refer to that control• Controls are assigned relatively meaningless

names when created• Programmers usually change these names to

something more meaningful

Name Property

Page 27: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Examples of Names

btnCalcGrossPay btnClose

txtHoursWorked

txtPayRate

lblGrossPay

Label1

Label2

Label3

The label controls use the default names (Label1, etc.)

Text boxes, buttons, and the Gross Pay label play an active role in the program and have been changed

Page 28: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

• Control names must start with a letter

• Remaining characters may be letters, digits, or underscore

• Convention used in this book:

• 1st 3 lowercase letters indicate the type of control

– txt… for Text Boxes

– lbl… for Labels

– btn… for Buttons

• After that, capitalize the first letter of each word

• txtHoursWorked is clearer than txthoursworked

Naming Conventions

Page 29: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

• Keywords: Words with special meaning to Visual Basic (e.g., Private, Sub)

• Programmer-defined-names: Names created by the programmer (e.g., sngGrossPay, btnClose)

• Operators: Special symbols to perform common operations (e.g., +, -, *, and /)

• Remarks: Comments inserted by the programmer – these are ignored when the program runs (e.g., any text preceded by a single quote)

Language Elements

Page 30: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

• Syntax defines the correct use of key words, operators, & programmer-defined names

• Similar to the syntax (rules) of English that defines correct use of nouns, verbs, etc.

• A program that violates the rules of syntax will not run until corrected

Language Elements: Syntax

Page 31: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

The Programming Process

Summary of Steps:•Designing•Creating•Testing•Debugging

Page 32: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

• Clearly define what the program is to do

• For example, the Wage Calculator program:

– Purpose: To calculate the user’s gross pay

– Input: Number of hours worked, hourly pay rate

– Process: Multiply number of hours worked by hourly pay rate (result is the user’s gross pay)

– Output: Display a message indicating the user’s gross pay

Step 1 of Developing an Application

Page 33: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Step 2 of Developing an Application

• Visualize the application running on the computer and design its user interface

Page 34: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

• Make a list of the controls needed

Step 3 of Developing an Application

Type Name DescriptionTextBox txtHoursWorked Allows the user to enter the number of hours worked.TextBox txtPayRate Allows the user to enter the hourly pay rateLabel lblGrossPay Displays the gross pay, after the btnCalcGrossPay

button has been clickedButton btnCalcGrossPay When clicked, multiplies the number of hours worked

by the hourly pay rateButton btnClose When clicked, terminates the application

Label (default) Description for Number of Hours Worked TextBoxLabel (default) Description for Hourly Pay Rate TextBoxLabel (default) Description for Gross Pay Earned LabelForm (default) A form to hold these controls

Page 35: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

• Define values for each control's relevant properties:

Step 4 of Developing an Application

Control Type Control Name TextForm (Default) "Wage Calculator"Label (Default) "Number of Hours Worked"Label (Default) "Hourly Pay Rate"Label (Default) "Gross Pay Earned"Label lblGrossPay "$0.00"TextBox txtHoursWorked ""TextBox txtPayRate ""Button btnCalcGrossPay "Calculate Gross Pay"Button btnClose "Close"

Page 36: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

• List the methods needed for each control:

Step 5 of Developing an Application

Method DescriptionbtnCalcGrossPay_Click Multiplies hours worked by hourly pay rate

These values are entered into the txtHoursWorked and txtPayRate TextBoxes

Result is stored in lblGrossPay Text property

btnClose_Click Terminates the application

Page 37: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

• Create pseudocode or a flowchart of each method:– Pseudocode is an English-like description in programming

language terms

– A flowchart is a diagram that uses boxes and other symbols to represent each step

Step 6 of Developing an Application

Store Hours Worked x Hourly Pay Rate in sngGrossPay.Store the value of sngGrossPay in lblGrossPay.Text.

Start End

Multiply hours worked by

hourly payrate. Store result in sngGrossPay.

Copy value in sngGrossPay

to lblGrossPay text property

Page 38: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

• Check the code for errors:

– Read the flowchart and/or pseudocode

– Step through each operation as though you are the computer

– Use a piece of paper to jot down the values of variables and properties as they change

– Verify that the expected results are achieved

Step 7 of Developing an Application

Page 39: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

• Use Visual Basic to create the forms and other controls identified in step 3

– This is the first use of Visual Basic, all of the previous steps have just been on paper

– In this step you develop the portion of the application the user will see

Step 8 of Developing an Application

Page 40: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

• Use Visual Basic to write the code for the event procedures and other methods created in step 6

– This is the second step on the computer

– In this step you develop the methods behind the click event for each button

– Unlike the form developed on step 8, this portion of the application is invisible to the user

Step 9 of Developing an Application

Page 41: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

• Attempt to run the application - find syntax errors

– Correct any syntax errors found

– Syntax errors are the incorrect use of an element of the programming language

– Repeat this step as many times as needed

– All syntax errors must be removed before Visual Basic will create a program that actually runs

Step 10 of Developing an Application

Page 42: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

• Run the application using test data as input

– Run the program with a variety of test data

– Check the results to be sure that they are correct

– Incorrect results are referred to as a runtime error

– Correct any runtime errors found

– Repeat this step as many times as necessary

Step 11 of Developing an Application

Page 43: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Documentation

•Documentation is the written text and comments that make a program easier to read, use and modify.

•Documentation is an essential part of a software program.

•Documentation can be found the code text. A software manual is also considered as part of the documentation.

•UHCL has its own documentation guidelines. Students should check the requirements on my web page and follow the guidelines in the program assignments.

Page 44: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Visual Studio 2010

• Visual Studio 2010 is an integrated development environment (IDE)

•It includes the following high-level language editor and compilers and debuggers:Visual Basic 2010, Visual C++ 2010, Visual C# 2010.•It allows programmers to build Window-based programs or Web-based programs. Programs are referred to as applications.

•The applications built using Visual Basic 2010 works on Microsoft .NET Framework 4.0.

•Multiple .NET languages can be used in one program project.

Page 45: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Visual Basic 2010

The Visual Basic 2010 compiler does not compile the Visual Basic source code into machine code.

The Visual Basic 2010 compiler translates the source code into a virtual machine language called Bytecode. This bytecode is also called IL (Intermediate Language).

Visual Basic 2010 is one of the .NET languages and the applications created using .NET languages are called .NET applications.

Page 46: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

• Tutorial 1-4 introduces elements of the IDE:– Customizing the IDE

– Design window – a place to design and create a form

– Solution Explorer window – shows files in the solution

– Properties window – modify properties of an object

– Dynamic Help window – a handy reference tool

– Toolbar – contains icons for frequently used functions

– Toolbox window – objects used in form design

– Tooltips – a short description of button’s purpose

The Visual Basic Environment

Page 47: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Compilation of Visual Basic .NET

•The bytecode created by the VB .NET compiler must be interpreted by the Microsoft Common Language Runtime (CLR) interpreter before the CPU can execute it.

•The CLR is part of Microsoft .NET platform.

•The runtime files of Microsoft .NET platform is part of Microsoft Visual Studio .NET and can also be downloaded from the Microsoft web site.

.NETprogram

ILnative machine code

language-specific compiler

CLR and JIT compiler

Page 48: CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake

Source Code, Object Code and Executable Code

•Source code refers to the program written in a high-level language.

•Object code is the machine language version of the source code.

•Executable code is created from the object code and necessary software library components. The executable code is ready to be run on an operating system.

•In Microsoft Windows operating system, a file with file types of .exe holds the executable code.