|
I would appreciate it if someone could give me the correct syntax (or parameters) to use on the add method of the worksheets object. I have an application where I am doing Excel automation. I have been able to add data to the three existing worksheets but when I try to add a fourth sheet to the end I get a method failure message. If I use 'vtMissing' for all four parameters of the add method, the new worksheet gets added to the beginning. I then tried to use the move method, but I get a method failure error if I try to put the sheet number that I want to move after.
VC++ 5
Oracle ODBC
ADO
Excel 2000
|
|
|
|
|
Hello
Per a few suggestions I have looked for and found one of the splitter demos on this site. As I have mentioned before I am very new to Visual C++. The splitter demo I found is at the following location: http://www.codeproject.com/splitter/SimpleDlgSplitter.asp
I am looking over it and would like to know how I can change it to have two windows side by side and how to chnage the left window so that it is dialog based. I have found the portion of the code to allow me to changethe size of the window. Any help that anyone can provide will be greatly appreciated as I embark on learning a new programming language.
Thanks
Spamdogg
|
|
|
|
|
Our local computer club would like to find a way to automate the dial up networking information for our club's Internet connection as an installation program that would be easy for new computer users to run in order to set up their connections. Does anyone have any suggestions on how to do this or know where to find documentation on this. Am assuming you'd have to insert/modify information in the registry, but I'm not sure what information would be needed. Has anyone run across registry documentation on the subject or know of an easier way of doing this? Thanks.
http://www.distasis.com/cpp/
|
|
|
|
|
Hi all,
How would one go about determining IE's current cipher strength (as displayed by the About box) programmatically, from a VC++ app?
What should be assumed for older versions that don't display it anywhere at all?
While I'm at it, where is the current IE service pack number stored?
|
|
|
|
|
Hi,
Just a general question. Which do you think is faster or better for copying two arrays: memcpy or a for loop over the arrays?
Thanks,
Pankaj
Without struggle, there is no progress
|
|
|
|
|
At one place I worked the company policy was to use memcpy where possible. Hopefully the compiler had an optimized version of memcpy for the platform and if not we could get someone to write one in assembly. It was supposed to be faster in most cases than a for loop, but the actual speed difference will depend on the individual compiler and how it optimizes the code.
|
|
|
|
|
memcpy is way faster, because the compiler will change it for a few specific processor instructions (see "#pragma intrinsic" on MSDN).
But sometimes it can bite you, specially on templates: if you are working on C++, memcpy can corrupt your data, because a loop array copy routine must call copy constructors and assignment operators to do its work.
It's not the fall that kills you: it's the sudden stop - Down by Law, Jim Jamursch (1986)
|
|
|
|
|
Hi,
I meant using memcpy on primitive data types only. But I guess it is way faster than a for loop.
Pankaj
Without struggle, there is no progress
|
|
|
|
|
In all likelihood, memcpy is probably faster. A 'for' loop would invariably involve many, many invidual memory accesses (reads and writes) to various addresses. Just loading those addresses in registers for each loop iteration will be a lot slower than a raw memcpy.
However, you're not specifying what type of arrays you have...if they contain strings, structs, or anything using pointers, memcpy won't replicate the data being referenced; you'll only get copies of the pointers. In that case, if you then destroy the original array, your copy's pointers will now be pointing an invalid addresses.
|
|
|
|
|
> if you then destroy the original array, your copy's pointers will
> now be pointing an invalid addresses.
...by "destroying the original array", I meant "including any data referenced by any pointer it contains".
|
|
|
|
|
memcpy, without a doubt. it's much faster to copy data 32-bits at a time, than one BYTE at a time, or one sizeof(CMyObject) at a time; and it's even faster when that data is aligned on DWORD boundaries. memcpy takes both of these into account.
i needed a function to do a bitwise inverse of a buffer. i wrote one as a simple for loop and one that operated on 32 bit values, aligned on 32-bit boundaries. the difference was significant (the optimized routine took less than 15% of the time that the simple for loop did).
int z;
BYTE *pb = pBuf;
UINT32 uLeadUp = (DWORD)pBuf & 0x03;
for (z=0;z < uLeadUp;z++)
{
*pb = ~(*pb);
pb++;
}
uLen-=uLeadUp;
UINT32 dwords = uLen / 4;
UINT32 leftovers = uLen % 4;
DWORD *p = (DWORD*)pb;
for (z=0;z < dwords;z++)
{
*p = ~(*p);
p++;
}
pb+=4;
for (z=0;z < leftovers;z++)
{
pb[z] = ~pb[z];
}
-c
Image tools: ThumbNailer, Bobber, TIFFAssembler
|
|
|
|
|
I remember when this came up.
Tim Smith
I'm going to patent thought. I have yet to see any prior art.
|
|
|
|
|
i tried to link back to the original thread, but the link (via Copy Shortcut) took me to some totally unrelated discussion...
-c
Image tools: ThumbNailer, Bobber, TIFFAssembler
|
|
|
|
|
Thanks for the explanation
Pankaj
|
|
|
|
|
Is anyone aware of thrid-party applns to create help files for C++-generated software? I'm using the bundled system with VC++ 6.0, but that is not doing the trick. Thx,
Ralf.
ralf.riedel@usm.edu
|
|
|
|
|
Hello
Can anyone help me by telling how can I insert a Word or WordViewer in my own document that should look like a normal CView-derived window on the screen.
Any advice would help.
Thank you in advance
|
|
|
|
|
I'm work with a VC++ project made as:
- Single document
- Doc/View model
- CView: public CFormView
.. so I have a form used in the main view of my
application...
Is it possible to change, in runtime, the form
shown in the view ???
What have I to do in order to make this operation ???
Thanks a lot !!!
|
|
|
|
|
Use CFrameWnd::CreateView to create a new view for the frame.
|
|
|
|
|
I am trying to create a CEdit dynamically, and placing it in a CPropertyPage. What I end up with is a CEdit with what I think is the large system font, and no 3D border. Here's how I'm creating it (I used the same settings as other CEdit's not created dynamically):
<br />
m_pOctalEdit->Create(WS_CHILD|WS_VISIBLE|WS_TABSTOP|ES_AUTOHSCROLL|ES_NUMBER,rect,<br />
GetParent(),OCTAL_EDIT);<br />
m_pOctalEdit->ModifyStyleEx(0,WS_EX_CLIENTEDGE | WS_EX_NOPARENTNOTIFY);<br />
Any idea why the 3D border is not there, and the font is different?
Thank you for your help.
|
|
|
|
|
m_pOctalEdit->Create(WS_CHILD|WS_VISIBLE|WS_TABSTOP|ES_AUTOHSCROLL|ES_NUMBER,rect,
GetParent(), OCTAL_EDIT);
1. What's that? Whose parent shoud be a parent of your editbox?
2. Use ModifyStyleEx(0, WS_EX_CLIENTEDGE | WS_EX_NOPARENTNOTIFY, SWP_DRAWFRAME | SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW);
and remove WS_VISIBLE style from Create.
3. I think that the much better approach is to create edit control with CreateEx, so you can specify extended window styles upon creation.
4. To show a correct font - get parent's font and set it to the control window.
|
|
|
|
|
Thank you for the reply. It looks like the SWP_DRAWFRAME is waht I was missing.
To answer your question, the GetParent() will return the CPropertyPage (as mentioned in the initial posting).
Thanks again,
Dave
|
|
|
|
|
Regarding to GetParent, in member of what class are you calling to CEdit::Create?
|
|
|
|
|
A CStatic derived class that is a child of the CPropertyPage.
Things are working fine now, thanks again.
|
|
|
|
|
When we use winAPI createprocess(),there is a parameter which we usarlly valued it as NULL so that the process inherit environment from parent.
Recently,I want to set a new environment block for the process I created.
but I don't know how to do it.
Could anyone help me?
leon studio
|
|
|
|
|
In ED (see sig) I use GetEnvironmentVariable() and SetEnvironmentVariable() before calling CreateProcess() and leave lpEnvironment = NULL.
Neville Franks, Author of ED for Windows. www.getsoft.com
Make money with our new Affilate program
|
|
|
|