Click here to Skip to main content
15,849,829 members
Articles / Desktop Programming / MFC

Codez Bank: A Code Snippet Bank Application

Rate me:
Please Sign up or sign in to vote.
4.88/5 (56 votes)
22 Aug 2022CPOL3 min read 103.1K   3.5K   119   45
An application that stores and manages useful code snippets and keeps them always handy
This article is about a small application that keeps code snippets organized and handy, even when you are offline or in a remote location without connectivity.

codez_bank/codezbankfolders.png

Folders view

codez_bank/codezbankcode.png

Snippet view

Image 3

Black Office Skin with new skinned CListView

Image 4

Office 2003 skin with skinned splitter

Introduction

CodezBank is just a small application that stores source code snippets organized in a hierarchical manner with basic search ability. You just copy and paste the code snippet into or from this application via the Clipboard. If you have a bag of coding tricks, then you want to keep them in this app.

Background

Every time I work on some project, I always find myself digging through books and my old files to see how I did one or another piece of code. Although it works, it usually requires a lot of time. Sites like CodeProject keep code always available, but if I am offline or in a remote location without connectivity, then I have always wanted a small application that keeps the code snippets organized and handy.

Features

  • Added sorting arrows to columns:

    Image 5

  • Created options property pages to load last file on startup:

    Image 6

  • Created text editor configuration property page instead of using the hardcoded values:

    Image 7

  • Fonts and colors are now configurable:

    Image 8

Points of Interest

This application is a medium to advanced MFC project that covers advanced usage of libraries provided by Microsoft.

  • Storing data in a binary tree
  • SDI Explorer like interface with multiple views in the right pane (Color syntax and List view)
  • Colored syntax editor
  • Tree drag drop that rearranges the data in the binary tree
  • Usage of Regular Expressions provided by the vbscript.dll #import. Replaced with std::regex classes

History

Version 1.0.0.1 - 7th April, 2008

  • Initial code

Version 1.0.0.2 - 22nd April, 2008

  • Fixed undo bug in the code editor. Thanks to ndrsoft for pointing out a solution.

1.0.0.3 - 30th June, 2008

  • Added more C++/C keywords as was suggested by the readers
  • Changed tool bar to have a 256 color bitmap instead of 16 color
  • Added documentation panel to the Source view. You can put all the explanation down there instead of comments so the code looks cleaner for the eye. I found it useful to paste there the whole MSDN or other documentation page(s) and links. Then, you will have the whole shebang in one tree node.
  • Moved to GitHub
  • Upgraded the solution file to Visual Studio 2022

13th August, 2022

  • Updated the project to include 64 bit build
  • Changed main windows to incorporate latest MFC skin styles
  • Cleaned up some old junk code

22nd August, 2022

  • Added option to automatically load last file on startup
  • Removed VBScript regular expressions and replaced it with std::regex classes
  • Moved syntax parser into the separate class
  • Added configuration property sheets to replace hardcoded values

Bugs

  • Syntax editor very limited as far as undo actions. (I am figuring this out. If anyone knows how to fix that, drop me a note) So do not Ctrl+Z, it won't work. Fixed.
  • Syntax editor currently highlights a subset of C and C++ keywords. I will add VB and C# later.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Architect Robotz Software
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
Generalbug: undo Pin
ndrsoft19-Apr-08 21:43
ndrsoft19-Apr-08 21:43 
GeneralRe: bug: undo Pin
steveb21-Apr-08 8:00
mvesteveb21-Apr-08 8:00 
QuestionThe application is failed to run on my PC Pin
Bogomolny.Vladislav15-Apr-08 2:38
Bogomolny.Vladislav15-Apr-08 2:38 
GeneralRe: The application is failed to run on my PC Pin
steveb15-Apr-08 4:33
mvesteveb15-Apr-08 4:33 
GeneralGreat Idea Pin
aviy115-Apr-08 0:28
aviy115-Apr-08 0:28 
GeneralRe: Great Idea Pin
steveb15-Apr-08 2:39
mvesteveb15-Apr-08 2:39 
GeneralNice Simple Tool Pin
JeffBilkey14-Apr-08 19:04
JeffBilkey14-Apr-08 19:04 
GeneralRe: Nice Simple Tool Pin
steveb15-Apr-08 2:37
mvesteveb15-Apr-08 2:37 
I will definitely enhance the application with all the requests posted. I use it myself every day and franlkly it saves me ton of time.

Currently I 've got a project deadline end of april and after that I'll update the CodezBank.

I will add import/export in XML format. And fix the editor as it is super plain right now.
I was thinking making this app as an addin to the VisualStudio environment also.
GeneralRe: Nice Simple Tool Pin
JeffBilkey15-Apr-08 12:25
JeffBilkey15-Apr-08 12:25 
GeneralGreat Idea! Pin
G A McHale7-Apr-08 20:18
G A McHale7-Apr-08 20:18 
GeneralNice Tool Pin
Saurabh.Garg7-Apr-08 19:26
Saurabh.Garg7-Apr-08 19:26 
GeneralGood Application Pin
sean_zh7-Apr-08 18:27
sean_zh7-Apr-08 18:27 
GeneralRe: Good Application Pin
steveb8-Apr-08 1:52
mvesteveb8-Apr-08 1:52 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.