csci 3131.01 programming with visual basic instructor: bindra shrestha university of houston –...
TRANSCRIPT
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
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
Computer Systems: Computer Hardware and Software
Hardware
CentralProcessing
Unit
MainMemory
InputDevice
OutputDevice
SecondaryStorage
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
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.
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.
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
Input Device
•Any type of device that provides data to a computer from the outside world•For example:•Keyboard•Mouse•Scanner
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
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
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.
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.
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
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.
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.
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.
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
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
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.
• 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
• 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
• 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
• 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
Tutorial 1-3, Visual Basic Controls
• 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
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
• 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
• 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
• 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
The Programming Process
Summary of Steps:•Designing•Creating•Testing•Debugging
• 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
Step 2 of Developing an Application
• Visualize the application running on the computer and design its user interface
• 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
• 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"
• 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
• 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
• 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
• 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
• 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
• 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
• 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
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.
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.
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.
• 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
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
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.