article

Creating a comfortable ToDo list in "Visual C++" using "Visual C++" macros (Not an add-in).

Email
Submitted on: 1/1/2015 8:04:00 PM
By: Vitaly (from psc cd)  
Level: Beginner
User Rating: By 5 Users
Compatibility: Microsoft Visual C++
Views: 2388
 
     Using this tutorial you will be able to create a ToDo file wich writes the dates and marks the done tasks. All this using macros.


 
				First of all about the picture.
What you have used to see as Breakpoint, means in this task list a ToDo task. The first date is the date you added the Task to ToDo, the second date is when you finished the task.

Before we start you have to choose your Todo file. Just create an empty text file, in the program I will refer to it as [filename], remember to replace it with your file name. The path to the file will appear as [path] in the tutorial and so you have to replace it as well with your path.
An example to [filename] is: Todo.txt
An example to [path] is: C:\Todo.txt

Lets start with the real thing now.
Go to your macro file (.dsm) and add the following sub to it:

Sub OpenTodoList()
'DESCRIPTION: Opens the todo.
Documents.Open "[path]", "Text"
End Sub
Remember to replace the path with the path to your text file just like in the example

When you run it, the macro will open the text file which you will be using as your ToDo file.
If you wish create now a button on the toolbar of "Visual C++" that will run this macro.

Now lets go for the second macro, again go to the macro file and add the following Sub to it:

Sub WriteDate()
'DESCRIPTION: Writes the date, duh.
ShortName=ActiveDocument.Name
If ShortName="[filename]" Then
 Line = ActiveDocument.Selection.CurrentLine
 Column = ActiveDocument.Selection.CurrentColumn
 'Finding the bottom
 ActiveDocument.Selection.SelectAll
 Bottom = ActiveDocument.Selection.BottomLine
 ActiveDocument.Selection.GoToLine Line
 'Find the place for the date
 Do
 ActiveDocument.Selection.LineDown
 ActiveDocument.Selection.StartOfLine
 ActiveDocument.Selection.CharRight dsExtend
 Loop Until ActiveDocument.Selection = "*"
 ActiveDocument.Selection.LineUp
 ActiveDocument.Selection.EndOfLine
 ActiveDocument.Selection = " (" & CStr(Date) & ")"
 'Find the place to do the BreakPoint
 ActiveDocument.Selection.LineDown
 Do
 ActiveDocument.Selection.LineUp
 ActiveDocument.Selection.StartOfLine
 ActiveDocument.Selection.CharRight dsExtend
 Loop Until ActiveDocument.Selection = "*"
 ExecuteCommand "DebugToggleBreakpoint"
 'Moving back
 ActiveDocument.Selection.GoToLine Line
 ActiveDocument.Selection.CharRight dsMove, Column
Else
 ExecuteCommand "DebugToggleBreakpoint"
End If
Remember to replace the path with the path to your text file just like in the example

This is the important macro of the program, it will simulate regular Breakpoint for your programs, however, for your ToDo file it will work in a special way.
To continue go to Visual C++ costumize and assign the key F9 to that macro (WriteDate in this tutorial). Now you try to use F9 in your programs and you'll see that it works as usual (just to make sure).
The format of the tasks in the ToDo file has to be in a specific format if you want it to work as planned:
- Every task has to start with the '*' character.
- Tasks can be longer then one line, the '*' character says when a new task begins.
- There should be no space lines between tasks (As on the picture).
- The last line of the macro should be any line that begins with '*'. In my picture it is: "*************** END OF TASKS *************".

After you write your task, mark it as ToDo by having the marker anywhere on the task and pressing F9. The Task will be marked with the Breakpoint mark and the starting date will appear in the end of the task.
When you finish the task move the marker to there and press F9 again. The Breakpoint mark will be removed and the ending date will be added to the end of the task.

TIP: You might want to cause the finished mark to disappear instead.


I hope that you found this tutorial helping and if you did then please vote for it. Thanks.


Other 2 submission(s) by this author

 


Report Bad Submission
Use this form to tell us if this entry should be deleted (i.e contains no code, is a virus, etc.).
This submission should be removed because:

Your Vote

What do you think of this article (in the Beginner category)?
(The article with your highest vote will win this month's coding contest!)
Excellent  Good  Average  Below Average  Poor (See voting log ...)
 

Other User Comments


 There are no comments on this submission.
 

Add Your Feedback
Your feedback will be posted below and an email sent to the author. Please remember that the author was kind enough to share this with you, so any criticisms must be stated politely, or they will be deleted. (For feedback not related to this particular article, please click here instead.)
 

To post feedback, first please login.