|
How do I check if a file exists or not? I have tried the following:
<br />
CString f, msg;<br />
<br />
f = __argv[i];<br />
ifstream infile(f);<br />
<br />
if(!infile)<br />
{<br />
msg.Format("Could not open: %s",f);<br />
AfxMessageBox(msg);<br />
}<br />
<br />
else<br />
AfxMessageBox("file opened");
But if the file doesn't exist, it just makes one!!! Any input is appreciated. Thanks!
Nitron
_________________________________________--
message sent on 100% recycled electrons.
|
|
|
|
|
Check the code below if you don't mind using Win32 API:
bool FileExists(LPCTSTR szFilename)
{
WIN32_FIND_DATA findFileData;
HANDLE hFind = FindFirstFile(szFilename, &findFileData);
if (hFind == INVALID_HANDLE_VALUE)
{
return false;
}
VERIFY(FindClose(hFind));
return true;
}
Tomasz Sowinski -- http://www.shooltz.com
What is "scratch" and why can everything be made from it?
|
|
|
|
|
Cool! You guys rock!!! One day I'm gonna grow up to be a knowledgable programmer just like you!
Nitron
_________________________________________--
message sent on 100% recycled electrons.
|
|
|
|
|
I usually use next approach
bool is_file_exist(const char * szFilePath)<br />
{<br />
DWORD Code=::GetFileAttributes(szFilePath);<br />
return (long(Code)!=-1) && (!((FILE_ATTRIBUTE_DIRECTORY) & Code));<br />
}
|
|
|
|
|
As you're using MFC, I use this:
CFileStatus status;
if( CFile::GetStatus( "test.dat", status ) )
{
// file exists
}
Christian
We're just observing the seasonal migration from VB to VC. Most of these birds will be killed by predators or will die of hunger. Only the best will survive - Tomasz Sowinski 29-07-2002 ( on the number of newbie posters in the VC forum )
Cats, and most other animals apart from mad cows can write fully functional vb code. - Simon Walton - 6-Aug-2002
|
|
|
|
|
The problem is clear. Some solutions have already been mentioned but the easiest way to do it is
ifstream inFile("text.dat", ios::nocreate); The default value is ios::in
|
|
|
|
|
here's yet another way:
#include >io.h>
...
...
bool bFileExists = (_access(inFile, 0)==0);
Conservative:
One who admires radicals centuries after they're dead.
-- Leo C. Rosten
|
|
|
|
|
Hi!
I have forum use bulentin board(ikonboard) that is ran on Linux, and use MySQL as a database server. The users are now accessing it via web-browser.
What i would like to do is to write and client application with .NET technology, to connect to the MySQL server via the Internet, and retrieve the data, then format it and output it to the user on local machine. However, i dont know how to go about doing this. Can anyone give me some hints??
Will i need to write my own server application that runs on the Linux server machine so my client can connect to or can my client can connect straight to the MySQL port ??
Thanks!!
Best regard
|
|
|
|
|
You client can connect directly to the MySQL port
bibamus, edamus, cras moriemur [eat, drink, for tomorrow we die]
|
|
|
|
|
I'm actually working on a similar idea for my own custom forum system, using web services.
|
|
|
|
|
I want to redirect mouse button click behavior.
When I click the right button in MS Word...etc, I don't want
the system to show a popup menu.
But when I click wheel button, I want it shows a popup menu like I click the right button.
I use Hook(in .dll file) to get the mouse message and then redirect it.
In some application, like Internet Explorer, NotePad...etc, the redirection works well. but in MS Word, Excel...etc, it shows nothing.
I think maybe it's a MDI question (or not).
Does someone could give me some suggestions to solve this bug.
Thanks a lot.
|
|
|
|
|
Hi,
I have an instance of word running with my application, and I have one ActiveX control inside that instance, .. the user can choose to remove the control... and well... what happens then:
--> all goes fine until the user closes the Ms Word window, then I get this message:
"The object invoked has disconnected from its client."
But all goes fine, does somebody knows something about this sh*tty thing ?, Thanks in advance
Braulio
|
|
|
|
|
I am writing an app where I need to monitor each machine on the network (realtime). I need MAC address, IP address, Machine name and description. And instant information when a machine enters/leaves the network (including wireless connectivity attempts).
I have found some samples on the net which gives me an idea on how to approach the problem, but they are incomplete and look quite complex . And there seem to be no realtime monitoring. Note that I do NOT have the possibility to install any software on any of the machines being monitored. One machine will run my app, and that's it.
Can anybody point me in the right direction? Is there an easy way?
Thank you in advance.
HS
|
|
|
|
|
er... read the WM_SIZE docs:-
CWnd::OnSize
afx_msg void OnSize( UINT nType, int cx, int cy );
Parameters
nType
Specifies the type of resizing requested. This parameter can be one of the following values:
SIZE_MAXIMIZED Window has been maximized.
SIZE_MINIMIZED Window has been minimized.
SIZE_RESTORED Window has been resized, but neither SIZE_MINIMIZED nor SIZE_MAXIMIZED applies.
STL is a religeon. Enquiries to Reverend Christian Graus
|
|
|
|
|
Pretty simple - I use:
ShellExecute() to spawn another application. I use this function because it allows me to specify the directory for spawned application.
Now I need to wait for the application to terminate (In fact i would like to spawn it in synchronous mode because I just want to spawn it and wait for it's termination.
Is there any function that allows me to check if the application is still running using the HINSTANCE returned by ShellExecute ?
Or perhaps there is another, easy way to spawn an application in synchronous mode, that does not need any loops checking application's state? (that will eliminate senseless processor usage).
Thanks in advance for any suggestions.
[ CoY0te ]
Railgun is like a Gilette Mach 3 - it does the job with one, easy stroke.
|
|
|
|
|
Use ShellExecuteEx. It gives you back the handle of spawned process, ready to use with WaitForSingleObject.
Tomasz Sowinski -- http://www.shooltz.com
What is "scratch" and why can everything be made from it?
|
|
|
|
|
Thank You. Easy as 1..2..3
[ CoY0te ]
Railgun is like a Gilette Mach 3 - it does the job with one, easy stroke.
|
|
|
|
|
On the same subject I have a question to ask. I have a parent application from which I would like to spawn other applications such that the other applications do not show up on the taskbar and that they can be terminated by the parent. I think the termination part maybe be easy but not sure about the taskbar part.
The spawned applications are not mine, so how they work is not under my control.
|
|
|
|
|
|
If the spawned apps do not need to be visible for the user and you are on NT, you could just run them on a different desktop. This is the way the system uses to ensure that service processes are not used interactive.
I have never tested it on myself, but AFAIK all you have to do is to pass a new desktop and maybe also a new window station name in the lpDesktop param of STARTUPINFO. If the desktop does not exist yet, the system creates it for you.
--
Daniel Lohmann
http://www.losoft.de
(Hey, this page is worth looking! You can find some free and handy NT tools there )
|
|
|
|
|
May be, this example will help you. Sorry i have no time to explain what does it mean. I hope, you will get it
<br />
.....<br />
STARTUPINFO si={0};<br />
si.cb = sizeof(si);<br />
si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;<br />
si.wShowWindow = SW_HIDE; <<-------- Here we hide window<br />
si.hStdOutput = hWrite;<br />
si.hStdError = hWrite;<br />
PROCESS_INFORMATION pi;<br />
<br />
CreateProcess (szCompilerName,szCommandLine,<br />
NULL,NULL,true,NORMAL_PRIORITY_CLASS,NULL,NULL,&si,&pi)<br />
<br />
<br />
|
|
|
|
|
for simple applications or commands I use C's system() function. You can also look into the _exec* functions. But the system() function is generally good enough.
example:
system("notepad.exe");
system("copy c:\myfile.txt c:\backup\myfile.txt");
|
|
|
|
|
I'll keep that in mind.
These functions might be useful, allthough they do not allow You to specify the work directory for an application.
Thank You.
[ CoY0te ]
Railgun is like a Gilette Mach 3 - it does the job with one, easy stroke.
|
|
|
|
|
That is correct,
it defaults to the parent process's current directory. But I beleive u can do this:
system("CD c:\my-start-up-dir");
system("notepad test.txt");
this would open the file c:\my-start-up-dir\test.txt
|
|
|
|
|
Hi,
i'm working on the desing of my application and i would like to have my ListCtrls Headers in blue instead of the windows gray, how can i change it?
I checked the SetColumn function with the struct _LVCOLUMN, but i don't fit to my intents, should i use a appropriate class for the effect, maybe derived from CHeaderCtrl?
Thank you in advance
|
|
|
|