Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 3 – Fundamentals of Programming in Visual Basic

Similar presentations


Presentation on theme: "Chapter 3 – Fundamentals of Programming in Visual Basic"— Presentation transcript:

1 Chapter 3 – Fundamentals of Programming in Visual Basic
3.1 Visual Basic Controls 3.2 Visual Basic Events 3.3 Numbers 3.4 Strings 3.5 Input and Output Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

2 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
3.1 Visual Basic Controls Invoking Visual Basic Text Box Control Button Control Label Control List Box Control Name Property Fonts / Auto Hide Positioning and Aligning Controls Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

3 Visual Basic Start Page
Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

4 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Start a New Project Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

5 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
New Project Dialog Box Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

6 Initial Visual Basic Screen
Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

7 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Toolbox Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

8 3 Ways to Place a Control from the Toolbox onto the Form Window
Double-click Drag Click, Point, and Drag Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

9 Four Controls at Design Time
Text box To select a control, click on it. Sizing handles will appear when a control is selected. Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

10 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Text Box Control Used for input and output When used for output, ReadOnly property is set to True Tasks button Sizing handles Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

11 Properties Window Press F4 to display the Properties window for the selected control. Categorized view Alphabetical view Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

12 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Properties Window Selected control Settings Properties Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

13 Some Often Used Properties
Text Autosize Font.Name Font.Size ForeColor BackColor ReadOnly Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

14 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Setting Properties Click on property name in left column. Enter its setting into right column by typing or selecting from options displayed via a button or ellipses (…). Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

15 Setting the ForeColor Property
Click on ForeColor. Click on button at right of settings box. Click on Custom tab to obtain display shown. Click on a color. Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

16 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Font Property Click on Font in left column. Click on ellipsis at right of settings box to obtain display shown, Make selections. Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

17 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Button Control The caption on the button should indicate the effect of clicking on the button. Text property determines caption. To add the button, double-click on the button icon in the ToolBox, or single click and click and drag Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

18 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Add an "access key" Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

19 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Label Control Used to identify the contents of a text box. Text property specifies caption. By default, label automatically resizes to accommodate caption on one line. When the AutoSize property is set to False, label can be resized manually. Used primarily to obtain a multi-rowed label. Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

20 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
List Box Control Initially used to display several pieces of output. Later used to select from a list. Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

21 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
The Name Property How the programmer refers to a control in code Setting for Name property near top of Properties window. Name must begin with a letter, be less than 215 characters long, and may include numbers and letters, but can NOT include spaces or punctuation. Use appropriate 3- or 4-character naming prefix (such as txt, btn, frm, lbl, etc.) Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

22 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Control Name Prefixes Control Prefix Example button btn btnCompute label lbl lblAddress text box txt txtAddress list box lst lstOutput Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

23 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Renaming the Form Initial name is Form1 The Solution Explorer window lists a file named Form1.vb. To rename the form, change the name of this file to newName.vb newName should begin with prefix frm. Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

24 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Fonts Proportional width fonts take up less space for "I" than for "W" – like Microsoft Sans Serif Fixed-width fonts take up the same amount of space for each character – like Courier New Fixed-width fonts are good for tables. Symbols are created with Windings. Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

25 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Auto Hide Hides Toolbox when not in use Vertical push pin icon indicates auto hide is disabled. Click the push pin to make it horizontal and enable auto hide. Push pin Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

26 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Positioning Controls Proximity line Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

27 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Aligning Controls Snap line Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

28 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Aligning Controls Snap line Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

29 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
3.2 Visual Basic Events Nothing happens until a user clicks or presses a key- this is called an event. An Event Procedure Walkthrough Properties and Event Procedures of the Form The Header of an Event Procedure Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

30 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Event An event is an action, such as the user clicking on a button Usually, nothing happens in a Visual Basic program until the user does something and generates an event. What happens is determined by statements. Code must be written to react to an event by performing a function. Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

31 controlName.property = setting
Sample Statements txtBox.ForeColor = Color.Red txtBox.Visible = True txtBox.Text = “Hello World” General Form: controlName.property = setting Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

32 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Sample Form txtFirst txtSecond btnRed Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

33 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Focus When you click on a text box, a cursor appears in the text box, and you can type into the text box. Such a text box is said to have the focus. If you click on another text box, the first text box loses the focus and the second text box receives the focus. Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

34 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Examples of Events btnShow.Click txtBox.TextChanged txtBox.Leave General Form: controlName.event Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

