Since I increase the bid I'm hoping whoever do this assignment will make it great special the Enhancements.
In this solution, you will create a Class Library project that will count the number of characters, words, sentences, and paragraphs contained in a text file or a multi-line text box.
You will also create a Windows Application to test the Class Library project you create. The Class Library project will have one class module. The class will have one method that will open a text file for input.
The same method should also count the number of characters, words, sentences, and paragraphs in the file. Another method will perform the same task but use a multi-line text box. The developer should be able to read these values using read-only properties.
The form will have an OpenFileDialog control instance to open a file as specified by the user. Figure (1) shows the completed form.
? Add a Class Library project to the solution. Note that VB .NET will create an empty class mod- tile. Name the Class Library project Unit5ClassLibrary.
? Set the name of the class automatically created by VB .NET to StringProcessor.
? Set the root namespace to Course.
? In the Windows Application project add a reference to the Class Library project.
? In the class module, declare hidden variables to store the number of characters, words, sentences, and paragraphs.
? Create four read-only properties named Characters, Words, Sentences, and Paragraphs. These properties should return the number of characters, words, sentences, and paragraphs, respectively, stored in the corresponding hidden variables. Create Property Procedures rather than Public variables.
? Create a read-write property named StringContents, and a hidden variable to store the string. If the developer sets the property, calculate the number of characters, words, sentences, and paragraphs contained in the string, and then store the results in the hidden variables that you declared. Note: A word is a sequence of characters separated by a space. A sentence is terminated with a period, and a paragraph ends with a LineFeed character (Microsoft.VisualBasic.ControlChars.Lf). Your solution does not need to account for malformed sentences. For example, a paragraph that ends in something other than a sentence with a period.
? In the class module, create a method named OpenFile. This method should accept one argument - the full path name of the file to be opened. In the OpenFile method, write the necessary statements to open the text file, then count the number of characters, words, sentences, and paragraphs. As you will he reading a disk file, you will need to rise the StreamReader class to open and read the file.
? The process of determining what constitutes a word can be expanded. For example, in addition to having a space character separate a word, tab characters should also separate words. Add this feature to the OpenFile method and the StringContents property procedure.
? Create the control instances on the form as shown in the Figure.
? Write the code for the Analyze Text button. The code in this event handler should create an instance of the StringProcessor class. Set the StringContents property to the contents of the multiline text box. Assigning a value to the property causes the code you wrote in the Property Procedure to process the string, and set the values of the read-only properties. Store the value of the Characters, Words, Sentences, and Paragraphs properties in the output labels appearing on the form.
? Write the code for the Analyze File button. Use the OpenFileDialog control instance to get a file name from the user. Create an instance of the StringProcessor class. Call the OpenFile method to process the file. Finally, display the results from the read-only properties in the labels on the form.
Enhancements cannot replace required functionality and they must be more significant than changing the color of the form or the font of a control. Significant enhancements are primarily code-based as opposed to using the Properties Window. Suggestions for enhancing this projects are: creating a procedure to loop through a String and count the number of characters, words, sentences and paragraphs and calling that procedure when required; creating a procedure to display the calculated values in the appropriate controls on the Form and calling that procedure when required; displaying the text of a file in the TextBox control AFTER the file has been processed; adding a Label control that shows the path to the file being processed. Please note that these are only suggestions and are not requirements. You are free to use your imagination to enhance the application. Two significant enhancements are required.
The Form is already created and the class has also been created. It is attached bellow named "mech_Unit5.sln".