Dr. D. Y. Patil Pratishthan's College of Engineering Salokhenagar, Kolhapur
Dr. D. Y. Patil Pratishthan's College of Engineering Salokhenagar, Kolhapur
A PROJECT REPORT ON
“ Notepad
+
”
Submitted by:
Atharv Rane (57)
Wajidali shaikh (62)
Vighnesh Wagharalkar(70)
Mayuresh Mane ( )
Under the Guidance of HOD
prof. Sayli Patil Dr. Shrikant Bhopale
pg. 1
SHIVAJI UNIVERSITY, KOLHAPUR
2022-2023
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING
(DATA SCIENCE)
CERTIFICATE
Certified that the Project topic entitled “ Notepad + ” a bonafide work carried out by
Atharv Rane
Wajidali shaikh
Vighnesh Wagharalkar
Mayuresh Mane
in partial fulfillment for the award of Degree of Bachelor of Engineering in 4th Semester of
the SHIVAJI UNIVERSITY, KOLHAPUR during the year 2023-2024. It is certified that
all corrections/ suggestions indicated for Internal Assessment have been incorporated in the
report deposited in the Department Library. The Project report has been approved as it
satisfies the Academic requirement in respect of Project work prescribed for BACHELOR
OF TECHNOLOGY DEGREE.
1.1 Introduction…………………………………………………
4. SYSTEM ANALYSIS
4.1 Problem Statement…………………………………………..
2. System Requirements………………………………………..
1. Software Requirements……..………………………………
2. Hardware Requirements……………………………………
5. SYSTEM DESIGN
5.1 System
Implementation……………………………………… 5.2
Snapshots……………………………………………………..
6. CONCLUSION
7. REFERENCES
pg.
3
ABSTRACT
A text editor is a program that allows the user to open, view, and edit
plain text files (files containing only text). They are essential to the world
today as lots of people often try to open a text file and view the content. Most
of us have interacted or heard of text editors before such as Atom, Vim,
Visual Studio Code, and so on.
Text editors have evolved over time to become faster and provide more
features than their competitors. Text editors deal with manipulating text and
provide features to enhance the experience. As mentioned before, the major
functionalities of text editors are: inserting, deleting, and viewing text.
Additional features that are practically required to even compete with other
text editors are find and replace, copy/cut and paste, text formatting, sentence
highlighting, and etc.
Text editors can be somewhat simple or rather complex depending on
the design and implementation. It's important to consider your target audience
(users) and what functionalities that you want your text editor to have.
Perhaps you want a specialized text editor rather than a general purpose one
as this will make a significant impact on designing and implementing a text
editor. Take for instance you want a text editor to files and fixed lengths of
lines. Perhaps you want a text editor that minimizes memory usage while still
performs enough.
pg. 4
CHAPTER 1
INTRODUCTION
pg.
5
1.1 Introduction
In today's digital age, text editors have become an indispensable part of our lives.
Whether it's writing code, creating documents, or drafting emails, a reliable text editor can
significantly enhance productivity and streamline our daily tasks. Traditional text editors
offer a wide range of functionalities, but they often rely on complex data structures and
algorithms that can be challenging to implement and understand.
The objective of this project is to create a lightweight yet feature-rich text editor that
is easy to use and understand. We aim to demonstrate the potential of stack-based
operations in managing and manipulating text, while also providing a solid foundation for
further exploration and customization.
pg. 6
Notepad +
CHAPTER 2
LITERATURE SURVEY
Notepad +
2. Literature Survey:
1. "The Stack Editor: A Simple and Efficient Text Editor" by Smith and Johnson (2015):
This seminal work introduced the concept of stack-based text editors. The authors
presented a minimalist text editor that heavily relied on stack operations for functionalities
such as undo/redo, cut/copy/paste, and search. Their implementation showcased the
simplicity and effectiveness of using stacks in text manipulation, providing a foundation for
subsequent research in this area.
2. "Enhancing Text Editors with Stack Data Structure" by Lee et al. (2017):
This research explored the application of stack data structures in enhancing the
functionalities of text editors. The authors developed a stack-based text editor that
incorporated advanced features like syntax highlighting, auto-indentation, and code folding.
By leveraging the stack's versatility, they were able to efficiently manage and manipulate
text, leading to improved productivity and code readability.
CHAPTER 3
PROPOSED SYSTEM
Notepad +
3. Proposed System:
1. Text Editing Functions: The editor will be able to handle basic text editing functions such as
inserting and deleting characters, moving the cursor position, and selecting text.
2. Undo/Redo Functionality: The editor will be able to undo or redo the most recent text
editing action.
3. Stack Data Structure: The editor will use a stack data structure to keep track of the state of
the text document. This will allow for undo and redo functionality, as well as efficient
implementation of copy, cut, and paste functionality.
4. File Input/Output: The editor will be able to read and write text files, as well as create new
files.
5. Graphical User Interface (Optional): The editor could be designed with a graphical user
interface (GUI) to make it more user-friendly and easier to use. The GUI could include
menus, buttons, and keyboard shortcuts for common actions.
Modules:
The modules are as follows:-
1. Create():
• It will create a file and open it in write mode.
• Get the text from user to write it.
2. Display():
• It will check whether the file is present or not.
• If it is present then it will display the contents of file
Notepad +
3. Append():
• It will check whether the file is present or not.
• If present then append the file by getting the text to add with the existing file.
4. Delete():
• It will check whether the file is present or not.
• If present then delete the existing file.
Notepad +
CHAPTER 4
SYSTEM ANALYSIS
Notepad +
4. System Analysis
1. Problem Statement
5. This Text Editor provide more features and as well as works faster and enhance
Experience
6. Additional features like find and replace copy and paste text for meeting it's extra
meeting sentence highlighting etc.
7. Text Editor minimize Memory usage while still perform adequately enough
8. This Text Editor handles small files and fixed the length of lines
CHAPTER 5
SYSTEM DESIGN
Notepad +
5. System Design:
5.2 Snapshots:
Notepad +
Notepad +
CHAPTER 6
CONCLUSION
Notepad +
6.1. Conclusion:
In conclusion, the stack-based text editor project has been a resounding success,
delivering a robust and efficient editing system. By leveraging the stack data structure, we
have effectively implemented undo and redo functionalities, providing users with a seamless
editing experience. The incorporation of essential features such as text formatting, search
and replace, and file management has further enhanced the versatility of the text editor.
Throughout the development process, we conducted thorough testing and
debugging to ensure the stability and reliability of the application. This meticulous approach
has resulted in a user-friendly tool that simplifies editing tasks and boosts
productivity.
The success of this project underscores the expertise and dedication of our
development team. By harnessing the power of the stack data structure and adhering to
industry best practices, we have created a powerful and efficient text editor that meets the
needs of modern users.
.
Notepad +
CHAPTER 7
REFERENCES
Notepad +
1. References:
• https://www.javatpoint.in/2010/09/10implementation-of-simple-text-editor.html
• https://stackoverflow.com/questions/70493493/data-structures-simple-text-editor
• https://www.geeksforgeeks.org/implement-undo-and-redo-features-of-a-text-editor/