Report.docx

35
ACKNOWLEDGEMENT A project work owes its success from its success from commencement to completion, to the people in love with people at various stages. Let me in this page express my gratitude to all those who helped us in various stages of this study. As it is always true in a collaborative undertaking such as this. I have many specific reasons to be grateful to a group of kind hearts who have helped me at every stage of my work. I would like to express my profound sense of gratitude to our respected Dean Sir Dr. V.P Gupta for having entrusted this project. I express my deep gratitude and humble thanks to Prof. D.K Mehta for lending a helpful hand for the successful completion of my project. I express my sincere thanks to my guide, Mr. Manish Verma Assistant Professor, Department of Computer Science for his constant help, involvement, encouragement and for his valuable suggestions to improve and finish the project successfully. AKASH RAJ GUPTA AMAN RAJ GUPTA Table of Contents

Transcript of Report.docx

ACKNOWLEDGEMENT

A project work owes its success from its success from commencement to completion, to the people in love with people at various stages. Let me in this page express my gratitude to all those who helped us in various stages of this study. As it is always true in a collaborative undertaking such as this. I have many specific reasons to be grateful to a group of kind hearts who have helped me at every stage of my work.

I would like to express my profound sense of gratitude to our respected Dean Sir Dr. V.P Gupta for having entrusted this project.

I express my deep gratitude and humble thanks to Prof. D.K Mehta for lending a helpful hand for the successful completion of my project.

I express my sincere thanks to my guide, Mr. Manish Verma Assistant Professor, Department of Computer Science for his constant help, involvement, encouragement and for his valuable suggestions to improve and finish the project successfully.

AKASH RAJ GUPTAAMAN RAJ GUPTA

Table of Contents

Introduction to Notepad......1 Introduction to .Net3 History..4 Components of .NET Framework5 The Class Library.7 Common Language Runtime...7 Design Features9 Common Type System10 Common Language Specification...11 ADO.NET Architecture..13 Introduction to C#......15 Naming Conventions for Identifiers Keywords & Variables..16 Program Structure.......17 Compilation of C# Program....20 Properties............................................................................................214.Objective...235.Detail of Project Report Work..246.Snapshot....317.Result and Discussion...418.Conclusion and recommendation for further studies........42

List of Figures2.2.Net Framework Components...5-62.4 Net Framework Architecture...........................82.8 ADO.Net Architecture......143.3 Compilation phase of C #.............................................................................................218.1Snapshots8.1.1 User Inteface.....318.1.2 File Menu...328.1.3 Edit Menu ......338.1.4 Format Menu .........348.1.5 Help Menu..358.1.6 Save Dialogue box.....368.1.7 Open Dialogue box ....378.1.8 Font Dialogue box .388.1.9 Color Dialogue box ...39

List of Tables2.1 .Net Framework Versions..43.1 C# Keywords....16References..43

ABSTRACT

Notepad is a windows application which is used to edit text documents. It allows us to edit, save and view text documents. Notepad is also used for writing various source code of languages.Notepad offers only the most basic text manipulation functions, such as finding text. Only newer versions of Windows include an updated version of Notepad with a search and replace function. However it has much less functionality in comparison to full-scale editorsNotepad makes use of a built-inwindow classnamed "EDIT". In older versions such as those included withWindows 95,Windows 98,Windows MeandWindows 3.1, there is a 64k limit on the size of the file being edited, an operating system limit of the EDIT class.

Chapter 1INTRODUCTION TO NOTEPADNotepadis a generic text editor included withMicrosoftWindows that enables someone to open and readplaintext files. If the file contains special formatting or is not a plaintext file, it will not be able to be read in Microsoft Notepad. In the image to the right, is a small example of what the Microsoft Notepad may look like while running.

Notepad is a common text-only (plain text) editor. The resulting filestypically saved with the.txtextensionhave no format tags or styles, making the program suitable for editing system files that are to be used in aDOSenvironment and occasionally, source code for latercompilationorexecution, usually through acommand prompt.Notepad supports both left-to-right and right-to-left based languages.UnlikeWordPad, Notepad doesnottreatnewlinesinUnix- orMac-style text files correctly.

