|
What I mean by day-of-year is this:
if I pass 3,15,2002 into a function i would take 3 and 15 and convert that into the number of the year that 3/15 translates to.
More importantly. I need to take a interger and pass it into a function ( say 74) and get what day and month that corresponds to. I am not using MFC, and need to do this w/o any special functions.
|
|
|
|
|
Have you checked COleDateTime or CTime ?
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
|
|
|
|
|
is right here. The representation that you are talking about is called the Julian day. The formulas listed on that page will convert Julian days to Gregorian calendar days and vice-versa.
--Dean
|
|
|
|
|
I would like to access a 2D array using pointers. I understand that
I could use function such as pointers to array of pointers to
achieve that. How do I actually do that? and how do I
allocate memory to it using new and delete function?
-Danny
|
|
|
|
|
int *ptrArray[10];
for(int i=0;i<10;i++)
{
ptrArray[i]= new int[10];
}
...
... whatever
...
for(i=0;i<10;i++)
{
delete [] ptrArray[i];}
-c
Cheap oil. It's worth it!
|
|
|
|
|
Thanks for the reply. I udnerstand that is for 1D pointers?
I have come across the code for 2D array pointers using
int **a; // a is a 2D array of size Col 10 x Row 5
int row = 5;
int col = 10;
a = new int*[row];
for (int i=0,i
|
|
|
|
|
oRion wrote:
Thanks for the reply. I udnerstand that is for 1D pointers?
No it was for 2D pointers.
int ** the_array is somewhat like int * the_array[10].
You see, the_array is just a pointer to the first element in the array.
When you say the_array[x] the compiler says: Ok, i take the memory offset of the_array and add the the size of an element times x and then i dereference (or whatever that is called) it.
So, when you declare the_array to be int ** the_array, then you say that you want a pointer to an object that can reside anywhere to a pointer to an object that can reside anywhere.
When you declare the_array to be int * the_array, then you say that you want a pointer to an object that resides on the stack that consists of pointer(s) to object(s) that can reside anywhere.
If an array is statically declared, then you can use the sizeof() operator to get the number of items, otherwise you have to remember the size yourself.
oRion wrote:
how do I actually delete it? I have tried to use
delete[] a;
If the 2D array was declared as you stated, then no, this is not sufficient. You have to traverse the rows and delete[] each column array first, then delete[] the rows array.
If on the other hand the array was declared as int * the_array[10], then you only had to delete[] the column arrays as the rows array is declared on the stack.
"It could have been worse, it could have been ME!"
|
|
|
|
|
Alrite.. I have a problem where i need to take C code that was written on the 16-bit version of Visual that ran on Win 3.x.. I am not familiar with some of the VBX(Now obsolete) controls that are used in this code. For example, I am running this code on Visual C++ 6.0 and it does recognize the VBX control 'CVBControl'.. I want to know if there is anyway that I could convert this code into the 32-bit Version without redesigning my entire project??
Any advice is good advice..
TIA
|
|
|
|
|
mtrack81 wrote:
I want to know if there is anyway that I could convert this code into the 32-bit Version without redesigning my entire project??
Yes. Either find a COM (ActiveX or whatever they're called this week) component that does the same thing, or re-implement it yourself. That way you could keep the overall design of the project.
Isn't life a bitch when trying to maintain binary-only stuff that has become obsolete? Wouldn't it have been much better if you had the source code to that control to bring it up-to-date? Maybe there's a reason why the GPL codebase is growing?
|
|
|
|
|
VBX controls were the 16 bit equilvent of OCX controls. You'll need to either find an upgraded version of your control or subsitute with a new control.
Michael
Errata 1: p. 154, section 'Defusing'. For 'red wire' read 'blue wire'.
|
|
|
|
|
Does anyone know the Equivalent of 'CVBControl' in VBX for either ActiveX or OCX??
|
|
|
|
|
mtrack81 wrote:
Does anyone know the Equivalent of 'CVBControl'
<sigh> Why can't people do their own googling before asking here?
It seems the CVBControl is some kind of VB (Visual Basic) wrapper control. As such, I'm fairly certain there is no equivalent for it. VBX'es died with Win16, and that was like... Um... Seven years ago.
Maybe if you look at how it's used/what it's used for you can get a better grasp of what is needed? What does it display/do? When you can answer that question perhaps you find there's already code written to do the same in Win32.
|
|
|
|
|
Mike Nordell wrote:
<sigh> Why can't people do their own googling before asking here?
Now, Now, CodeProject has always been a great learning place. So why not ask these types of questions here? You never know, maybe somebody else out there is having the same sorts of problems.
Nick
|
|
|
|
|
Nick Jacobs wrote:
So why not ask these types of questions here?
Because it displays they didn't even bother to google first?
But you are probably right. I was a little harsh. I'll try to wrap the old "do your own googling" in something fluffier next time.
|
|
|
|
|
How about: Please do your own freakin' googling?
|
|
|
|
|
Yes, that's good. I think the "Please" did it!
|
|
|
|
|
I'm pretty sure its main purpose in the project is for grid control. If anyone knows of another method for grid control for 32 bit apps, let me know.. in the meantime.. i'll try to do my own googling to see if there is anything out there...thankz..
|
|
|
|
|
mtrack81 wrote:
I'm pretty sure its main purpose in the project is for grid control.
Then you're in luck. Not only have Microsoft created a common control for this purpose, if you want something extra this seems to be a good place to look!
|
|
|
|
|
|
I'm trying to get my App to luanch a program, like Quake 3.
using CreateProcess();
I got two problems..
One is that Quake 3 looks for a default.cfg in the Defualt dir, but my program changes the defualt dir to the path to my program, so Quake 3 thinks that the default.cfg file is located where my program is located, but it is not.
the second problem is that I can't include consol commands.. like "d:\games\half-life\hl.exe -game cstrike"
This won't work..
code:
CreateProcess( NULL,Game[0].Path,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi );
Any solution to these two problems?
Thanks
|
|
|
|
|
You can use the APIs like SetCurrentDirectory to change the current working directory of your program
Samir Sood
|
|
|
|
|
yeah, But if I have a string like: "d:\games\quake3\quake3.exe" and want to set the currentdir
like: SetCurrentDirectory("d:\games\quake3\quake3.exe") I need to remove the quake3.exe but how?.
|
|
|
|
|
Use ShellExecute() instead.r to open or explore. The function can open an executable file or a document file. The function can print a document file.
lpParameters
If the lpFile parameter specifies an executable file, lpParameters is an address to a null-terminated string that specifies the parameters to be passed to the application.The format of this string is determined by the verb that is to be invoked. If lpFile specifies a document file, lpParameters should be NULL.
lpDirectory
Address of a null-terminated string that specifies the default directory.
nShowCmd
Flags that specify how an application is to be displayed when it is opened. If lpFile specifies a document file, the flag is simply passed to the associated application. It is up to the application to decide how to handle it.
SW_HIDE | Hides the window and activates another window. | SW_MAXIMIZE | Maximizes the specified window. | SW_MINIMIZE | Minimizes the specified window and activates the next top-level window in the z-order. | SW_RESTORE | Activates and displays the window. If the window is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when restoring a minimized window. | SW_SHOW | Activates the window and displays it in its current size and position. | SW_SHOWDEFAULT | Sets the show state based on the SW_ flag specified in the STARTUPINFO structure passed to the CreateProcess function by the program that started the application. An application should call ShowWindow with this flag to set the initial show state of its main window. | SW_SHOWMAXIMIZED | Activates the window and displays it as a maximized window. | SW_SHOWMINIMIZED | Activates the window and displays it as a minimized window. | SW_SHOWMINNOACTIVE | Displays the window as a minimized window. The active window remains active. | SW_SHOWNA | Displays the window in its current state. The active window remains active. | SW_SHOWNOACTIVATE | Displays a window in its most recent size and position. The active window remains active. | SW_SHOWNORMAL | Activates and displays a window. If the window is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when displaying the window for the first time. |
Return Values
Returns a value greater than 32 if successful, or an error value that is less than or equal to 32 otherwise. The following table lists the error values. The return value is cast as an HINSTANCE for backward compatibility with 16-bit Microsoft® Windows® applications. It is not a true HINSTANCE,
however. The only thing that can be done with the returned HINSTANCE is
to cast it to an integer and compare it with the value 32 or one of the
error codes below.
0 | The operating system is out of memory or resources. | ERROR_FILE_NOT_FOUND | The specified file was not found. | ERROR_PATH_NOT_FOUND | The specified path was not found. | ERROR_BAD_FORMAT | The .exe file is invalid (non-Win32® .exe or error in .exe image). | SE_ERR_ACCESSDENIED | The operating system denied access to the specified file. | SE_ERR_ASSOCINCOMPLETE | The file name association is incomplete or invalid. | SE_ERR_DDEBUSY | The DDE transaction could not be completed because other DDE transactions were being processed. | SE_ERR_DDEFAIL | The DDE transaction failed. | SE_ERR_DDETIMEOUT | The DDE transaction could not be completed because the request timed out. | SE_ERR_DLLNOTFOUND | The specified dynamic-link library was not found. | SE_ERR_FNF | The specified file was not found. | SE_ERR_NOASSOC | There is no application associated with the given file name extension. This error will also be returned if you attempt to print a file that is not printable. | SE_ERR_OOM | There was not enough memory to complete the operation. | SE_ERR_PNF | The specified path was not found. | SE_ERR_SHARE | A sharing violation occurred. |
Remarks
This method allows you to execute any commands in a folder's context menu or stored in the registry.
To open a folder, use either of the following calls:
ShellExecute(handle, NULL, path_to_folder, NULL, NULL, SW_SHOWNORMAL);
or
ShellExecute(handle, "open", path_to_folder, NULL, NULL, SW_SHOWNORMAL);
To explore a folder, use:
ShellExecute(handle, "explore", path_to_folder, NULL, NULL, SW_SHOWNORMAL);
To launch the shell's Find utility for a directory, use:
ShellExecute(handle, "find", path_to_folder, NULL, NULL, 0);
If lpOperation is NULL, the function opens the file specified by lpFile. If lpOperation is "open" or "explore", the function will attempt to open or explore the folder.
With multiple monitors, if you specify the window handle and set lpOperation to "Properties", any windows created by ShellExecute may not appear in the correct position.
To obtain information about the application that is launched as a result of calling ShellExecute, use ShellExecuteEx.
See Also
IShellExecuteHook
Windows NT/2000: Requires Windows NT 3.1 or later.
Windows 95/98: Requires Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in shellapi.h.
Import Library: shell32.lib.
|
|
|
|
|
Instead of copying MSDN article, just post a link next time.
Tomasz Sowinski -- http://www.shooltz.com
- It's for protection - Protection from what? Zee Germans?
|
|
|
|
|
Ok I see. But I need a function that returns the path of the file.
Like 'd:\games\quake 3\quake3.exe' will return 'd:\games\quake 3\'
Any function that does this?
thanks.
|
|
|
|