Presentation on theme: "CSCI 3131.01 Programming with Visual Basic Instructor: Bindra Shrestha University of Houston – Clear Lake."— Presentation 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 Central Processing Unit Main Memory Input Device Output Device Secondary Storage
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 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 model OOP makes code reuse easier OOP is more suitable for developing complex software Visual 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 Speakers User 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 Basic GUI object called a form Contains data and actions Data, such as Hourly Pay Rate, 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
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 btnCalcGrossPaybtnClose 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 TypeNameDescription TextBoxtxtHoursWorkedAllows the user to enter the number of hours worked. TextBoxtxtPayRateAllows the user to enter the hourly pay rate LabellblGrossPayDisplays the gross pay, after the btnCalcGrossPay button has been clicked ButtonbtnCalcGrossPayWhen clicked, multiplies the number of hours worked by the hourly pay rate ButtonbtnCloseWhen clicked, terminates the application Label(default)Description for Number of Hours Worked TextBox Label(default)Description for Hourly Pay Rate TextBox Label(default)Description for Gross Pay Earned Label Form(default)A form to hold these controls
Define values for each control's relevant properties: Step 4 of Developing an Application Control TypeControl NameText Form(Default)"Wage Calculator" Label(Default)"Number of Hours Worked" Label(Default)"Hourly Pay Rate" Label(Default)"Gross Pay Earned" LabellblGrossPay"$0.00" TextBoxtxtHoursWorked"" TextBoxtxtPayRate"" ButtonbtnCalcGrossPay"Calculate Gross Pay" ButtonbtnClose"Close"
List the methods needed for each control: Step 5 of Developing an Application MethodDescription btnCalcGrossPay_ClickMultiplies hours worked by hourly pay rate These values are entered into the txtHoursWorked and txtPayRate TextBoxes Result is stored in lblGrossPay Text property btnClose_ClickTerminates 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..NET program IL native 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.