Notepad offers only the most basic text manipulation functions, such as finding text. Only newer versions of Windows include an updated version of Notepad with a search and replace function. However it has much less functionality in comparison to full-scale editors.Notepad makes use of a built-inwindow classnamed "EDIT". In older versions such as those included withWindows 95,Windows 98,Windows MeandWindows 3.1, there is a 64k limit on the size of the file being edited, an operating system limit of the EDIT class.Up toWindows 95,Fixedsyswas the only available displayfontfor Notepad.Windows NT 4.0and98introduced the ability to change this font. As ofWindows 2000, the default font was changed toLucida Console. The font setting, however, only affects how the text is shown to the user and how it is printed, not how the file is saved to disk. The default font was changed toConsolason Windows 8.Up toWindows Me, there were almost no keyboard shortcuts and no line-counting feature. Starting withWindows 2000, shortcuts for common tasks like new, open and save were added, as well as a status-bar with a line counter (available only when word-wrap is disabled).In theWindows NT-based versions of Windows, Notepad can edit traditional 8-bit text files as well asUnicodetext files (bothUTF-8andUTF-16, and in case of UTF-16,both little-endian and big-endian).Notepad also has a simple built-in logging function. Each time a file that starts with.LOGis opened, the program inserts a text timestamp on the last line of the file.Notepad accepts text from the Windowsclipboard. When clipboard data with multiple formats is pasted into Notepad, the program will only accept text in theCF_TEXTformat. This is useful for stripping embedded font type and style codes from formatted text, such as when copying text from a web page and pasting into an email message or other WYSIWYGtext editor. The formatted text is temporarily pasted into Notepad, and then immediately copied again in stripped format to be pasted into the other program.Files can be printed, but they will not print correctly if "Word Wrap" is turned on. Headers, footers, and margins can be set and adjusted when preparing to print a file under "Page Setup". The date, file name, and other information can be placed in the headers and footers with various codes consisting of an ampersand ('&') followed by a letter.

Chapter 2Introduction to .NET

Microsoft .NET is a set of Microsoft software technologies for rapidly building and integrating XML Web services, Microsoft Windows-based applications, and Web solutions. The .NET framework was developed by Microsoft Corporation.It is a group of several technologies that helps the developers to create different types of applications.The .NET framework can be used to create Web applications Windows based applications Mobile applicationsWhen internet started to open up for commercial use at that time html was only tool to create the web applications.Those web applications were mere bunch of static web pages.Over a period of time tools for developing web applications have evolved very much.But those web applications have some problems,for example when the number of simultaneous users increased;the application eventually crashed or slows down.It was also very cumbersome to add high level features,such as user authentication which required a lot of coding effort.To resolve these problems,Microsoft came up with a solution in the form of ASP and the ASP.NET.These tools have allowed the developers to create highly dynamic pages without concerning about low level implimentations.The .NET Framework is a language-neutral platform which includes a large library for writing programs that can easily and securely interoperate(each language can use code written in other languages). Theres no language barrier with .NET: there are numerous languages available to the developer including C++, C#, Visual Basic and Java Script. The .NET framework provides the foundation for components to interact seamlessly, whether locally or remotely on different platforms. It standardizes common data types and communications protocols so that components created in different languages can easily interoperate.

2.1 HistoryMicrosoft started development of the .NET Framework in the late 1990s, originally under the name of Next Generation Windows Services (NGWS). By late 2000 the first beta versions of .NET 1.0 were released.Version 3.0 of the .NET Framework is included with Windows Server 2008 and Windows Vista. Version 3.5 is included with Windows 7 and Windows Server 2008 R2, and can also be installed on Windows XP and Windows Server 2003. On 12 April 2010, .NET Framework 4 was released alongside Visual Studio 2010.The .NET Framework family also includes two versions for mobile or embedded device use. A reduced version of the framework, the .NET Compact Framework, is available on Windows CE platforms, including Windows Mobile devices such as smartphones. Additionally, the .NET Micro Framework is targeted at severely resource-constrained devices.

Fig 2.1 .Net Framework versions

2.2 Components of .NET FrameworkThe .NET framework consists of various components.These components are: .NET languages includes visual basic,C#,F# and C++. Common Language Runtime(CLR):Executes all .NET programs and services for these applications,such as memory management,security checking and optimization. .NET Framework class library:Includes various prebuilt features that can be directly integrated into applications ASP.NET:Is the engine that hosts the .NET web applications and support different features of .NET framework class library. Visual Studio:Is a development tool that contains various productivity and development features.The following shows the .NET Framework

Fig 2.2(a).Net Framework Components

Fig 2.3(b).Net Framework Components

2.3 The Class Library

