510 likes | 562 Views
Introduction to VB Programming. Chapter 3. Quotes for Today. When faced with a decision, I always ask, “What would be the most fun?” Peggy Walker It is a capital mistake to theorize before one has data. Arthur Conan Doyle. Creating a Project With Code. A Simple Program.
E N D
Introduction to VB Programming Chapter 3 VBN2008-03
Quotes for Today When faced with a decision, I always ask, “What would be the most fun?” Peggy Walker It is a capital mistake to theorize before one has data. Arthur Conan Doyle VBN2008-03
Creating a Project With Code A Simple Program VBN2008-03
Two Types of Applications(2 of the many) • Windows Applications • Access Windows environment • Console Applications • Access DOS environment VBN2008-03
‘ Welcome1.vb ‘ Simple Visual Basic program Module modFirstWelcome Sub Main() ‘entry point of program ‘() indicates a procedure Console.WriteLine(“Welcome to Visual Basic!”) End Sub ‘Ends Main Procedure End Module ‘Ends modFirstWelcome Anatomy of a Simple Program Green= Comments Identifiers Keywords Class Method String VBN2008-03
A Module • Collectively called a module definition • Console modules consist of logical groupings of procedures • simplify program organization • Convention: • Begin all modules with “mod” • Example: modWelcome • Not case sensitive VBN2008-03
An Identifier • A series of characters • Consist of letters, digits & underscores (_) • Not case sensitive • Cannot • Begin with a digit • Contain spaces • Examples • Valid: modFirstWelcome, num1, SalesTax • Invalid: 123xyz, My Tax, 753 Room Primitive Data Types: Boolean Byte Char Date Decimal Double Integer Long Sbyte Short Single String Uinteger Ulong UShort VBN2008-03
A Keyword (Reserved Word) • A particular word that has a specific meaning within each programming language • Examples: • Module, End, Sub, If, For, Loop • For more examples refer to Pages 76 • Not case sensitive, but VB will automatically convert to “proper” case VBN2008-03
Keywords (or Reserved Words) • Do not try to use these words as variable names. • Misspelling a keyword may cause a syntax error • VB will assume you are creating a new identifier. • But…the program will not work correctly. VBN2008-03
Spacing (Whitespace) • VB ignores spaces and tabs between identifiers • Vertically and horizontally • Use vertical blank lines, tabs and horizontal spaces to make projects easier to read. VBN2008-03
Statements • Console.WriteLine(“Hi!”) • (“Hi”) is the argument • Note the dot notation… • Classes organize groups of related methods • WriteLine is the method • Console is the class to which the method belongs VBN2008-03
The Simple Program Revised • Pg 78; • File>New Project>Console Application • Name = WelcomeConsole • Program Name = Welcome1.vb • Reserved words are blue, text is black • Change name of Module to ModWelcome • Writing code • Run program • Tools>Options personalizes environment VBN2008-03
Features • IntelliSense • When the dot (.) is keyed after Console, a list of available methods is displayed • Options • List Members – lists the members of an object. • Parameter Info – Lists the members of an object. • Quick Info – displays information in tool tips as the mouse rests on elements in your code. • Complete Word – completes typed words • Automatic Brace Matching – adds parentheses or braces as needed. VBN2008-03
Documenting Code Commenting… VBN2008-03
Consistency, Consistency! • Just as important as commenting code • Reduces reader frustration • Makes comments & code • easier to understand • Makes debugging • easier • faster VBN2008-03
Commenting Code • Used to identify the purpose of a piece of code, the author, creation date, requirements • Required in this class! • Indicator is the apostrophe. • Ex. ‘This is a comment. • The default color for VB is green. • Note: for those of you who might be colorblind to green, the comment color property can be changed within the environment controls. But…Don’t do it in here or in the Lab… VBN2008-03
Comments • Explains • what is going on or • what is being described • Denoted by a single quotation mark (‘) • Example ‘Input variable Dim Principal As Single‘The original loan amount Dim Address As String‘Shipping address for client VBN2008-03
Comment Levels • Application Level • Name - name of application • Author/Company - who created it • Add-ins - are there any other modules or code objects necessary to run this program • Purpose of Program - what is the program supposed to do? • System Requirements - what is the system upon which this program will operate VBN2008-03
Comment Levels • Module Level • Necessary when multiple programmers are working on a project. • Useful when planning to reuse the code. • Same parameters as before, but with addition of • Dependencies – • declares what is required as input for the module to work (Passing parameters) VBN2008-03
Comment Levels • Procedure Level • Used to describe to programmers what the procedure does and how it does it. • Used for user-defined and non-obvious procedures and functions. • Ex. A new form of the Square Root function • Helps during a multi-programmer project • Lets other programmers know who to contact when there are questions or problems with the code. VBN2008-03
Comment Levels • Code Level • To specify what a piece code is doing • To specify that a piece of code needs further attention • Use these as suggestions for consistency • ‘ Generic comment - explanation • ‘??? Questionable code - useful for debugging • ‘!!! Code requires attention - useful for reminders or where to provide additional work. • ‘-MLM- Include your initials for comment referencing VBN2008-03
Comment, Comment, Comment! • Provides • meaning to code • additional information to other programmers • reasons why one method was used over another for future maintenance • Makes Maintenance EASIER! VBN2008-03
Console.WriteLine Revisited • Dim number1 as Integer • Number1 = Console.ReadLine() • ReadLine() is a method that causes the program to pause and wait for user input. • After the value is entered by keyboard, the user presses the Enter key to send the value to the program. • Example: Console.WriteLine(“The sum is ” & sumofNumbers) VBN2008-03
Basic Components of VB Variables &Assignment Statements VBN2008-03
Variables • A Variable • Is a temporary storage location for information • Clears upon exit of either the program or the procedure • Examples: • Sum SalesTax SquareRoot • Count Sales_Tax Principal VBN2008-03
Variable Declarations • Name of a variable is any valid identifier • Cannot be keywords • Maximum length is 255 characters • Must begin with a letter • Must contain only letters, numbers and underscores. • VB is not case sensitive so • uppercase and lowercase letters are treated in the same way. • Variable’s Type - what type of information each variable may contain. VBN2008-03
Variable Declarations • Declaration of Variables • Provides the Variable Name and its data type • Ex. DimsumAsInteger • VB always initializes variables to Zero for numbers and the Null set for characters and strings Variable Identifier Variable’s Data Type VBN2008-03
Variable Data Types VBN2008-03
Variable Declarations Changes from VB6 to VB.Net • New data types • Char • Unsigned Integers • Ulong - 8 bytes • Uinteger - 4 bytes • Ushort - 2 bytes • Sbyte - 1 byte • Lost data types • Currency • Variant – A great thing! • Image (use PictureBox instead) • Note about Unsigned Integers - They are non-CLS compliant and not supported by all .Net languages • --Avoid using-- VBN2008-03
More Changes from VB6 to VB.Net • Replacements • RadioButtons replaces OptionButton • GroupBox replaces Frame • SelectedIndex in ListBox replaces ListIndex • Images are added to PictureBox’s by using the System.Drawing.Image.FromFile method VBN2008-03
Variable Declarations • Declarations made • in the General DeclarationSection are available throughout the entire program. • This is Global Scope. • inside a procedure are available only within the procedure • This is Local Scope. • Both will be discussed in more detail later. VBN2008-03
Assignment Statements • Assigns a value, variable or expression to a variable • Syntax: VariableName = value or variable or expression • A variable is placed on the left of the equal sign (=) • Think of the “=” as “takes on the value of” • The value to be stored in the variable appears on the right. • The value is made up of the following: • A value • An expression • A variable (Identifier) • Ex. sum = count + 3 VBN2008-03
Assignment Statements • When a value is stored in a variable (on the left side of the assignment operator), it replaces the existing data. • This is known as destructive read-in. • Ex. sum= 3 + 5 • When a variable is used (on the right side of the assignment operator), the value stored in the variable is preserved. • This is known as nondestructive read-in. • Ex. sum = count + 1 VBN2008-03
Arithmetic in VB And Operator Precedence VBN2008-03
Arithmetic in VB • The arithmetic operators used in VB use several special characters: • ^ indicates exponentiation • * indicates multiplication • \ indicates Integer division • Arithmetic expressions are written in straight-line form. • Ex. a ^ b VBN2008-03
Arithmetic in VB • Most operators are binary, requiring 2 operands. • Ex. sum + value • However, the unary operator (+, -) requires only one operand. • Ex. -3, +3 VBN2008-03
Arithmetic Operators VBN2008-03
Special Arithmetic Operators • Integer Division (\) • Supports Byte, Short, Integer, or Long Data Types • results in an Integer result • Ex. 8 \ 2 = 4 and 9 \5 = 1 • Note: Floating point numbers are coerced to Long (a narrowing conversion) quietly (behind the scene) before Integer Division takes place. • Ex. 7.7\4 = 2 because 8 \ 4 = 2. • the whole part of the floating point result and the rest is truncated. Weird! VBN2008-03
Integer Division Examples VBN2008-03
Special Arithmetic Operators • Modulus (Mod) results in an Integer remainder after Integer Division. • Ex. X Mod Y = the remainder after X is divided by Y. If the result is 0, then X is evenly divisible by Y. • Ex. 10 Mod 4 = 2; 10.8 Mod 4 = 3 • Note: • if the Result is defined as a floating point, the result will be the floating point remainder • Use of the Mod with floating point will introduce a hidden conversion from Single or Double to Integer – possible loss of data Weird! VBN2008-03
2 4 ) 10 8 2 2 4.8) 10.0 10 0 4.8 rounds to 5 Modulus Examples VBN2008-03
2 5 ) 12.6 10 2.6 Modulus Examples 5 9.35) 47.90 46.75 1.15 VBN2008-03
Comparison Operators VBN2008-03
Operator Precedence • Reflects a hierarchical order • Aids evaluation of expressions • Boolean Relational Operators have the lowest precedence. (to be discussed later) • Using parentheses ( )is recommended to: • Avoid syntax errors • Clarify the meaning of the comparison • Evaluation Trees are used to check logic VBN2008-03
Order of Operator Precedence See Appendix A VBN2008-03
Line Continuation • Permits a long line of code to be divided into two lines. • Must be surrounded by at least one space • Must not have anything after the “_” • Improves readability • Example: MessageBox.Show(“The Square Root of 2 is “ & root, _ “The Square Root of 2”) VBN2008-03
String Concatenation • Concatenation Operator is the ampersand “&” • Is a binary operator • Combines two strings • Example: MessageBox.Show(“The square root of 2 is ” & root) • Note: If the variable (in this case root) is not a String, VB will automatically create a String representation of the argument. VBN2008-03
Common Programming Errors Syntax Errors VBN2008-03
Syntax Errors • A syntax error, also called a compile error, is a violation of a language’s syntax. • Occurs when: • statements are missing information • statements have extra information • names are misspelled • punctuation is missing (missing parentheses) VBN2008-03
Syntax Errors - Help • VB • indicates syntax errors by underlining the suspect code with a red line • provides an explanation in the Task List window • Provides a tool tip explaining what VB.Net thinks is wrong, if you rest the mouse on the error. VBN2008-03