35 The three steps in creating a Visual Basic program:
Create the interface; that is, generate, position, and size the objects. Set properties; that is, configure the appearance of the objects. Write the code that executes when events occur. Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

36 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Code Window Page tab Class Name box Method Name box Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

37 Structure of an Event Procedure
Private Sub objectName_event(...) Handles objectName.event statements End Sub (...) is filled automatically with (ByVal sender As System.Object, ByVal e As System.EventArgs) Header Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

38 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Code Window Page tab Class Name box Method Name box Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

39 Create an Outline for an Event Procedure; i.e. header and End Sub
1. Double-click on a control or 2. Use the Class Name and Method Name boxes. (We primarily use the first method.) Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

40 Double Click on txtFirst
Sample Form txtFirst txtSecond btnRed Double Click on txtFirst Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

41 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Code for Walkthrough Public Class frmDemo Private Sub txtFirst_TextChanged(...) Handles txtFirst.TextChanged End Sub End Class Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

42 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Code for Walkthrough Public Class frmDemo Private Sub txtFirst_TextChanged(...) Handles txtFirst.TextChanged txtFirst.ForeColor = Color.Blue End Sub End Class Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

43 IntelliSense Automatically pops up to give the programmer help.
Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

44 Code Window Click tab to return to Form Designer
Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

45 Double-click on btnRed
Sample Form txtFirst txtSecond btnRed Double-click on btnRed Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

46 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Code for Walkthrough Public Class frmDemo Private Sub txtFirst_TextChanged(...) Handles txtFirst.TextChanged txtFirst.ForeColor = Color.Blue End Sub Private Sub btnRed_Click(...) Handles btnRed.Click End Class Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

47 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Code for Walkthrough Public Class frmDemo Private Sub txtFirst_TextChanged(...) Handles txtFirst.TextChanged txtFirst.ForeColor = Color.Blue End Sub Private Sub btnRed_Click(...) Handles btnRed.Click txtFirst.ForeColor = Color.Red End Class Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

48 Event Procedure txtFirst.Leave
Select txtFirst from Class Name box drop-down list. Select Leave from Method Name box drop-down list. Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

49 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Code for Walkthrough Private Sub txtFirst_Leave(...) Handles txtFirst.Leave End Sub Private Sub txtFirst_TextChanged(...) Handles txtFirst.TextChanged txtFirst.ForeColor = Color.Blue Private Sub btnRed_Click(...) Handles btnRed.Click txtFirst.ForeColor = Color.Red Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

50 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Code for Walkthrough Private Sub txtFirst_Leave(...) Handles txtFirst.Leave txtFirst.ForeColor = Color.Black End Sub Private Sub txtFirst_TextChanged(...) Handles txtFirst.TextChanged txtFirst.ForeColor = Color.Blue Private Sub btnRed_Click(...) Handles btnRed.Click txtFirst.ForeColor = Color.Red Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

51 Header of Event Procedure
Private Sub btnRed_Click(…) Handles btnRed.Click Identifies event Name, can be changed. Private Sub Button_Press(…) Handles btnRed.Click Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

52 Handling Multiple Events
Event procedure can be invoked by two events. Private Sub Button_Click(...) Handles btnRed.Click, txtSecond.Leave txtFirst.ForeColor = Color.Red End Sub Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

53 Altering Properties of the Form
The following won't work: frmDemo.Text = "Demonstration" The form is referred to by the keyword Me. Me.Text = "Demonstration" Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

54 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
3.3 Numbers Arithmetic Operations Variables Incrementing the Value of a Variable Built-In Functions: Math.Sqrt Int Math.Round Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

55 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Numbers continued The Integer Data Type Multiple Declarations Parentheses Three Types of Errors Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

56 Arithmetic Operations
Numbers are called numeric literals Five arithmetic operations in Visual Basic + addition - subtraction * multiplication / division ^ exponentiation Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

57 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Numeric Expressions 2 + 3 3 * (4 + 5) 2 ^ 3 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

58 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Displaying Numbers Let n be a number or a numeric expression. The statement lstBox.Items.Add(n) displays the value of n in the list box. Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

59 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Example 1: Form Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

60 Example 1: Code and Output
Private Sub btnCompute_Click (...) Handles btnCompute.Click lstResults.Items.Add(5) lstResults.Items.Add(2 * 3) lstResults.Items.Add((2 ^ 3) – 1) End Sub Output in list box Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