The .NET Framework class library is a library of classes, interfaces, and value types that provide access to system functionality. It is the foundation on which .NET Framework applications, components, and controls are builtIt provides a single-rooted hierarchy of classes, containing over 7000 types. The root of the namespace is called System; this contains basic types like Byte, Double, Boolean, and String, as well as Object. All objects derive from System. Object. As well as objects, there are value types. Value types can be allocated on the stack, which can provide useful flexibility. There are also efficient means of converting value types to object types if and when necessary.The .NET Framework includes types that perform the following functions: Represent base data types and exceptions. Encapsulate data structures. Perform I/O. Access information about loaded types. Invoke .NET Framework security checks. Provide data access, rich client-side GUI, and server-controlled, client-side GUIThe set of classes is pretty comprehensive, providing collections, file, screen, and network I/O, threading, and so on, as well as XML and database connectivity.The class library is subdivided into a number of sets (or namespaces), each providing distinct areas of functionality, with dependencies between the namespaces kept to a minimum. 2.4 Common Language RuntimeThe .NET Framework provides a run-time environment called the common language runtime, which runs the code and provides services that make the development process easier.Compilers tools expose the common language runtime's functionality and enable to write code that benefits from this managed execution environment. Code that you develop with a language compiler that targets the runtime is called managed code; it benefits from features such as cross-language integration, cross-language exception handling, enhanced security, versioning and deployment support, a simplified model for component interaction, and debugging and profiling services.

Fig 2.4.Net Framework Architecture

The runtime provides the following benefits: Performance improvements. The ability to easily use components developed in other languages. Extensible types provided by a class library. Language features such as inheritance, interfaces, and overloading for object-oriented programming. Support for explicit free threading that allows creation of multithreaded, scalable applications. Support for structured exception handling. Support for custom attributes. Garbage collection. Use of delegates instead of function pointers for increased type safety and security. For more information about delegates, see Common Type System.

2.5 Design Features InteroperabilityBecause computer systems commonly require interaction between newer and older applications, the .NET Framework provides means to access functionality implemented in newer and older programs that execute outside the .NET environment. Access to COM components is provided in the System.Runtime.InteropServices and System.EnterpriseServices namespaces of the framework; access to other functionality is achieved using the P/Invoke feature. Common Language Runtime engineThe Common Language Runtime (CLR) serves as the execution engine of the .NET Framework. All .NET programs execute under the supervision of the CLR, guaranteeing certain properties and behaviors in the areas of memory management, security, and exception handling. Language independenceThe .NET Framework introduces a Common Type System, or CTS. The CTS specification defines all possible datatypes and programming constructs supported by the CLR and how they may or may not interact with each other conforming to the Common Language Infrastructure (CLI) specification. Because of this feature, the .NET Framework supports the exchange of types and object instances between libraries and applications written using any conforming .NET language. Base Class LibraryThe Base Class Library(BCL), part of the Framework Class Library (FCL), is a library of functionality available to all languages using the .NET Framework. The BCL provides classes that encapsulate a number of common functions, including file reading and writing, graphic rendering, database interaction, XML document manipulation, and so on. It consists of classes, interfaces of reusable types that integrates with CLR(Common Language Runtime). Simplified deploymentThe .NET Framework includes design features and tools which help manage the installation of computer software to ensure it does not interfere with previously installed software, and it conforms to security requirements.

SecurityThe design addresses some of the vulnerabilities, such as buffer overflows, which have been exploited by malicious software. Additionally, .NET provides a common security model for all applications. PortabilityWhile Microsoft has never implemented the full framework on any system except Microsoft Windows, it has engineered the framework to be platform-agnostic, and cross-platform implementations are available for other operating systems .Microsoft submitted the specifications for the Common Language Infrastructure (which includes the core class libraries, Common Type System, and the Common Intermediate Language) the C# language, and the C++/CLI languageto both ECMA and the ISO, making them available as official standards. This makes it possible for third parties to create compatible implementations of the framework and its languages on other platforms

2.6 Common Type SystemThe common type system defines how types are declared, used, and managed in the common language runtime, and is also an important part of the runtime's support for cross-language integration. The common type system performs the following functions: Establishes a framework that helps enable cross-language integration, type safety, and high-performance code execution. Provides an object-oriented model that supports the complete implementation of many programming languages. Defines rules that languages must follow, which helps ensure that objects written in different languages can interact with each other. Provides a library that contains the primitive data types (such as Boolean, Byte, Char, Int32, and UInt64) used in application development.

Type categoriesThe common type system supports two general categories of types:Value typesValue types directly contain their data, and instances of value types are either allocated on the stack or allocated inline in a structure. Value types can be built-in (implemented by the runtime), user-defined, or enumerations.Reference typesReference types store a reference to the value's memory address, and are allocated on the heap. Reference types can be self-describing types, pointer types, or interface types. The type of a reference type can be determined from values of self-describing types. Self-describing types are further split into arrays and class types. The class types are user-defined classes, boxed value types, and delegates.

