|
Wohoo! First Linux question.
Ha! I'm actually even replying from within linux using Konqueror !
look at opendir, readdir and closedir
OK you wouldn't happen to have any sample code lying around ?
The code is for porting the Visual Component Framework to linux. And this stuff specifically is to use in allowing file searches
Thanks !
|
|
|
|
|
Jim Crafton wrote:
OK you wouldn't happen to have any sample code lying around ?
The following sample code searches the current directory for the entry name.
dirp = opendir(".");
while (dirp) {
errno = 0;
if ((dp = readdir(dirp)) != NULL) {
if (strcmp(dp->d_name, name) == 0) {
closedir(dirp);
return FOUND;
}
} else {
if (errno == 0) {
closedir(dirp);
return NOT_FOUND;
}
closedir(dirp);
return READ_ERROR;
}
}
return OPEN_ERROR;
This is directly from readdir() documentation.
|
|
|
|
|
I want to get the text that just selected before activating(restore from sys tray) my application. For example; when I select any text in IE and restore my aplication. How can I do this
kozlu
|
|
|
|
|
If I'm understanding correctly, select the text in IE and use the Edit->Copy menu function to save it to the clipboard. Then, in your application, read from the clipboard into a buffer and have your way with it.
|
|
|
|
|
How are null values in database fields dealt with in C++ ADO #import msado15.dll.
I can retrieve data and display it if there are no nulls in the data.
The sql stops displaying at a null and will not display anything after it.
(It's as if the null acts as a string terminator )
Part of script...
while(!pRecordset->GetEndOfFile()){
for(int loop=0;loop<precordset->Fields->Count;loop++)
{printf("Name is '%s'\n",
(char*) ((_bstr_t) pRecordset->GetFields()->GetItem((short)loop)->GetName()));
printf("Value is '%s'\n",
(char*) ((_bstr_t) pRecordset->GetFields()->GetItem((short)loop)->GetValue()));
}
}
Any help here would be great!
|
|
|
|
|
GetValue (from FieldPtr) returns a _variant_t reference which basically just wraps a VARIANT. The case you are performing here is not safe because the VARIANT can be set to type VT_NULL or VT_EMPTY which cannot be cast to char*. To do this corretly, you need to check the type of GetValue (ie. VT_NULL or VT_EMPTY indicates a NULL value.)
|
|
|
|
|
Can you point me in the right direction for the use of VT_NULL or VT_EMPTY in an example or two...?
Searching the net I cannot see the wood for the trees at the moment!
Thanks
|
|
|
|
|
_variant_t varValue = pRecordset->GetFields()->GetItem((short)loop)->GetValue();
if (varValue.vt == VT_NULL || varValue.vt == VT_EMPTY)
{
printf("NULL");
}
else
{
printf((char*)(_bstr_t)varValue);
}
|
|
|
|
|
Hi there:
I am willing to learn how to write a custom pure API control (something simple for a start: e.g. equivalent of CStatic).
Could you give me an idea where to start or where to get more information on these kind of things?
Thank you.
A reasonable man adapts himself to the world. An unreasonable one persists, trying to adapt the world to himself. That is why all the progress in the world depends on the unreasonable men.
|
|
|
|
|
You will need to look at RegisterClass in order to create a window class that can be used to create your window. CreateWindow in order to create an instance of your custom class. Windows procedures in order to apply the functionality that you need.
If you would like to build your custom control on top of an existing windows control, you could also look up window subclassing.
Good Luck
Build a man a fire, and he will be warm for a day Light a man on fire, and he will be warm for the rest of his life!
|
|
|
|
|
What I am looking for is to avoid using MFC completely.
Can you be a little bit more elaborate, or even better, refer me to a specific example? Thanks.
A reasonable man adapts himself to the world. An unreasonable one persists, trying to adapt the world to himself. That is why all the progress in the world depends on the unreasonable men.
|
|
|
|
|
All of those functions that I mentioned previously are from the Win32 API. So you will not need to use MFC with those functions.
Creating a custom control is not much different than creating an application window for a raw Win32 application. One of the only differences is when you create your control, you create it as a child of another window.
Try creating a new Win32 Windows Application project in VC++. It will generate a set of basic code to create the application window. It shows how to use the functions that I mentioned, RegisterClass, CreateWindow, and the WindowProc.
You should be able to adapt the window class that they create into the control that you would like to create. Simply modify the styles, and add the functionality that you would like to provide in the WindowProc procedure to handle the windows messages the way that you want.
I am sorry that I do not have a more concrete example on hand.
Build a man a fire, and he will be warm for a day Light a man on fire, and he will be warm for the rest of his life!
|
|
|
|
|
How can I create an MDI application with Win32 API?
A reasonable man adapts himself to the world. An unreasonable one persists, trying to adapt the world to himself. That is why all the progress in the world depends on the unreasonable men.
|
|
|
|
|
Once you have created the window that you will be using as the frame for your application, call CreateMDIWindow as a child of your main window. Then the windows that you create as a child of this MDI window will become MDI children.
Build a man a fire, and he will be warm for a day Light a man on fire, and he will be warm for the rest of his life!
|
|
|
|
|
Yes, but according to MSDN, for Multi-threaded apps, one should use CreateWindowEx. Since this is similar to CWnd::CreateEx, I just added WS_EX_MDICHILD to ExStyle but got the same result (the child window's title bar doesn't change color to signify activation; clicking on the icon, instead of Ctrl+F4 for Close, its still Alt+F4; & using Spy++, the child windows don't have the WS_EX_MDICHILD exstyle; adding the exstyle by ModifyStyleEx doesn't change a thing.
solutions?
Tnx
|
|
|
|
|
There are Win32 app examples in the Windows SDK.
|
|
|
|
|
Just wondered how many people out there program not for a job, but because they want to.
==================================================
When Your Mind Wonders...Where Does It Go???
|
|
|
|
|
I think this would be a hot topic if you post in lounge.;)
|
|
|
|
|
The Eclypse wrote:
Just wondered how many people out there program not for a job, but because they want to.
Me.
Mazy
"The more I search, the more my need
For you,
The more I bless, the more I bleed
For you."The Outlaw Torn-Metallica
|
|
|
|
|
I do both - as a job, AND because I want to.
Christian
The tragedy of cyberspace - that so much can travel so far, and yet mean so little.
And you don't spend much time with the opposite sex working day and night, unless the pizza delivery person happens to be young, cute, single and female. I can assure you, I've consumed more than a programmer's allotment of pizza, and these conditions have never aligned. - Christopher Duncan - 18/04/2002
|
|
|
|
|
Pure hobby... for now
Cheers!
Marc
|
|
|
|
|
I do both, but I couldn't see doing anything else as a job. I love programming.
Build a man a fire, and he will be warm for a day Light a man on fire, and he will be warm for the rest of his life!
|
|
|
|
|
I love programming as a hobby, and am currently looking to do it as a job. I have just finished uni see and getting that first job is harder than I thought.....
Alan.
"When I left you I was but the learner, now I am the master" - Darth Vader
|
|
|
|
|
I've created a resizable MFC dialog and when resizing (WM_SIZING) the contents don't appear in their places at all. In fact, everything becomes a gray resizing rectangle. When the operation is done, the stuff comes up as it should allways be.
Do you know how to make the toys visible all the time?
rechi
|
|
|
|
|
I think, calling the all Child controls Invalidate and Update will do it!
|
|
|
|