61 Example 1: Code using With
Private Sub btnCompute_Click (...) Handles btnCompute.Click With lstResults.Items .Add(5) .Add(2 * 3) .Add((2 ^ 3) – 1) End With End Sub Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

62 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Numeric Variable A numeric variable is a name to which a number can be assigned. Examples: speed distance interestRate balance Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

63 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Variables Declaration: Dim speed As Double Variable name Data type Assignment: speed = 50 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

64 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Initialization Numeric variables are automatically initialized to 0: Dim varName As Double To specify a nonzero initial value Dim varName As Double = 50 declares a variable named varName to be of type Double. Actually, the Dim statement causes the computer to set aside a location in memory with the name varName. Since varName is a numeric variable, the Dim statement also places the number zero in that memory location. (We say that zero is the initial value or default value of the variable.) Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

65 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Numeric Expressions Numeric variables can be used in numeric expressions. Dim balance As Double = 1000 lstBox.Items.Add(1.05 * balance) Output: 1050 declares a variable named varName to be of type Double. Actually, the Dim statement causes the computer to set aside a location in memory with the name varName. Since varName is a numeric variable, the Dim statement also places the number zero in that memory location. (We say that zero is the initial value or default value of the variable.) Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

66 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Assignment Statement Dim numVar1 As Double = 5 Dim numVar2 As Double = 4 numVar1 = 3 * numVar2 lstBox.Items.Add(numVar1) Output: 12 declares a variable named varName to be of type Double. Actually, the Dim statement causes the computer to set aside a location in memory with the name varName. Since varName is a numeric variable, the Dim statement also places the number zero in that memory location. (We say that zero is the initial value or default value of the variable.) Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

67 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Incrementing To add 1 to the numeric variable var var = var + 1 Or as a shortcut var += 1 Or as a generalization var += numeric expression Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

68 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Built-in Functions Functions return a value Math.Sqrt(9) returns 3 Int(9.7) returns 9 Math.Round(2.7) is 3 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

69 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Integer Data Type Variables of type Double can be assigned both whole numbers and numbers with decimals. The statement Dim varName As Integer declares a numeric variable that can only be assigned whole number values between about -2 billion and 2 billion. Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

70 Multiple Declarations
Dim a, b As Double Two other types of multiple-declaration statements are Dim a As Double, b As Integer Dim c As Double = 2, d As Integer = 5 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

71 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Parentheses Parentheses should be used liberally in numeric expressions. You can’t be wrong by putting them in, but you can be wrong leaving them out. Example numAverage = /3 In the absence of parentheses, the operations are carried out in the following order: ^, * and /, + and -. Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

72 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Three Types of Errors Syntax error Run-time error Logic error Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

73 Some Types of Syntax Errors
Misspellings lstBox.Itms.Add(3) Omissions lstBox.Items.Add(2 + ) Incorrect punctuation Dim m; n As Integer Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

74 A Type of Run-time Error
Overflow error Dim numVar As Integer = numVar = numVar * numVar Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

75 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
A Logical Error Dim average As Double Dim m As Double = 5 Dim n As Double = 10 average = m + n / 2 Value of average will be 10. Should be 7.5. average =(m + n)/ 2 (Correct) Value is 10. Why? Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

76 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
3.4 Strings Variables and Strings Using Text Boxes for Input and Output Concatenation String Properties and Methods: Length ToUpper Trim –removes spaces ToLower IndexOf - position Substring Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

77 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Strings continued The Empty String Initial Value of a String Option Strict – can be on/off – enforces using compatible type Internal Documentation Line-Continuation Character ( space_) Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

78 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
String Literal A string literal is a sequence of characters surrounded by quotation marks. Examples: "hello" " " "#ab cde?" Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

79 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
String Variable A string variable is a name to which a string value can be assigned. Examples: country ssn word firstName Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

80 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
String Variable Declaration: Dim firstName As String Data type Variable name Assignment: firstName = "Fred" Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

81 Dim firstName As String = "Fred"
String Variable You can declare a string variable and assign it a value at the same time. Dim firstName As String = "Fred" Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

82 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Add Method Let str be a string literal or variable. Then, lstBox.Items.Add(str) displays the value of str in the list box. Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

83 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
String Variable You can assign the value of one string variable to another. Dim strVar1 As String = "Hello" Dim strVar2 As String = "Goodbye" strVar2 = strVar1 lstOutput.Items.Add(strVar2) Output: Hello Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