2.7 Common Langauge SpecificationA Common Language Specification (CLS) is a document that says how computer programs can be turned into bytecode.It provides set of rules and object oriented programming code to be followed by every .net language.when a language follow these rules and object oriented programming model then only that language was treated as .net language.The mail purpose of cls is to integrate multiple language into .net. When several languages use the same bytecode, different parts of a program can be written in different languages. Microsoft uses a Common Language Specification for their .NET Framework. To fully interact with other objects regardless of the language they were used in, objects must expose to callers only those features that are common to all the languages they must exchange information with. It was always a dream of Microsoft to unite all different languages into one umbrella and CLS is one step towards that. Microsoft has defined CLS which are nothing but guidelines for languages to follow so that it can communicate with other .NET languages in a seamless manner.Most of the members defined by types in the .NET Framework class library are able to work with CLS. However, some types in the class library have one or more members that are not able to work with CLS. These members allow support for language features that are not in the CLS.The CLS was designed to be large enough to include the language constructs that are commonly needed by developers, yet small enough that most languages are able to support it. Any language construct that makes it impossible to quickly confirm the type safety of code was excluded from the CLS so that all languages that can work with CLS can produce verifiable code if they choose to do so.

ADO .NETADO.NET provides consistent access to data sources such as SQL Server and XML, and to data sources exposed through OLE DB and ODBC. Data-sharing consumer applications can use ADO.NET to connect to these data sources and retrieve, handle, and update the data that they contain. ADO.NET separates data access from data manipulation into discrete components that can be used separately or in tandem. ADO.NET includes .NET Framework data providers for connecting to a database, executing commands, and retrieving results. Those results are either processed directly, placed in an ADO.NET DataSet object in order to be exposed to the user in an ad hoc manner, combined with data from multiple sources, or passed between tiers. The DataSet object can also be used independently of a .NET Framework data provider to manage data local to the application or sourced from XML.The ADO.NET classes are found in System.Data.dll, and are integrated with the XML classes found in System.Xml.dll. For sample code that connects to a database, retrieves data from it, and then displays that data in a console window, see ADO.NET Code Examples.ADO.NET provides functionality to developers who write managed code similar to the functionality provided to native component object model (COM) developers by ActiveX Data Objects (ADO). We recommend that you use ADO.NET, not ADO, for accessing data in your .NET applications. ADO.NET provides the most direct method of data access within the .NET Framework. For a higher-level abstraction that allows applications to work against a conceptual model instead of the underlying storage model

2.8 ADO.NET ArchitectureThe two main components of ADO.NET 3.0 for accessing and manipulating data are the .NET Framework data providers and the DataSet. .NET Framework Data ProvidersThe .NET Framework Data Providers are components that have been explicitly designed for data manipulation and fast, forward-only, read-only access to data. The Connection object provides connectivity to a data source. The Command object enables access to database commands to return data, modify data, run stored procedures, and send or retrieve parameter information. The DataReader provides a high-performance stream of data from the data source. Finally, the DataAdapter provides the bridge between the DataSet object and the data source. The DataAdapter uses Command objects to execute SQL commands at the data source to both load the DataSet with data and reconcile changes that were made to the data in the DataSet back to the data source. For more information, see .NET Framework Data Providers and Retrieving and Modifying Data in ADO.NET.The DataSetThe ADO.NET DataSet is explicitly designed for data access independent of any data source. As a result, it can be used with multiple and differing data sources, used with XML data, or used to manage data local to the application. The DataSet contains a collection of one or more DataTable objects consisting of rows and columns of data, and also primary key, foreign key, constraint, and relation information about the data in the DataTable objects. For more information, see DataSets, DataTables, and DataViews.The following diagram illustrates the relationship between a .NET Framework data provider and a DataSet.

Fig 2.8 ADO .Net Architecture

Chapter 3 Introduction to C#C# (pronounced See Sharp) is a simple, modern, object-oriented, and type-safe programming language. It is a general-purpose programming language for building apps using Visual Studio and the .NET Framework. C# is designed to be simple, powerful, type-safe, and object-oriented. It was developed by Microsoft within its .NET initiative and later approved as a standard by Ecma (ECMA-334) and ISO (ISO/IEC 23270:2006). C# is one of the programming languages designed for the Common Language Infrastructure. People involved in the development of C# are Peter Goide,Eric Gunnerson,Anders Hejlsenberg,Peter Sollichy and Scott Wiltamuth.The version of C# was released in the year 2002.Some of the general features that make it very efficient language are given below: Object oriented Part of .Net Framework Easy to learn Component Oriented Structured language Produces efficient programming Can be compiled on different computer platformsIn addition to the above general features,some of the technical features of C# are: Boolean Conditions Automatic garbage collection Properties and events Delegates and Event Management Standard Library Indexers Conditional Compilation Simple Multithreading Linq and Lambda Expression Assembly Versioning Easy to use Generics Integration with Windows

