500 likes | 623 Vues
This chapter provides an in-depth exploration of Visual Basic .NET, focusing on the Framework Class Library and its core components. You will learn how to invoke methods in the String class, manage message boxes, format numeric outputs, handle dates, and read/write sequential files. Key topics include organizing code into namespaces, utilizing various String methods such as Copy, Substring, Replace, and understanding the immutability of String instances. Gain hands-on knowledge of property access, conditional comparisons, and case manipulation to enhance your VB.NET programming skills.
E N D
Chapter 6: Using VB .NET Supplied Classes Visual Basic .NET Programming: From Problem Analysis to Program Design
Objectives • Learn more about the Framework Class Library • Invoke methods in the String class • Display message boxes • Format numeric output • Work with dates • Read and write sequential files Visual Basic .NET Programming: From Problem Analysis to Program Design
Introducing the Framework Class Library • Assembly • File with .dll suffix • Contains Intermediate Language (IL) • Framework Class Library • Consists of approximately 100 assemblies • Each containing one or more classes • Organized logically into namespaces Visual Basic .NET Programming: From Problem Analysis to Program Design
Introducing the Framework Class Library (continued) • Namespace • Can contain both classes and other namespaces • System is rootof all other namespaces • Framework compilers do not automatically search all namespaces for classes used by code • Except System namespace • For all other namespaces • Use Imports keyword Visual Basic .NET Programming: From Problem Analysis to Program Design
Visual Basic .NET Programming: From Problem Analysis to Program Design
Invoking Methods in the String Class • String data • Collection of characters • Stringclass • Member of System namespace. • Stored in reference variable • Property • Special kind of VB .NET method • Access like public variable Visual Basic .NET Programming: From Problem Analysis to Program Design
Visual Basic .NET Programming: From Problem Analysis to Program Design
Visual Basic .NET Programming: From Problem Analysis to Program Design
Invoking Methods in the String Class (continued) • String instances in VB .NET are immutable • Cannot be changed • Methods create and return new String • Each character in String instance has index • Indicates position • Index for first character is 0 Visual Basic .NET Programming: From Problem Analysis to Program Design
Visual Basic .NET Programming: From Problem Analysis to Program Design
Using the Length Property • Length property • Contains number of characters in String • To access length for String s1: • s1.length Visual Basic .NET Programming: From Problem Analysis to Program Design
Using the Copy Method • Creates copy of String instance • Returns reference to new instance • Example: • s2 = String.Copy(s1) • Class method • Invoke using class name Visual Basic .NET Programming: From Problem Analysis to Program Design
Using the Chars Method • Returns character located at specified index • Example: • s1.Chars(6) • Instance method • Invoke using reference variable name Visual Basic .NET Programming: From Problem Analysis to Program Design
Using the Equals Method • See if two Stringinstances contain same data • Example: • s1.Equals(s2) • Not same as = Visual Basic .NET Programming: From Problem Analysis to Program Design
Using the Substring Method • Extract one or more characters from a String • Return new String containing extracted characters • Arguments: • Index of first character • Number of characters • Example: • s2 = s1.Substring(0, 5) Visual Basic .NET Programming: From Problem Analysis to Program Design
Using the Replace Method • Replace one or more characters in String • With one or more other characters • Arguments: • String containing character(s) to be replaced • Stringcontaining replacement character(s) • Example: • s2 = s1.Replace(“Hello”, “Hi”) Visual Basic .NET Programming: From Problem Analysis to Program Design
Using the Insert Method • Add one or more characters into existing String • Beginning at specified index • Example: • s2 = s1.Insert(6, “There “) • Arguments: • Index where to begin insertion • Characters to be inserted Visual Basic .NET Programming: From Problem Analysis to Program Design
Using the StartsWith and EndsWith Methods • StartsWith • Compares String with beginning character(s) of another String • Returns True or False • Depending on whether there is a match • EndsWith • Compares ending characters • Use both methods to search for text containing specified characters Visual Basic .NET Programming: From Problem Analysis to Program Design
Using the StartsWith and EndsWith Methods (continued) • StartsWith example: • s1.StartsWith(“Hi”) • EndsWith example: • s1.EndsWith(s3) Visual Basic .NET Programming: From Problem Analysis to Program Design
Using the ToUpper, ToLower, IndexOf, and ToString Methods • Change case of String value to uppercase or lowercase • ToUpper • Uppercase • ToLower • Lowercase Visual Basic .NET Programming: From Problem Analysis to Program Design
Using the ToUpper, ToLower, IndexOf, and ToString Methods (continued) • IndexOf method • Search Stringinstance for specific value • Returns index of first character of value • Or -1 • If no matching value is found • ToString • Convert numeric value to String Visual Basic .NET Programming: From Problem Analysis to Program Design
Displaying Message Boxes • Use message box to • Display message • Get response • MessageBox class • Member of System.Windows.Forms namespace • Single method named Show • Creates instance of MessageBox • Makes it visible Visual Basic .NET Programming: From Problem Analysis to Program Design
Displaying Message Boxes (continued) • Show() method arguments • Message to display • Can string literal or variable • Caption to display • Buttons to display • Type of icon to show Visual Basic .NET Programming: From Problem Analysis to Program Design
Example 6-12: Displaying message boxes 1. ' display a message 2. MessageBox.Show(“Hello Again”) 3. 'display a message and a caption 4. MessageBox.Show(“Hello Again”, “MessageBox Demo”) 5. 'display message, caption, Yes/No/Cancel buttons 6. MessageBox.Show(“Hello Again”, “MessageBox Demo”, MessageBoxButtons.YesNoCancel) Visual Basic .NET Programming: From Problem Analysis to Program Design
Example 6-12: Displaying message boxes (continued) 7. 'display message, caption, Yes/No/Cancel buttons, and Icon 8. MessageBox.Show(“Hello Again”, “MessageBox Demo”, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information) Visual Basic .NET Programming: From Problem Analysis to Program Design
Visual Basic .NET Programming: From Problem Analysis to Program Design
Displaying Message Boxes (continued) • Button combinations • Automatically displayed by IntelliSense • After you type class name MessageBoxButtons • Select specific buttons to be displayed from list • Icons • Displayed by IntelliSense when typing MessageBoxIcon Visual Basic .NET Programming: From Problem Analysis to Program Design
Visual Basic .NET Programming: From Problem Analysis to Program Design
Visual Basic .NET Programming: From Problem Analysis to Program Design
Displaying Message Boxes (continued) • show() method return value • Data type DialogResult • Compare to specific values using Ifstatement Visual Basic .NET Programming: From Problem Analysis to Program Design
Visual Basic .NET Programming: From Problem Analysis to Program Design
Formatting Numeric Output • Format numeric output to make it: • More attractive • Easier to read • Use ToString method to format numeric data • Argument types: • Format codes • Format mask Visual Basic .NET Programming: From Problem Analysis to Program Design
Visual Basic .NET Programming: From Problem Analysis to Program Design
Formatting Numeric Output (continued) • Format mask examples: • s = phoneNo.ToString(“(###) ###-####”) • s = d.ToString(“$#,##0.00”) • ssNo.ToString(“###-##-####”) Visual Basic .NET Programming: From Problem Analysis to Program Design
Working With Dates • FCL structures: • DateTime • Contains actual date value • TimeSpan • Contains computed difference between two dates • Belong to System namespace Visual Basic .NET Programming: From Problem Analysis to Program Design
Working With Dates (continued) • Today • Property of DateTime • Gets system date • Returns DateTime instance. • Example: • todaysDate = DateTime.Today • Now property • Captures current time Visual Basic .NET Programming: From Problem Analysis to Program Design
Working With Dates (continued) • Format date display • Invoke ToString method • Pass arguments that describe desired format • Creating DateTime instance example: • eleanorsBirthday = New DateTime(1998, 12, 15) Visual Basic .NET Programming: From Problem Analysis to Program Design
Visual Basic .NET Programming: From Problem Analysis to Program Design
Comparing Dates • Subtract() method • DateTime class • Compute number of days between DateTimes • Returns instance of TimeSpan class • TotalDays() method • TimeSpan class • Obtain number of days in TimeSpan Visual Basic .NET Programming: From Problem Analysis to Program Design
Example 6-18: Computing the Difference between Dates 1. ' compute the difference between two dates 2. Dim daysDifference As Double, ageDifference As TimeSpan 3. ageDifference = emilysBirthday.Subtract(eleanorsBirthday) 4. daysDifference = ageDifference.TotalDays() 5. Console.WriteLine(“The age difference is “ & daysDifference) Visual Basic .NET Programming: From Problem Analysis to Program Design
Comparing Dates (continued) • Compare() method • DateTime class • Compares two DateTime instances • Returns either: • -1 • 0 • +1 Visual Basic .NET Programming: From Problem Analysis to Program Design
Performing Arithmetic with Dates • DateTime class • Methods add a value to month, day, or year • Named AddMonths, AddDays, AddYears, etc. • Example: • todaysDate.AddMonths(1) Visual Basic .NET Programming: From Problem Analysis to Program Design
Reading and Writing Sequential Files • Classes typically employed in sequential file processing: • StreamWriter • StreamReader • Database • Data organized into one or more tables • Tables can be related Visual Basic .NET Programming: From Problem Analysis to Program Design
Reading and Writing Sequential Files (continued) • Files • Contain data • Organized into fields and records • Field • Individual data item • Can be contained in a primitive variable or Stringinstance • Record • Consists of one or more related fields Visual Basic .NET Programming: From Problem Analysis to Program Design
Reading and Writing Sequential Files (continued) • File • Contains one or more related records • Sequential file • Data organized with one data item following another • System.IO namespace classes: • StreamWriter • StreamReader. • Must use Imports statement Visual Basic .NET Programming: From Problem Analysis to Program Design
Reading and Writing Sequential Files (continued) • StreamWriter class • WriteLine() method • Can overwrite or append file • StreamReader class • ReadLine() method • Write loop when reading from sequential file • Check for existence of data beforereading data • Use Peek() method Visual Basic .NET Programming: From Problem Analysis to Program Design
Example 6-22: Appending to a Sequential File 1. Dim customerFile As New StreamWriter("C:\Customers.txt", True) 2. customerFile.WriteLine("Graham") 3. customerFile.WriteLine("Marietta") 4. customerFile.WriteLine("467-1234") 5. customerFile.Close() Visual Basic .NET Programming: From Problem Analysis to Program Design
Programming Example: Employee Report • Input • Sequential file named C:\Employee.txt containing employee information • Output • Employee report containing: • 1. Social Security number formatted nnn-nn-nnnn • 2. Date employed formatted as monthname dd, yyyy • 3. Hourly pay rate formatted as currency • 4. Formatted employee name Visual Basic .NET Programming: From Problem Analysis to Program Design
Summary • Visual Basic .NET stores string data in instances of String class • Provides several useful methods and properties • Immutable • MessageBox • Used to display message and get response • Invoke ToString method in primitive structures to format numeric data Visual Basic .NET Programming: From Problem Analysis to Program Design
Summary (continued) • Work with dates using: • DateTime • TimeSpan • VB .NET uses two classes in System.IO namespace to work with sequential files: • StreamWriter • StreamReader Visual Basic .NET Programming: From Problem Analysis to Program Design