|
Names will be 450 bytes. I'm not sure about string as I don't use them. What does sizeof() report?
|
|
|
|
|
johnstonsk wrote:
Which would take up less space an array of
char Names[45][10] or string[45]?
string[45] would take a lot more space because of how it allocates the strings but since the data set is soooooo small I would not worry about this at all.
Anyways it should be
char Names[45][11]
because you need 1 extra space for the '\0' character that terminates strings. Otherwise your strings would only be able to hold 9 characters...
John
|
|
|
|
|
The first one uses less memory.
Are you wanting to transmit the information across a serial port or network of something like that? If you are, you can't use the second one - string internally stores the text as a pointer, so if you transmit it, you just transmit the pointer, not the text it points to. In this case, you'll have to use the first option. Just remember to increase your array size to fit your string in
Ryan "Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
|
|
|
|
|
Yes, I have a PCI card with a gig of memory that is shared with 5 other machines.
Some of the words are longer than others so, if I just make the 2nd dimension the size of the longest word will I have any problems reading them on the other side of the network?
thanks,
Steven
|
|
|
|
|
why not just to read it and stick it into a CStringArray ?
You already have it as part of MFC..
CStringArray myarray;
myarray.Add (StringFromFile);
that's it.
|
|
|
|
|
One other thing this is not a CString. CString is a class in MFC and ATL/WTL to handle strings..
John
|
|
|
|
|
By using the commands 'RegCreateKeyEx', 'RegSetValueEx' and 'RegQueryValueEx' you have only access to your own PC.
I wont to read the registry values of an external PC which is on the same network linked.
Is there somebody who has an idea?
|
|
|
|
|
See RegConnectRegistry in the doc.
onwards and upwards...
|
|
|
|
|
Hi,
I'm developing a color calibration application under WindowsXP with Visual C++ and MFC. I would like to have a dialog box where the user can adjust the screen's overall contrast and brightness.
The first solution would be to control it with some SDK API calls, but I don't really know how I should do it. I've tried to get the desktop's dc and use the SetColorAdjustment( ) with it, but it doesn't really work.
Then I've read about the VESA DDC/Ci standard which makes it possible to actually control the monitor from the software but the Win32 API doesn't provide an interface for this. (If you know some info about it which might be helpful that would be the best).
I'd appreciate if someone could provide some info on these things.
Thanks in advance
Oliver
|
|
|
|
|
This is a driver-specific feature (not all drivers support it), and I don't know of any Windows built-in functions for doing it. I am under the impression that the driver provides this capability, not Windows. You may have to communicate directly with the video card driver.
oliver.hu wrote:
The first solution would be to control it with some SDK API calls, but I don't really know how I should do it. I've tried to get the desktop's dc and use the SetColorAdjustment( ) with it, but it doesn't really work.
This only works for what you are about to draw, not what's there already, and it only works for that particular device context - other programs and Windows itself will not see any changes.
Ryan "Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
|
|
|
|
|
I have an NVidia Quadro NVS in my machine, so I downloaded the NV SDK but it doesn't really say anything about contrast or brightness or ddc/ci, or anything like that.
So far I thought that communicating with the video driver takes only a .lib or a .dll and a .h file, but it doesn't seem to be the case. In fact I already got into the DDK but that's just seems too complicated, and actually I'm not so sure whether I have to go down so deep to the kernel mode...
I saw very simple applications which do the same, they can control overall brightness, contrast and rgb gamma, and therefore I don't think writing a driver is absolutely necessary.
I've searched through NVidia's site for some info on the above, but in fact I haven't yet found anything useful.
Oliver
|
|
|
|
|
You have to change the bitmap pixels before you display them..
John
|
|
|
|
|
hi
How do i create CEedit cotrol dynamicly, withour resoruce editor,
i have crated a class subclass of CWnd
how do i add a CEdit and CStatic (label) control to it, where do i create it in OnCreate function ????
thanks
~dzenan~
|
|
|
|
|
Your question is not very clear: you have derived a class from CEdit and you want to create dynamically on your window? If so, just call Create:
CMyEdit NewEdit;<br />
NewEdit.Create(...);
Hope this helps
|
|
|
|
|
sorry for not clearing it up,,
I have a Class wich is derived from CWnd, now i want to put a Edit control on that window. how do i do that, or do i have to first create a class wich is derived from CEdit
thanks
~dzenan~
|
|
|
|
|
No sorry, I misunderstood your question, it's end of the day here !
So, that's a good question. I had the same kind of problem some time ago. I solve this by sending a user defined message to the window just after it was created:
CYourWnd Window;<br />
... Some code;<br />
Window.ShowWindow(SW_SHOW);<br />
Window.SendMessage(WM_MYUPDATE);
Then you have to add manually a handler for this message. In this function, create dynamically the objects.
Don't know if there is an easiest way ??
|
|
|
|
|
I see, will work on it
thanks
~dzenan~
|
|
|
|
|
Yeah, why not just override the Create function from the CWnd class and put it there?
[EDIT: Whoops, Iain Clarke mentioned that very solution below. ]
"When a man sits with a pretty girl for an hour, it seems like a minute. But let him sit on a hot stove for a minute and it's longer than any hour. That's relativity." - Albert Einstein
|
|
|
|
|
hmm well you dont need to create a class derived from CEdit.
Just Create a CEdit object in the OnCreate Event check out the code below
void MainFrame ::OnCreate(LPCREATESTRUCT lpcs)
{
CRect rect;
rect.SetRect(10,10,100,30);
CEdit *myeditbox = new CEdit;
CEdit *myedit = new CEdit;
myedit->Create(WS_CHILD|WS_VISIBLE,rect,this,300);
}
regards
Ahmed Ajmal
|
|
|
|
|
Here goes...
In your header:
class CMyWnd : public CWnd
{
...
protected:
CStatic m_StaticSubWnd;
CEdit m_EditSubWnd;
....
};
In your implementation:
int CMyWnd::OnCreate (LPCREATESTRUCT lpC )
{
m_StaticSubWnd.Create ("text here", WS_CHILD | WS_VISIBLE | SS_...,
CRect (0,0, lpC->cx, 24), this, 1);
m_EditSubWnd.Create ( WS_CHILD | WS_VISIBLE | ES_...,
CRect (0,26, lpC->cx, lpC->cy - 26), this, 2);
return CWnd::OnCreate (lpCreateStruct);
}
The coordinates are just examples. You can give them any coords you like.
You should handle WM_SIZE / OnSize and change the position / size of the subwindows when the size
of CMyWnd changes.
OK?
Iain.
|
|
|
|
|
It's working thanks
~dzenan~
|
|
|
|
|
I would like to know how I can add a DLL to my VC++ program?
I can do this easily in 6.0 version, what is the way in .NET?
Ehsan Behboudi
|
|
|
|
|
Create a DLL project in the same solution as the app,
change dependeces if you want for your app.
make so that .exe and .dll file is in the same direcotry, (change compiler settings)
import the header file to the .EXE project export functions in the .DLL project and you are ready to go
hope i didn't confused you know..
~dzenan~
|
|
|
|
|
i'm a little confused,
I made the vb DLL in vb6.0, I can do everything in the 6.0 version,
but now I just need to know how I can add the damn DLL to my VC++.NET application.
Ehsan Behboudi
|
|
|
|
|
ahaa Visual Basic,, hmm in that case i can't help sorry never did that, search articles maybe u can find something there.
i guess u have to import them uding .DEF files not shure
~dzenan~
|
|
|
|