3.1 Naming Conventions for Identifiers Keywords & VariablesIdentifiers are the names that are used to identify the elements in programs,such as namespaces,classes,methods and variables.In C#. Only letters(uppercase and lowercase),digits and underscores characters can be used An identifier starts with a letter or an underscoreExample:match,_winner,and john8 are all valid identifiers whereas match%,winner$ and 8john are not valid identifiers.

There are 77 identifiers that are used by the C# language.These identifiers are known as keywords.The following able shows the list of keywords common used in C# language:Fig 3.1 C# Keywords

3.2 Program StructureThe key organizational concepts in C# are Programs Namespaces Types Members and Assemblies.Programs:C# programs consist of one or more source files. Each file can contain zero or more namespaces.Namespaces:Namespaces are C# basic program elements that are designed to help you to organize program well.They also provide help in avoiding name conflicts between two sets of program code.Namespaces have the following properties: They organize large code projects. They are delimited by using the . operator. The using directive obviates the requirement to specify the name of the namespace for every class. The global namespace is the "root" namespace: global::System will always refer to the .NET Framework namespace System. Programs declare types, which contain members and can be organized into namespaces.The types of the C# language are divided into two main categories: Value typesand reference types. Both value types and reference types may be generic types, which take one or more type parameters. Type parameters can designate both value types and reference types.type:value-typereference-type type-parameterFunction members are members that contain executable statements. Function members are always members of types and cannot be members of namespaces. C# defines the following categories of function members: Methods Properties Events Indexers User-defined operators Instance constructors Static constructors Destructors

An assembly in the Common Language Infrastructure (CLI) is a compiled code library used for deployment, versioning, and security. There are two types: process assemblies (EXE) library assemblies (DLL).The .NET Framework uses assemblies as the fundamental unit for several purposes: Security Type Identity Reference Scope Versioning Deployment

SecurityAn assembly is the unit at which security permissions are requested and granted. Assemblies are also the level at which you establish identity and trust. The .NET Framework provides two mechanisms for this level of assembly security: strong names and Signcode.exe. You can also manage security by specifying the level of trust for code from a particular site or zone.Signing an assembly with a strong name adds public key encryption to the assembly. This ensures name uniqueness and prevents substituting another assembly with the same name for the assembly that you provided.The signcode.exe tool embeds a digital certificate in the assembly. This allows users of the assembly to verify the identity of the assembly's developer by using a public or private trust hierarchy.You can choose to use either strong names, Signcode.exe, or both, to strengthen the identity of your assembly.The common language runtime also uses internal hashing information, in conjunction with strong names and signcode, to verify that the assembly being loaded has not been altered after it was built.Type IdentityThe identity of a type depends on the assembly where that type is defined. That is, if you define a type named DataStore in one assembly, and a type named DataStore in another assembly, the .NET Framework can tell them apart because they are in two different assemblies. Of course you can't define two different types with the same name in the same assembly.Reference ScopeThe assembly is also the location of reference information in general. Each assembly contains information on references in two directions: The assembly contains metadata that specifies the types and resources within the assembly that are exposed to code outside of the assembly. For example, a particular assembly could expose a public type named Customer with a public property named AccountBalance. The assembly contains metadata specifying the other assemblies on which it depends. For example, a particular assembly might specify that it depends on the System.Windows.Forms.dll assembly.VersioningEach assembly has a 128-bit version number that is presented as a set of four decimal pieces: Major.Minor.Build.RevisionFor example, an assembly might have the version number 3.5.0.126.

3.3 Compilation of a C# ProgramC# programs run on the .NET Framework, an integral component of Windows that includes a virtual execution system called the common language runtime (CLR) and a unified set of class libraries. The CLR is the commercial implementation byMicrosoft of the common language infrastructure (CLI), an international standard that is the basis for creating execution and development environments in which languages and libraries work together seamlessly.Source code written in C# is compiled into an intermediate language (IL) that conforms to the CLI specification. The IL code and resources, such as bitmaps and strings, are stored on disk in an executable file called an assembly, typically with an extension of .exe or .dll. An assembly contains a manifest that provides information about the assembly's types, version, culture, and security requirements.When the C# program is executed, the assembly is loaded into the CLR, which might take various actions based on the information in the manifest. Then, if the security requirements are met, the CLR performs just in time (JIT) compilation to convert the IL code to native machine instructions. The CLR also provides other services related to automatic garbage collection, exception handling, and resource management. Code that is executed by the CLR is sometimes referred to as "managed code," in contrast to "unmanaged code" which is compiled into native machine language that targets a specific system. The following diagram illustrates the compile-time and run-time relationships of C# source code files, the .NET Framework class libraries, assemblies, and the CLR.

