|
i2c wrote:
I am basically a c/c++ programmer. i want to do some fast application development. i have used raw win32 api, MFC, and c#.net but i dont know which one to stick with. i cant use win32 as its to tedious. MFC, by my personal thinking, is replaced by .net base library and i cant stick to old mfc for vc++ 6. I cant use C# as i want to use c++ instead.
It seems like you've answered the question yourself : Managed C++.
But the statement 'fast application development' really calls for C#, unless of course you meant 'fast application' and not 'fast development'
"After all it's just text at the end of the day. - Colin Davies
"For example, when a VB programmer comes to my house, they may say 'does your pool need cleaning, sir ?' " - Christian Graus
|
|
|
|
|
MFC, by my personal thinking, is replaced by .net base library and i cant stick to old mfc for vc++ 6.
me think bad thinking ...
MFC is still there, and if you want to be up to date, use Visual Studio 7.1.
You still can use VC++6 if you want to; be it's kind of old; but if your application is a basic c++/mfc application then it will still do the job perfectly.
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|
|
.net is the future of anything that is locked to Microsoft platforms. I know of nothing wrong with managed C++, though there is something wrong if you can't pick up C# quickly.
More correctly, if you cannot pick up any computer language quickly (enough to completely fool management in a day, and within a week experts should take a while to catch you) there is something wrong. LISP or assembly might be mind benders that you have trouble twisting your mind around, but even them you should be able to get by in. Note, that it can take years to master all the little details, I only mean that you can do all the simple things (loops, data structures, objects, and so on), have an idea of what it can do, and know where to look up what you don't know.
Have you looked at other toolkits? GTK, wxWidgets, and qt come to mind. The latter is IMHO better than the rest. wxWdigets is a portable MFC from what I hear, so you might be interested.
The exact answer to your question depends on your exact situation. If you are working for yourself, for your own use, use what you want.
If you are trying to get a job, .net gives you the most choices because a lot of companies are doing all their internal work in .net, but then you need to use c#! However some companies are using something else, and they would prefer you know their tool set, so you can't win no matter what you do. I know people who have made a career out of knowing last years hot toolset, and maintaining old programs after everyone else has moved on.
If you want to be a better programer, don't work alone too much. Do your fast application development for where you need it, but also work with others. One good way is to head to www.sourceforge.net (there are several others, sourceforge is just the biggest), and pick a project to help out with. There are plenty to choose from, look for something that interests you, in a language that interests you, that is activly developed. (this last is important, some projects died years ago but are still on there, you want feed back from others to tell you where you are wrong) Find something in the project that needs doing, then jump in and do it.
|
|
|
|
|
thank you very much you guyz for the useful tips you gave me. It helped me see the big picture. Actually learning a new language for me is not a big job, i have made a couple of projects in C# (.net of course), recreated paint brush gui in assembly language, have been doing some quick 2-3 hours apps in VB and worked in java too. but my problem is that i have been trying to deny the existence of c# when C++ was there and i was hoping that i could get C++ to fast development like C#. But i think i was just denying the inevitable. i think i have to take multiple languages along.
One thing i was upset about that i havent been able to learn any language completely which bothered me but i think it was never ment to be that way. The bottom line, I got from all these REPLYs, is that choose a language for each type of job (gui, database, performance oriented, device driver etc) and take them all along together with enough knowledge to just-feel-comfortable.
JUST ONE LAST QUESTION:
Well C# uses .net base class library and we can use managed C++(MC++) to use .net base library too. So can i use MC++ in place of C# with equal effectiveness.
Thank you guys for the advice and please do point me wrong if i am about any thing.
To hit 3rd floors window you have to AIM for 5th or Higher.
|
|
|
|
|
i2c wrote:
So can i use MC++ in place of C# with equal effectiveness.
I dare say that coding for .NET in C# is a bit more intuitive than coding in C++, and C# has a lot of built-in features like delegates and events, which makes it quite easier to get the job done in a hurry.
I'm not sure if you actually get any perfomance improvements by using MC++ as opposed to C# at all, because both are compiled to IL, so if there is a difference, then it should be caused by the effectiveness of the compiler.
"After all it's just text at the end of the day. - Colin Davies
"For example, when a VB programmer comes to my house, they may say 'does your pool need cleaning, sir ?' " - Christian Graus
|
|
|
|
|
Good point. Thanks for the advice.
I THINK C# WINS, SH*T!!!!!
To hit 3rd floors window you have to AIM for Higher window.
|
|
|
|
|
After Setting Extension name in the advanced options of appwizard after wards i wanted not to associate the extension name with my App I deleted the reg file and the entries from the registry ;and built the project all over again After that it is still associated with the file extension.
How do I can I undo this ??????
|
|
|
|
|
If you still have the project's .reg file (it might have a .rgs extension), look through it and see what registry keys/values were added.
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
I Saw The Registry keys added and i deleted them, still no change after excuting the program the keys are recreated in the registry??????
|
|
|
|
|
What extension are we talking about here? What registry keys/values have you removed?
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
Hello,
In a window I play a video and I would like to make appear in the same time a listbox...
Could you tell me how to do that ?
Thanks a lot for help !
There is no way to happiness, happiness is the way !
|
|
|
|
|
Put the code that plays the video in a separate thread. After that thread is created, create the listbox. This will make the two events asynchronous.
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
Hello,
Finally I just put the Clip Children of my Dialog box at 'True' and it works well now...
thank you anyway David for your help and have a nice day,
alain
There is no way to happiness, happiness is the way !
|
|
|
|
|
Hi
I am using an window CE device to connect to an internet server of Port 1001 and 1005 uisng those wininet API provided. The 2 ports is needed as one is from normal TCP/IP communication and the other one is for keep alive packets.
just wonder if this can be done. i try it out on PC and it seems ok.
Any help will be apprecaited
|
|
|
|
|
Hello,
I have an editbox designed with MFC. I want it to scroll down to the last entry automatically. So, I am typing some lines, and it allways jumps to the first line, so I have to scroll down to see the new entry.
How can that be achieved?
DKT
|
|
|
|
|
I'm a bit confused. You have an edit control that you are typing text into. Correct? What are these entries that you refer to? Do you also have code that is adding text to the edit control?
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
Chat program!
One editbox for typing text, one for getting text, this one is getting full very fast. The problem is, that the app doesnt scroll automatically, it always jumps to the "first page", so starting with the first line, and I have to scroll down to see the new text.
DKT
|
|
|
|
|
Ok, that makes more sense. When you receive text from the person you are chatting with, how are you adding it to the edit control?
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
By using MFC:
Filling the member variable, and call an UpdateData(false)!
I fill the membervariable by adding the new text to the old, and ending with a \r\n
m_var+=text+"\r\n";
UpdateData(false);
DKT
|
|
|
|
|
Ok, I managed it by showing the newest message as first entry. But I still would like to know how to solve the above mentioned problem!
DKT
|
|
|
|
|
I think something like this is what you are after:
CString strText;
m_edit.GetWindowText(strText);
m_edit.SetSel(strText.GetLength(), strText.GetLength(), FALSE);
strText += "\r\n";
m_edit.ReplaceSel(strText);
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
Here is another way I have found to achive a scroll.
//Update Edit String IDC_STRING is the name of my edit box
//and temp_str is the name of the string to write to the dialog box.
dlg.SetDlgItemText(IDC_STRING,temp_str);
//Scroll to bottom.
dlg.SendDlgItemMessage(IDC_STRING, WM_VSCROLL, SB_BOTTOM, 0);
(I made my dialog global).
|
|
|
|
|
Thank you DavidCrow. this was the solution which I was searching for months.
You've done a good job.
Thank you for your guidance.
|
|
|
|
|
Hello friends
I am facing the following simple problem (as I am very new to VC++). The purpose is to display second window/screen after the user clicks 'OK' in the first window/screen. But the problem is that the second window fails to get displayed. The code has been written as below...
Please help....
Thanks
BOOL CMyDialog::InitInstance()
{
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
AfxEnableControlContainer();
#ifdef _AFXDLL
Enable3dControls();
#else
Enable3dControlsStatic();
#endif
CDialogfirstwindow dlg1;
m_pMainWnd = &dlg1;
int nResponse1 = dlg1.DoModal();
// The first window is successfully displayed
if (nResponse1 == IDOK)
{
//#if defined REQUIRED_CODE :
// This code has been introduced thinking that new window
// may need re-intialization..
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
AfxEnableControlContainer();
#ifdef _AFXDLL
Enable3dControls();
#else
Enable3dControlsStatic();
#endif
// #endif
CDialogsecondwindow dlg2;
// The Second window fails to get displayed
m_pMainWnd = &dlg2;
int nResponse2 = dlg2.DoModal();
if (nResponse2 == IDOK)
{
}
else if (nResponse2 == IDCANCEL)
{
}
}
else if (nResponse1 == IDCANCEL)
{
}
return FALSE;
}
|
|
|
|
|
This has to do with m_pMainWnd and it's being assigned a NULL value. Read here for more.
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|