Console application on C++ which enables writing, editing, loading, reading from txt.
- Append - appends to the end of the file
- Newline - starts a newline at current cursor position
- Save to a txt file
- Load from a txt file
- Print current text to the screen
- Insert substring at current cursor position
- Insert & Replace at current cursor position
- Search for a substring and output where it occurs
- Set Cursor Position - sets cursor at specified row column
- Delete specified number of symbols from current cursor position
- Cut/Copy/Paste (if buffer is empty it pastes an empty str)
- Cipher txt enables you to Encrypt/Decrypt an existing
.txt
Buffer.h
features the functionality of buffer which powers the program, it is dependent onCursor
inner class andCommon.h
.Cursor
simple class for managing an object which hassize_t
Row
andColumn
fields.Common.h
is a header file with functions which are not clasified to direct functionality, but still important.TextEditor.h
is a header which features theTextEditor
class the main idea of which is to encapsulate the process of handling the user input calling corresponding functions fromBuffer.h
,CaesarCipher.h
, etc.CaesarCipher.h
is a header file which has a clss which is responsible for Encrypting and Decrypting logic by cominicating withCaesarDLL
.Source.cpp
is a main file, it gets the command from user, and passes on the execution to headers files.CaesarDLL
is a DLL project which has the Encryption functions.
![Main Menu](https://private-user-images.githubusercontent.com/108483440/344461313-f1948ae3-c994-41d8-aac7-ebc17bc280de.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA0NjE5MTQsIm5iZiI6MTcyMDQ2MTYxNCwicGF0aCI6Ii8xMDg0ODM0NDAvMzQ0NDYxMzEzLWYxOTQ4YWUzLWM5OTQtNDFkOC1hYWM3LWViYzE3YmMyODBkZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzA4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcwOFQxODAwMTRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04NDY4MmUzMmQxYjdiZGIzM2FlZWVjZTNhMTdkMmMzNDg5NzI5OGUzZGM2NTkzZDZhY2VjNDU0NDEzNmNiZWNkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.RuznvCbm4h3Ui2sc3QKPjV3-5lmS9ROGyjhsky3hV0E)
![Cursor demonstrating](https://private-user-images.githubusercontent.com/108483440/344461328-f6574fe7-d375-4508-b565-1cde306ffc85.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA0NjE5MTQsIm5iZiI6MTcyMDQ2MTYxNCwicGF0aCI6Ii8xMDg0ODM0NDAvMzQ0NDYxMzI4LWY2NTc0ZmU3LWQzNzUtNDUwOC1iNTY1LTFjZGUzMDZmZmM4NS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzA4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcwOFQxODAwMTRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00NTViN2ZiNzgyZWFiMmNkMzliZTFmMWJjZTYzYWVjNGMzMTMxZTU2YjY4YjE2MTg2MzVhZTFlMTdhYzIyNjQyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.Arr76dP6Vy_sY2qdhp7ebqDkXRzAMXXX-eMlhYxwrOg)
This project is a part of a course on Programming Paradigms at Kyiv School of Economics