Fig 3.3 Compilation process of C #

3.4PropertiesConstructors And Destructors Constructors are used to initialize objects, whereas destructors are used to destroy them. In other words, destructors are used to release the resources allocated to the object. In C#.NET the sub finalize procedure is available. The sub finalize procedure is used to complete the tasks that must be performed when an object is destroyed. The sub finalize procedure is called automatically when an object is destroyed. In addition, the sub finalize procedure can be called only from the class it belongs to or from derived classes.

Garbage CollectionGarbage Collection is another new feature in C#.NET. The .NET Framework monitors allocated resources, such as objects and variables. In addition, the .NET Framework automatically releases memory for reuse by destroying objects that are no longer in use. In C#.NET, the garbage collector checks for the objects that are not currently in use by applications. When the garbage collector comes across an object that is marked for garbage collection, it releases the memory occupied by the object.Overloading Overloading is another feature in C#. Overloading enables us to define multiple procedures with the same name, where each procedure has a different set of arguments. Besides using overloading for process. MultithreadingC#.NET also supports multithreading. An application that supports multithreading can handle multiple tasks simultaneously, we can use multithreading to decrease the time taken by an application to respond to user interaction. Structured Exception HandlingC#.NET supports structured handling, which enables us to detect and remove errors at runtime. In C#.NET, we need to use TryCatchFinally statements to create exception handlers. Using TryCatchFinally statements, we can create robust and effective exception handlers to improve the performance of our application.

Chapter 4 ObjectiveNotepadis a generic text editor included withMicrosoftWindows that enables someone to open and readplaintext files. If the file contains special formatting or is not a plaintext file, it will not be able to be read in Microsoft Notepad. In the image to the right, is a small example of what the Microsoft Notepad may look like while running.

Notepad is a common text-only (plain text) editor. The resulting filestypically saved with the.txtextensionhave no format tags or styles, making the program suitable for editing system files that are to be used in aDOSenvironment and occasionally, source code for latercompilationorexecution, usually through acommand prompt.Notepad supports both left-to-right and right-to-left based languages.UnlikeWordPad, Notepad doesnottreatnewlinesinUnix- orMac-style text files correctly.

Notepad offers only the most basic text manipulation functions, such as finding text. Only newer versions of Windows include an updated version of Notepad with a search and replace function. However it has much less functionality in comparison to full-scale editors.Notepad makes use of a built-inwindow classnamed "EDIT". In older versions such as those included withWindows 95,Windows 98,Windows MeandWindows 3.1, there is a 64k limit on the size of the file being edited, an operating system limit of the EDIT class.Up toWindows 95,Fixedsyswas the only available displayfontfor Notepad.Windows NT 4.0and98introduced the ability to change this font. As ofWindows 2000, the default font was changed toLucida Console. The font setting, however, only affects how the text is shown to the user and how it is printed, not how the file is saved to disk. The default font was changed toConsolason Windows 8.

