Tag Archive for 'Easy'

Page 2 of 2

Simple C++ List Class

Just as I published some days ago the Simple C++ String Class as a C++ learning exercise, now I am freeing a Simple C++ List Class.

The standard library has a list class. But, while learning, it’s a good idea to know how to develop your own list class.

That’s why I made the List class. It’s not intended for professional projects (for them, you should use the standard library’s list), but as help to learn C++.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
template <class TYPE>
class List
{
    /* ... */
 
public:
    //Construction and destruction
    List() { /* ... */ }
    ~List() { /* ... */ }
     
    List(const List& rlList) { /* ... */ }
     
    //Assignment operator
    List& operator=(const List& rlList);
 
    //Information
    int Length() { /* ... */ }
    bool Empty() { /* ... */ }
 
    //Element managing
    int Add(TYPE& rtData);
    TYPE* Elem(int nPos);
    bool Delete(int nPos);
    void DeleteAll();
     
    //Search
    int Find(TYPE& rItem, int nStartAt = 0);
 
    //Operadores
    TYPE& operator[](int nPos) { /* ... */ }    //Elem
    int operator<<(TYPE& rdData) { /* ... */ }    //Add
 
protected:
    void FreeList();
    void Init() { /* ... */ }
};
 
//Output
template <class TYPE>
std::ostream& operator<<(std::ostream& oStream, List<TYPE>& rlList);

Keep reading…

Incoming search terms for the article:

3D Pinball for Windows (Space Cadet) Cracker – How To Modify High Scores

Everybody knows the Pinball game that appeared with Windows 95 Plus!… It’s still in current Windows versions…

Pinball_Cracker_Game

Although it may seem incredible, there are still some fanatics of this game…

I’ve made this program in 1999 (some time ago 8-)) to let you modify the High Scores so you could make those fanatics believe you had beaten them…

Pinball_Cracker_Game_High_Scores

(You should be a little more subtle than me)

Keep reading…

Incoming search terms for the article:

Office Document Property Resetter

This is a tool I’ve made two years ago to solve a problem a friend of mine had. He had at his work a bunch of Word and Excel files created in different computers and wanted to cleanup their properties so they didn’t show the configured Author/Title/Subject/etc. tags.

Office_Document_Property_Resetter_DOC_Prop_1

This would have been a simple problem to solve if there were a few files… They could be cleaned up manually…

Office_Document_Property_Resetter_Word_Menu

Office_Document_Property_Resetter_Word_Prop_1

But there were lots of them!

So… I made this tool :)

Office_Document_Property_Resetter_Main

Keep reading…

Incoming search terms for the article:

Simple C++ String Class

Every C++ programmer knows that the standard library has a string class. But, while learning, it’s a good idea to know how to develop your own string class.

That’s why I made the String class. It’s not intended for professional projects (for them, you should use the standard library’s string), but as help to learn C++.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
class String
{
    char *m_pszString;  //Allocated buffer
    int m_nAllocated;   //Allocated length
 
public:
    //Construction and destruction
    String() { /* ... */ }
    ~String() { /* ... */ }
 
    //Copy constructors
    String(const char *pszString) { /* ... */ }
    String(const String& rsString) { /* ... */ }
 
    //Operators (assignment)
    String& operator=(const char *pszString);
    String& operator=(const String& rsString) { /* ... */ }
 
    //Operators (concatenation)
    String& operator+=(const char *pszString);
    String& operator+=(String& rsString) { /* ... */ }
    String operator+(String rsString);
 
    //Operators (comparison)
    bool operator<(String sString) { /* ... */ }
    bool operator<=(String sString) { /* ... */ }
 
    bool operator>(String sString) { /* ... */ }
    bool operator>=(String sString) { /* ... */ }
 
    bool operator==(String sString) { /* ... */ }
    bool operator!=(String sString) { /* ... */ }
 
    //Operations
    void Clear();
    String Lower() { /* ... */ }
    String Upper() { /* ... */ }
 
    //Information
    int Length() { /* ... */ }
 
    //Cast operators
    operator const char*() { /* ... */ }
 
protected//Helper functions
    /* ... */
};
 
//Output e input
std::ostream& operator<<(std::ostream& oStream, String& rsString);
std::istream& operator>>(std::istream& iStream, String& rsString);

Keep reading…

Incoming search terms for the article:

cppMemDbg – Easy to use C++ memory leak detection library

This library is the C++ sequel to the cMemDbg.

Just as the cMemDbg, it is a very easy to use library which can help you to detect and track memory leaks.

Its usage is very similar to the cMemDbg, but with support for the C++ operators (new, new[], delete and delete[]).

There are lots of solutions for this on the net, but this one has the particularity of being really simple to implement.

>new  003D26D8  36  [Main.cpp:127]
>new  003D2708  36  [Main.cpp:128]
>ERROR  Bad free type  free => delete  003D2708  36
(Main.cpp:128)
>free  003D2708  36  (Main.cpp:128)  [Main.cpp:129]
>free  003D2708  0    [Main.cpp:130]
>ERROR  Trying to free unallocated memory: 003D2708
[Main.cpp:130]
>delete[]  003D3EB0  7  (String.cpp:59)  [String.h:41]
[...]
>delete[]  003D24F0  4  (String.cpp:59)  [String.h:41]
>delete  003D2490  40  (Lista.h:120)  [Lista.h:112]
>INFO  PROBLEM: Memory leak found (36 bytes)
>INFO  Unfreed block  003D26D8  36    [Main.cpp:127]

Keep reading…

Incoming search terms for the article:

Celsius to Fahrenheit

If you just want to convert temperatures by using a website, you should visit the online celsius to fahrenheit conversion tool. Otherwise, keep reading…

This is a very tiny and simple application I’ve written to teach the basic usage of wxWidgets as an introduction to GUI (Graphical User Interfaces).

Its purpose is just what it’s name says: converting from celsius degrees to fahrenheit degrees (and sideways).

CelsiusAFahrenheit

Keep reading…

Incoming search terms for the article:

UpTime (How much time has the computer been powered on)

With this tiny tool, you can know how much time has the computer been powered on…

UpTime

GNU GPL v3 UpTime is licensed under the GNU GPL v3 (attached)…

As usual, here are the links…

For the ones who want to easily read the relevant code:

Incoming search terms for the article:

cMemDbg – Easy to use C memory leak detection library

After some time working with C, I decided to develop a very easy to use library which can help you to detect and track memory leaks.

There are lots of solutions for this on the net, but this one has the particularity of being really simple to implement.

Keep reading…

Incoming search terms for the article: