Hi everyone,

I'm new here and I have been reading some books for a while on C++ software Development. I have a good idea of what I wan't to program at the present point in time, so I thought I would post a road map of what I'm going to do and hopefully some of you may become interested enough to see how my learning goes that you will continue to come back to my thread to check on updates :)

Anyway, so behind any program there is generally a story or a reason. My story goes a little like this. I work for a small Telco in my country as a technical support representative. We weren't trained very well and a lot of the newer people are struggling. Especially people that they higher on traineeships (working in your field of study whilst you study)as they don't know a lot of stuff. So my main goal is to create a program that I can distribute to my colleges and eventually maybe I'll get a pay rise haha!

I have lots of ideas that could help me out and lots of other people out. So without further adue ill get on with my road map, ideas and questions. Please keep in mind I'm new :P so my questions to start off with will be quite basic and as I learn I will ask lots of other questions. :)

In advance I really appreciate the help that anyone and everyone gives me and I hope to become an active member of the community not just in asking questions but providing help to those who are in my current position :)


Questions

I'm currently using Microsoft Visual C++ 2010 Express edition to create my application in, should I be using something else?


I'm looking at creating my program in C++/CLI, windows form. Should I consider doing it another way?

If i do continue doing it in C++/CLI, windows form. How do i link a button push to open a new window and also how do i close the window without closing the entire program?

How do I make a splash screen like you see in adobe photoshop when its loading all its stuff?

Ideas

After a few releases I would like to do the following to try and expand on the application.


Line test analyser:
When lodging a fault for a customer we have to do a line test, I really don't know what have the stuff means in the test off the top of my head other then if the line is between 2,000,000Ohms and 10,000,000Ohms its ok, any less its not good haha.

I would like to be able to paste one of these line tests in to a large text box and have a button that will analyse the results and give you some issues where it could be and such.


Remote updating:
Instead of having to distribute a patch via email, I would like for the application on start up to check for updates from a server. If there is an update there it will automaticly download it and update the software.

User System:
I would like everyone to be able to have a username and password to login under for the purpose of another idea which will be stated below.

If possible there will be an online users function.


User Groups:
Basicly 2 user groups, Employee and Manager. Reason for this will be stated below as well.

User Wide Message/User Message:
In the "Manger" group they will be able to distribute a system wide message or individual user message. It will pop up as a notification box on there screen, there will be no reply button only an "OK" button.

Im still in debating about making it replyable.

Lunch System:
At work we have a lot of difficulty with lunch, lol. So, in the lunch system you can/could mark your self at lunch or some form of break such as a quick 10min or a toilet break.

If you would like to go to lunch you could request lunch and a system notifcation will be sent to the manager and it will pop up in the right hand corner say "Merex has requested to go to lunch at [Time]. Please confirm."


Information Database:
Just general setup information for things such as email etc. I would like this to be hooked into the server client so that i can update it at will.


--------------------------------


I will be updating my ideas as they come in but so far thats about it. I'll keep you all updated on how it goes and will post screen shots and what not. Any and all help is appreciated, thanks all!

Sorry the post was so long, but had to get it all out haha!


Kind regards,

Merex

>>I'm currently using Microsoft Visual C++ 2010 Express edition to create my application in, should I be using something else?

Depends on the application. C++/CLI, C#, or VB.NET may be better languages especially if there are lots of windows and other visual objects.

>>I'm currently using Microsoft Visual C++ 2010 Express edition to create my application in, should I be using something else?
This is very very basic questions. You need to either read some tutorials or a good intro to C++/CLI book. Learn the language before jumping right into your application program.

>>I'm currently using Microsoft Visual C++ 2010 Express edition to create my application in, should I be using something else?
This is very very basic questions. You need to either read some tutorials or a good intro to C++/CLI book. Learn the language before jumping right into your application program.

Thank you for your reply. Yeh, probs should have thought about that question a little better. Just wanted to know what my other options where. And I'm reading a book but its quite outdated but thats all i have access to at the moment, so ill try my best. Ill see if i can't find some better reading material as well. Thanks :)

Depends on the application. C++/CLI, C#, or VB.NET may be better languages especially if there are lots of windows and other visual objects.

There will be a lot of windows and lots of visual features in cluded in it, so to save my self time I was thinking of using C++/CLI, but was curious as if this particular way of doing it could hinder the program?


Also, would you happen to know how to make a window open when i press a button. I have created two forms, Form1 and Form2.

This is what i have done to try and make the button work, but... I keep getting errors when compiling.

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
				 From2().ShowDialog();
			 }

Errors:

1>c:\users\Owner\documents\visual studio 2010\projects\formtest\formtest\Form1.h(82): error C2228: left of '.ShowDialog' must have class/struct/union
1>          type is ''unknown-type''
1>c:\users\Owner\documents\visual studio 2010\projects\formtest\formtest\Form1.h(82): error C3861: 'From2': identifier not found <- I assume i have to delcare form two some where but i can't figure out where

Any suggestions? :)


Thanks for your help.

You have to create an object of type Form2 before calling ShowDialog() -- can't be done all in one statement like that.

...
// somewhere in protected section of Form1
Form2^ f2;

....
...
...
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
     f2 = gnew Form2;
     f2->ShowDialog();
 }

Hi Ancient Dragon,

Once again thank you for your response. I have had a look at your code you pasted to me and im having a bit of difficutly find where to put the "Form2^ f2;"

Within the Header of Form1 i have found two tiltes named "Protected:"

This is what i did:

private: System::Windows::Forms::Button^  button1;
	protected: 
		Form2^ f2;

and

protected:
		/// <summary>
		/// Clean up any resources being used.
		/// </summary>
		I put it here
		~Form1()
		{
			And i put it here
			if (components)
			{
				delete components;
			}
		}

I also just tried it in the main .cpp file located under the Source Files. Still getting a lot of errors.

Thank you for your help :)


Merex

Example of Form1.h (see the red lines for my code)

#pragma once
#include "Form2.h"
namespace MyProject {

	using namespace System;
	using namespace System::ComponentModel;
	using namespace System::Collections;
	using namespace System::Windows::Forms;
	using namespace System::Data;
	using namespace System::Drawing;

	/// <summary>
	/// Summary for Form1
	/// </summary>
	public ref class Form1 : public System::Windows::Forms::Form
	{
	public:
		Form1(void)
		{
			InitializeComponent();
			//
			//TODO: Add the constructor code here
			//
		}

	protected:
		/// <summary>
		/// Clean up any resources being used.
		/// </summary>
		~Form1()
		{
			if (components)
			{
				delete components;
			}
		}
    private: System::Windows::Forms::Button^  button1;
    protected: 
Form2^ f2;
	private:
		/// <summary>
		/// Required designer variable.
		/// </summary>
		System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		void InitializeComponent(void)
		{
            this->button1 = (gcnew System::Windows::Forms::Button());
            this->SuspendLayout();
            // 
            // button1
            // 
            this->button1->Location = System::Drawing::Point(101, 119);
            this->button1->Name = L"button1";
            this->button1->Size = System::Drawing::Size(75, 23);
            this->button1->TabIndex = 0;
            this->button1->Text = L"button1";
            this->button1->UseVisualStyleBackColor = true;
            this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
            // 
            // Form1
            // 
            this->AutoScaleDimensions = System::Drawing::SizeF(8, 16);
            this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
            this->ClientSize = System::Drawing::Size(282, 255);
            this->Controls->Add(this->button1);
            this->Name = L"Form1";
            this->Text = L"Form1";
            this->ResumeLayout(false);

        }
#pragma endregion
    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
                 f2 = gcnew Form2;
                 f2->ShowDialog();
             }
    };
}
commented: Wonderful! Really helpful member!! +0

Thank you so much!!! I have been trying to figure out how to do this for over a week and a half!

Would I be able to employ this same concept with a drop down list?

Once again thank you sooo much!!!

Merex

Of course you can do it with a drop down list -- just put the code in the selection event handler.

Ah ok excellent, I'll have a go when i get home. I'm currently at work so ill post an image of what i have done soon.

Just quickly, how do i put a splash screen in before start up?

I was thinking of making it in a 2nd window and just using a timer to hold it there for say 4seconds then moving onto Form1. Is that how it would be done?

I think I'll have some more questions for you when i get home.

Regards,

Merex

Here is one example of a splash screen written in c++. I have not tried it so you might need to tweak it a little for c++/cli programs.

Excelent thank you so much!!

Here is a little peak at what my ui currently looks like

[img]http://i95.photobucket.com/albums/l125/MrSns2/halo_supporttitleEDIT1.jpg[/img]

This is what im doing but it may change a round a bit. Also this is probs a lame question but how do i remove the maximise button? :P

I have progressed quite a long way to be quite honest and its thanks to you! Thank you so much :D


Regards,

Merex

Hi again,

Sorry to double post :( Should i start making new threads or just continue on in this one?

So far my program is coming along welll im quite impressed and am really happy with how its progressing.

But my question is, when I open one of my windows by clicking the button I assigned to it I can't interact with the original window until I exit the current one. How can I make it so I interact with more then one window?

Also, i have been googling and pondering over this for most of the day but how do i get a check box that i tick to output a string to a rich text box. And when i remove the tick to remove the text (if possible)

This is what i have done so far.

private: System::Void checkBox1_CheckedChanged(System::Object^  sender, System::EventArgs^  e) {
			if (checkBox1 == true)
			{
				text->richTextBox1("Test")
			}
			else;
                        {
                                text->richTextBox1("")
			 }

Is this what i should be doing? Also would there be a more proficient way of doing this instead of the current window opening window closing idea I have going? What would you guys do?

Once again thank you for all your help!


Regards,

Merex

Link here, a little old but I think its still relevent

Hi there again AD, :)

Thank you for that link. Been searching for something like that for a while didn't know what it was call that i was looking for though, i appreciate it :)

Back onto one of my previous questions, I figured out how to output it to the Text box with the following code (for anyone that may search how to do this at a later date)

richTextBox1->Text = "Text";

The only issue with it is that when i press the Tick box it out puts it to the richTextBox and then select another tick box it over rides the original text thats in there. I have tried several things to try and make it add underneath the original text. I have tried using the /n command and endl; but neither of them work. I was thinking about storing the data in some sort of variable of some sort but i don't know how to out put that to the text box. What could i possibly do?

Once again thank you for your time an patients! :D


Kind regards,

Merex

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.