Chapter 5Detail of Work ProjectNotepad is a simple text editor. Just as you use a notepad on your desk, you can use Notepad to take notes onscreen while working in other Windows applications. There are better text editors. One of my favorite Windows text editors is TextPad (http://www.textpad.com/). However, Notepad is simple, uses little memory and is useful for editing text you want to copy into a Windows or DOS application that lacks editing capability.[WinPack does have a built-in editor, but Notepad is perhaps more versitile.]Notepad retrieves and saves files in text format. This makes Notepad a convenient editor for creating and altering text-based files. Because Notepad stores files in text format, almost all word processing applications can retrieve Notepad's files. However, if you want the capability of formatting your documents, you'll need a true word processor.

Software Interface: Operating system : Windows XP. Coding Language: C# Framework : .NET Framework 4.0 IDE : Microsoft Visual Studio 2010

Hardware Interface: System : Pentium IV 2.4 GHz. Hard Disk : 40 GB. Ram : 512 Mb.

Starting NotepadTo start Notepad, open theStartmenu and choosePrograms-->Accessories-->Notepad. Notepad starts up and displays a blank document in the Notepad window. You can begin typing.You can open an existing file using theFilemenu. ClickFileon the Notepad toolbar, then clickOpen...An Open panel will appear. Choose a file to open and click theOpenbutton.See the notes below about saving your file when you are finished editing.Working with Documents in NotepadThe Insertion Point is the "I-Beam" symbol you see on the editing screen. The insertion point is where the next character you type will be entered. You can move the insertion point by using either the mouse or the keyboard. You can not move the insertion point beyond the last character in the file.Limited formatting is available from theFile --> Page Setupcommand. You can change margins and add a header or footer, but you cannot format characters or paragraphs in any way. You also can use the Tab, Spacebar, and Backspace keys to align text. Tab stops are preset at every eight characters.With the commands on Notepad's Edit menu, you can cut, copy, and move text from one place in a file to another. Text that you cut or copy is stored in the Clipboard. When you paste text, the contents of the Clipboard is copied from the Clipboard to the document at the location of the insertion point. The contents of the Clipboard are available until replaced by another copy or cut action.Text in Notepad normally is not wrapped. This means that long lines of text will run beyond the right side of the Notepad window. In order to cause the text to wrap to the size of the window, click onWord Wrapon theEditmenu. Note that this has no effect on the way the text will be printed. [or sent in WinPack]Selecting and Editing TextYou select and edit text in Notepad the same way you select and edit text in many other Windows applications.To enter text, you place the insertion point wherever you want to add text and begin typing.To delete characters, pressBackspace(to delete characters to the left) orDelete(to delete characters to the right).When you need to work with larger blocks of text, such as words, sentences, or paragraphs, you can use your mouse to select the text using one of the techniques listed below:SelectionAction

One wordDouble-click the word.

Several wordsDouble-click the first word and drag to the end of the last word.

Any amount of textHold down the mouse button and drag from the beginning to the end of the text.

Between two pointsMove the insertion point to the beginning, click, move to the second point, press and hold down Shift, and click at the second point.

To select text with the keyboard, position the insertion point at the beginning of the text you want to select, hold down theShiftkey, and move the insertion point to the end of the text using the arrow keys. To move the selection a word at a time, hold down theShiftandCtrlkeys as you press the arrow keys. You can select all the way to the end of a line by pressing theShiftandEndkeys.After you have selected a block of text, you can delete it using theDeleteorBackspacekeys. To move or copy the selected text, use theEdit-->CutorEdit-->Copykeys, as described inMoving and Copying Text.If you start typing when text is selected, the selected text is replaced with whatever you type. This can be both a blessing and a curse.Moving and Copying TextYou can move or copy text using either the menu commands or the mouse. To move or copy text with the menu commands, follow these steps: Select the text you want to move or copy using one of the techniques described above. ChooseEdit-->Cut, or pressCtrl+X.orChooseEdit-->Copy, or pressCtrl+C. Position the insertion point where you want to move or copy the text. ChooseEdit--> Pasteor pressCtrl+V.While other editing programs permit you to edit by selecting and dragging with the mouse, you can't do that with Notepad.You can also copy text to and from a Notepad document from or into documents in many other applications. [For example, you can copy text from WinPack into a Notepad document, although not the other way.] To simplify this operation, place the two application windows side by side before you move or copy the text. Alternatly, keep Notepad minimized until you are ready to use it, and then find it on the Taskbar. For example, if you use Notepad in conjunction with a browser, you can minimize Notepad to the task bar, highlight and copy what you want in the browser, click on Notepad on the taskbar and paste the text into it.Another method for switching between applications is to use theALT+Tabkeyboard shortcut. Using the keyboard only, select text in WinPack, pressCtrl+Cto copy it, pressAlt+Tabto switch to Notepad, pressCtrl-Vto paste the text into the Notepad file.Finding and Replacing TextNotepad has a Find command but unfortunately does not have a Replace command. The Find command enables you to find a character or string of text, and if you want, to replace the found text with new text.To find a string of text, follow these steps: ChooseSearch--> Find. The Find dialog box appears. In theFind Whattext box, type the text string you want to find. (Optional) Select the Match Case option to find text that has the same case structure as the text you typed in the Find What text box. (Optional) Find normally searches from the current Insertion Point location to the end of the file. If you want to search from the Insertion Point to the beginning of the file, select Up in the Direction box. ClickFind Nextto find and select the first occurrence of the text. ChooseFind Nextagain to select the next occurrence of the text. When you find the text you're looking for, clickCancelor pressEscto exit the Find dialog box.Even after you close the Find dialog box, you can repeat the last find operation by choosingSearch--> Find Nextor by pressingF3.To find and replace a text string, follow these steps: Follow the steps as above for finding the text you want to replace. When you get to the text you want to replace in the file, clickCancelor pressESCto exit the Find dialog box. Type the text you want to insert.(Remember that when text is selected, whatever you type instantly replaces it.) ChooseFind Nextor pressF3to locate the next occurrence of the text you typed in the Find What text box. Type the correct text.If you don't want to replace this text with the new text, clickFind Nextagain to locate the next occurrence of the text.

Finishing Your Editing Session.When you are finished editing the file, and periodically during your editing session, you should save your work back to disk.If the file is new and hasn't been previously saved, you must clickFileon the Notepad menu bar, and thenSave As. When the associated dialog box opens, select a location using theSave intext box, enter a name for the file in theFile namebox, and click theSavebutton.If the file has previously been saved, so that it has a name and a saved location, you clickFile-->Save.Some Other Things To Remember About NotepadNotepad can open binary files. Although most of what you see when you open a binary file is unreadable, you can sometimes find helpful information in the header of the binary file. This is a good reason to keep Notepad on your computer, even if you have a word processor is more suitable for most tasks.Notepad is limited in the size of files it can edit. If you try to edit a file that is too large, Windows will inform you that the file is too large and ask if you would rather use WordPad.

ER DIAGRAM User

SOFTWARE SYSTEM ATTRIBUTES

Reliability

The proposed system is very much reliable. It is designed to prevent any kind of crashes or error occurring during voting.

Availability

The administrator will control the availability of the E-voting system. There will be adesignated time period each day where the voting will be allowed to take place.

Security

Firewall

A firewall will be present within our E-Voting application. The purpose of the firewall is to protect against malicious packets from being sent to the server that may cause a denial of service. Any denial of service will prevent the voting process from moving forward.

Unique ID and Confirmation Number

The unique id and confirmation number are both vital elements of the verification process. The process by which a unique id number is assigned to each voter must be kept secret to the public so that numbers cannot be fabricated and used to harm the integrity of the election. The confirmation number calculator will use a function to produce the number based on the input information of the candidates voted for, time, and voters unique id. This function must also be kept from the public so that receipts cannot be altered and the paper trail verification can operate smoothly.

Maintainability

The maintenance of the E-voting system will be handled by the SA, though the systemdevelopment team should be available to assist with any serious issues.

Portability

The system is independent of the machine. It runs on server so the user can access it through any system.6.1 Snapshots

Fig 6.1.1 User Interface

User can interact with NOTEPAD application using this graphical user Interface.

Fig 6.1.2 File Menu

User can create new file, open, save and exit using this menu.

Fig 6.1.3 Edit Menu

User can cut, copy, paste, select part of document using this menu.

Fig 6.1.4 Format Menu

User can change font color, background of text file.

6.1.5 Help Menu

It provides details about NOTEPAD application.

Fig 6.1.6 saves Dialogue BoxThis dialogue box is used to save text documents.

Fig 6.1.7 Open Dialogue BoxThis dialogue box is used to open text files.

Fig 6.1.8 Format dialogue boxThis dialogue box is used to change the format of text.

Fig 6.1.9 Color Dialogue BoxThis dialogue box is used to change the color of text and background.

Chapter 7

Result and Discussion

The project NOTEPAD is used for editing text file. Notepad is a generic text editor included with Microsoft Windows that enables someone to open and read plaintext files. If the file contains special formatting or is not a plaintext file, it will not be able to be read in Microsoft Notepad. In the image to the right, is a small example of what the Microsoft Notepad may look like while running.

Notepad offers only the most basic text manipulation functions, such as finding text. Only newer versions of Windows include an updated version of Notepad with a search and replace function. However it has much less functionality in comparison to full-scale editors.

Notepad also has a simple built-in logging function. Each time a file that starts with .LOG is opened, the program inserts a text timestamp on the last line of the file.

Chapter 8

Conclusion and recommendation for further studies.

Notepad is a simple text editor. Just as you use a notepad on your desk, you can use Notepad to take notes onscreen while working in other Windows applications. There are better text editors. One of my favorite Windows text editors is TextPad (http://www.textpad.com/). However, Notepad is simple, uses little memory and is useful for editing text you want to copy into a Windows or DOS application that lacks editing capability.[WinPack does have a built-in editor, but Notepad is perhaps more versitile.]Notepad retrieves and saves files in text format. This makes Notepad a convenient editor for creating and altering text-based files. Because Notepad stores files in text format, almost all word processing applications can retrieve Notepad's files. However, if you want the capability of formatting your documents, you'll need a true word processor.

References

S.No.Document Title/BookSource/Author

1..NET Overviewhttp://msdn.microsoft.com

2C# Overviewhttp://www.c-sharpcorner.com/

3Project https://www.1000projects.com

4Software EngineeringRoger S. Pressman