84 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Variables and Strings Private Sub btnDisplay_Click(...) Handles btnDisplay.Click Dim today As String today = "Monday" lstOutput.Items.Add(“Today is") lstOutput.Items.Add(today) End Sub Output: Today is Monday Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

85 Using Text Boxes for Input and Output
The contents of a text box is always a string Input example strVar = txtBox.Text Output example txtBox.Text = strVar Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

86 Data Conversion Because the contents of a text box is always a string, sometimes you must convert the input or output. dblVar = CDbl(txtBox.Text) txtBox.Text = CStr(numVar) Converts a String to a Double Converts a number to a string Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

87 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Concatenation Combining two strings to make a new string using & as the concatenation operator quote1 = "We'll always " quote2 = "have Paris." quote = quote1 & quote2 txtOutput.Text = quote & " - Humphrey Bogart“ Displays We'll always have Paris. - Humphrey Bogart Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

88 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Appending To append str to the string variable var var = var & str Or as a shortcut var &= str Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

89 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Appending Example Dim var As String = "Good" var &= "bye" txtBox.Text = var OUTPUT: Goodbye Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

90 String Properties and Methods
"Visual".Length is 6. "Visual".ToUpper is VISUAL. "123 Hike".Length is 8. "123 Hike".ToLower is 123 hike. "a" & “ bcd ".Trim & "efg" is abcdefg. Trim method removes excess spaces. Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

91 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Positions in a String Positions of characters in a string are numbered 0, 1, 2, …. Note always begin with 0 Not 1 Consider the string “Visual Basic”. Position 0: V Position 1: i Position 7: B Substring “al” begins at position 4 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

92 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Substring Method Let str be a string. str.Substring(m, n) is the substring of length n, beginning at position m in str. “Visual Basic”.Substring(2, 3) is “sua” “Visual Basic”.Substring(0, 1) is “V” Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

93 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
IndexOf Method Let str1 and str2 be strings. str1.IndexOf(str2) is the position of the first occurrence of str2 in str1. (Note: Has value -1 if str2 is not a substring of str1.) "Visual Basic".IndexOf("is") is 1. "Visual Basic".IndexOf("si") is 9. "Visual Basic".IndexOf("ab") is -1. Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

94 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
The Empty String The string "", which contains no characters, is called the empty string or the zero-length string. The statement lstBox.Items.Add("") skips a line in the list box. The contents of a text box can be cleared with either the statement txtBox.Clear() or the statement txtBox.Text = "" Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

95 Initial Value of a String
By default the initial value is Nothing Strings can be given a different initial value as follows: Dim today As String = "Monday" Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

96 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Option Strict Visual Basic allows numeric variables to be assigned strings and vice versa, a poor programming practice. To turn this feature off, put the following statement at the very top of the code window Option Strict On Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

97 Option Strict On for All Programs
Select Options from the Tools menu In left pane, expand Projects and Solution Select VB Defaults Set Option Strict to On Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

98 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
With Option Strict On Dim dblVar As Double, intVar As Integer Dim strVar As String Not Valid: Replace with: intVar = dblVar intVar = CInt(dblVar) dblVar = strVar dblVar = CDbl(strVar) strVar = intVar strVar = CStr(intVar) converts Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

99 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Comments Private Sub btnCompute_Click (...) Handles btnCompute.Click 'Calculate the balance in an account Dim rate As Double 'Annual rate of interest Dim curBalance As Double 'Current balance Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

100 Internal Documentation
Other people can easily understand the program. You can understand the program when you read it later. Long programs are easier to read because the purposes of individual pieces can be determined at a glance. Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

101 Automatic Colorization
Comments – green String literals – maroon Keywords – blue Note: Keywords are words such as Sub, Handles, Private, With, and End that have special meaning in Visual Basic. They cannot be used as variable names. Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

102 Line-Continuation Character
A long line of code can be continued on another line by using an underscore (_) preceded by a space msg = "I'm going to make " & _ "him an offer he can't refuse." Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

103 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
3.5 Input and Output Formatting Output with Format Functions Formatting Output with Zones Reading Data from Files Getting Input from an Input Dialog Box Using a Message Dialog Box for Output Using a Masked Text Box for Input Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

104 Formatting Output with Format Functions
String Value FormatNumber( , 1) 12,345.6 FormatCurrency( , 2) $12,345.63 FormatPercent(0.183, 0) 18% Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

105 Formatting Output with Zones
Use a fixed-width font such as Courier New Divide the characters into zones with a format string. Dim fmtStr As String = "{0, 15}{1, 10}{2, 8}" lstOutput.Items.Add(String.Format(fmtStr, _ data0, data1, data2)) Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

106 Formatting Output with Zones
Dim fmtStr As String = "{0, -15}{1, 10}{2, 8}" lstOutput.Items.Add(String.Format(fmtStr, _ data0, data1, data2)) Here, 15 was preceded by a minus sign. This produces left justification in 0th zone. There will be right justification in the other two zones. Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

107 Zone Formatting Symbols
Symbols: N, C, and P Effect on zone :Nr FormatNumber(data, r) :Cr FormatCurrency(data, r) :Pr FormatPercent(data, r) Dim fmtStr As String = "{0,15:N1}{1,10:C2}{2,8:P0}" Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

108 Reading Data from Files
Data can be stored in files and accessed with a StreamReader object. We assume that the files are text files (that is, have extension .TXT) and have one piece of data per line. Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

109 Sample File: PAYROLL.TXT
Mike Jones 7.35 35 John Smith 6.75 33 Name Hourly wage Number of hours worked Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

110 Steps to Use StreamReader
Execute a statement of the form Dim readerVar As IO.StreamReader = _ IO.File.OpenText(filespec) or the pair of statements Dim readerVar As IO.StreamReader readerVar = IO.File.OpenText(filespec) 1. Execute a statement of the form Dim readerVar As IO.StreamReader A StreamReader is an object from the Input/Output class that can read a stream of characters coming from a disk or coming over the Internet. The Dim statement declares the variable readerVar to be of type StreamReader. 2. Execute a statement of the form readerVar = IO.File.OpenText(filespec) where filespec identifies the file to be read. This statement establishes a communi-cations link between the computer and the disk drive for reading data from the disk. Data then can be input from the specified file and assigned to variables in the pro-gram. This assignment statement is said to “open the file for input.” Just as with other variables, the declaration and assignment statements in Steps 2 and 3 can be combined into the single statement Dim readerVar As IO.StreamReader = IO.File.OpenText(filespec) 3. Read items of data in order, one at a time, from the file with the ReadLine method. Each datum is retrieved as a string. A statement of the form strVar = readerVar.ReadLine causes the program to look in the file for the next unread line of data and assign it to the variable strVar. The data can be assigned to a numeric variable if it is first converted to a numeric type with a statement such as numVar = CDbl(readerVar.ReadLine) Note: If all the data in a file have been read by ReadLine statements and another item is requested by a ReadLine statement, the item retrieved will have the value Nothing. 4. After the desired items have been read from the file, terminate the communications link set in Step 3 with the statement readerVar.Close() Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

111 Steps to Use StreamReader
Read items of data in order, one at a time, from the file with the ReadLine method. strVar = readerVar.ReadLine After the desired items have been read from the file, terminate the communications link readerVar.Close() 1. Execute a statement of the form Dim readerVar As IO.StreamReader A StreamReader is an object from the Input/Output class that can read a stream of characters coming from a disk or coming over the Internet. The Dim statement declares the variable readerVar to be of type StreamReader. 2. Execute a statement of the form readerVar = IO.File.OpenText(filespec) where filespec identifies the file to be read. This statement establishes a communi-cations link between the computer and the disk drive for reading data from the disk. Data then can be input from the specified file and assigned to variables in the pro-gram. This assignment statement is said to “open the file for input.” Just as with other variables, the declaration and assignment statements in Steps 2 and 3 can be combined into the single statement Dim readerVar As IO.StreamReader = IO.File.OpenText(filespec) 3. Read items of data in order, one at a time, from the file with the ReadLine method. Each datum is retrieved as a string. A statement of the form strVar = readerVar.ReadLine causes the program to look in the file for the next unread line of data and assign it to the variable strVar. The data can be assigned to a numeric variable if it is first converted to a numeric type with a statement such as numVar = CDbl(readerVar.ReadLine) Note: If all the data in a file have been read by ReadLine statements and another item is requested by a ReadLine statement, the item retrieved will have the value Nothing. 4. After the desired items have been read from the file, terminate the communications link set in Step 3 with the statement readerVar.Close() Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

112 Example using StreamReader
Dim name As String Dim wage, hours As Double Dim sr As IO.StreamReader = _ IO.File.OpenText("PAYROLL.TXT") name = sr.ReadLine wage = CDbl(sr.ReadLine) hours = CDbl(sr.ReadLine) lstBox.Items.Add(name & ": " & wage * hours) OUTPUT: Mike Jones: 1. Execute a statement of the form Dim readerVar As IO.StreamReader A StreamReader is an object from the Input/Output class that can read a stream of characters coming from a disk or coming over the Internet. The Dim statement declares the variable readerVar to be of type StreamReader. 2. Execute a statement of the form readerVar = IO.File.OpenText(filespec) where filespec identifies the file to be read. This statement establishes a communi-cations link between the computer and the disk drive for reading data from the disk. Data then can be input from the specified file and assigned to variables in the pro-gram. This assignment statement is said to “open the file for input.” Just as with other variables, the declaration and assignment statements in Steps 2 and 3 can be combined into the single statement Dim readerVar As IO.StreamReader = IO.File.OpenText(filespec) 3. Read items of data in order, one at a time, from the file with the ReadLine method. Each datum is retrieved as a string. A statement of the form strVar = readerVar.ReadLine causes the program to look in the file for the next unread line of data and assign it to the variable strVar. The data can be assigned to a numeric variable if it is first converted to a numeric type with a statement such as numVar = CDbl(readerVar.ReadLine) Note: If all the data in a file have been read by ReadLine statements and another item is requested by a ReadLine statement, the item retrieved will have the value Nothing. 4. After the desired items have been read from the file, terminate the communications link set in Step 3 with the statement readerVar.Close() Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

113 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Comment on Example Consider lstBox.Items.Add(name & ": " & wage * hours) The ampersand automatically converted wage * hours into a string before concatenating. We didn’t have to convert wage * hours with CStr. 1. Execute a statement of the form Dim readerVar As IO.StreamReader A StreamReader is an object from the Input/Output class that can read a stream of characters coming from a disk or coming over the Internet. The Dim statement declares the variable readerVar to be of type StreamReader. 2. Execute a statement of the form readerVar = IO.File.OpenText(filespec) where filespec identifies the file to be read. This statement establishes a communi-cations link between the computer and the disk drive for reading data from the disk. Data then can be input from the specified file and assigned to variables in the pro-gram. This assignment statement is said to “open the file for input.” Just as with other variables, the declaration and assignment statements in Steps 2 and 3 can be combined into the single statement Dim readerVar As IO.StreamReader = IO.File.OpenText(filespec) 3. Read items of data in order, one at a time, from the file with the ReadLine method. Each datum is retrieved as a string. A statement of the form strVar = readerVar.ReadLine causes the program to look in the file for the next unread line of data and assign it to the variable strVar. The data can be assigned to a numeric variable if it is first converted to a numeric type with a statement such as numVar = CDbl(readerVar.ReadLine) Note: If all the data in a file have been read by ReadLine statements and another item is requested by a ReadLine statement, the item retrieved will have the value Nothing. 4. After the desired items have been read from the file, terminate the communications link set in Step 3 with the statement readerVar.Close() Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

114 Getting Input from an Input Dialog Box
stringVar = InputBox(prompt, title) fileName = InputBox("Enter the name " _ & "of the file containing the " & _ "information.", "Name of File") Title Prompt Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

115 Using a Message Dialog Box for Output
MsgBox(prompt, 0, title) MsgBox("Nice try, but no cigar.", 0, _ "Consolation") Title MsgBox(prompt, , title) is executed, where prompt and title are strings, a message dialog box appears with prompt displayed and the title bar caption title and stays on the screen until the user presses Enter, clicks on the box in the upper-right corner, or clicks OK. For instance, the state-ment MsgBox("Nice try, but no cigar.", , "Consolation") Prompt Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

116 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Masked Text Box Similar to an ordinary text box, but has a Mask property that restricts what can be typed into the masked text box. Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

117 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Input Mask Dialog Box Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

118 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Mask A Mask setting is a sequence of characters, with 0, L, and & having special meanings. 0 Placeholder for a digit. L Placeholder for a letter. & Placeholder for a character or space. Chapter 3 - VB 2005 by Schneider modified by S. Jane '08

119 Chapter 3 - VB 2005 by Schneider modified by S. Jane '08
Sample Masks State abbreviation: LL Phone number: Social Security Number: License plate: &&&&&& Chapter 3 - VB 2005 by Schneider modified by S. Jane '08


Download ppt "Chapter 3 – Fundamentals of Programming in Visual Basic"

Similar presentations


Ads by Google