|
anna mathew wrote: WriteProfileString
As I told to you many, many, many, many, many times, WriteProfileString writes to the registry (from this [^] MSDN page)
Remarks
The entries are stored as follows:
* In Windows NT, the value is stored to a registry key.
* In Windows 3.x, the value is stored in the WIN.INI file.
* In Windows 95/98, the value is stored in a cached version of WIN.INI.
Use Win32 API 's WritePrivateProfileString instead.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Ya,... now i know....
thanks...
|
|
|
|
|
how can i prevent overwriting to INI file....??
I mean Is There Any WAY TO CHECK IF THE SECTION NAME...
[section name]
already exists???
|
|
|
|
|
Yes, there is GetPrivateProfileSectionNames [^].
BTW: Be aware, you're just a step aside the feared RTFM.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Hi,
maybe this is not so simple after all. The MSDN page says that WriteProfileString will write to the application's registry OR .INI file.
In my case, when I compile in XP using VisualC++ 6.0 the string is written to C:/WINDOWS/myappl.INI. I can find nothing in the registry.
Transferring the project to Vista and using visual Studio 2008, my application does not come up with a remembered string, the default is used instead. Nothing is found in the registry and I have found no myappl.INI file after running the appl a few times with a valid string.
|
|
|
|
|
In fact what the OP needs could be simply accomplished using WritePrivateProfileString .
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Hi,
yes, I noticed that in the discussion, but I am first trying to understand where
the WriteProfileString is actually writing things. The MSDN text is saying this OR that,
but not much about what is steering where things go. As I understand it, you should call
CWinApp::SetRegistryKey if you want to have things in the registry "Causes application settings to be stored in the registry instead of INI files".
I get further confused when the application is not working either way in Vista, no registry and no INI file.
|
|
|
|
|
how to disable and enable any control i.e button ,edit box ,slider control etc in win32(not in MFC)
Ashish
|
|
|
|
|
|
For each action on the win32 you can use of some messages like:WM_ENABLE/WM_VSCROLL,and WM_* for use of them you need to use of SendMessage.
|
|
|
|
|
is there a way to write
<br />
ranges[1] = "0- 9";<br />
ranges[2] = "10-19";<br />
ranges[3] = "20-29";<br />
ranges[4] = "30-39";<br />
ranges[5] = "40-49";<br />
ranges[6] = "50-59";<br />
ranges[7] = "60-69";<br />
ranges[8] = "70-79";<br />
ranges[9] = "80-89";<br />
ranges[10] = "90-99";<br />
ranges[11] = "100";<br />
in the form of an array?
|
|
|
|
|
How about the use of multidimensional arrays.
<br />
int multi_array[11][10] = {{0, 1, 2, 3, 4, 5, 6, 7, 8, 9},<br />
{10, 11, 12, 13, 14, 15, 16, 17, 18, 19},<br />
{20, 21, 22, 23, 24, 25, 26, 27, 28, 29},<br />
{30, 31, 32, 33, 34, 35, 36, 37, 38, 39},<br />
{40, 41, 42, 43, 44, 45, 46, 47, 48, 49},<br />
{50, 51, 52, 53, 54, 55, 56, 57, 58, 59},<br />
{60, 61, 62, 63, 64, 65, 66, 67, 68, 69},<br />
{70, 71, 72, 73, 74, 75, 76, 77, 78, 79},<br />
{80, 81, 82, 83, 84, 85, 86, 87, 88, 89},<br />
{90, 91, 92, 93, 94, 95, 96, 97, 98, 99},<br />
{100}};<br />
I appreciate your help all the time...
CodingLover
|
|
|
|
|
Hi all,
I've a stringstream and I want to remove first two bytes from it and make a new one with the rest of content. From 3rd byte to end. How can I do that.
I've try to remove first two characters but not work.
Please help me.
I appreciate your help all the time...
CodingLover
|
|
|
|
|
I am not sure I can really catch your idea. please refer the below code:
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char** argv)
{
string whole_str;
string res_str;
whole_str = "Hello, this World";
res_str = whole_str.substr(2, string::npos);
return 0;
}
Chris Liu
|
|
|
|
|
Ok so i have tried, and failed epically, to use objects. Even simple ones.
Now its seems that I need more than ever to understand how to use them.
my coding project is random, dont ask what it is for because i dont actually know my self.
What it does it generates a random number from 0-25 that is then used to assign a letter from my array alpha to a variable. 3 letter variables, and 2 number variables in the so called 'Mas' statement (A1B2C) and then the there are 5 number vars in the so called 'Address' statement.
I plan to have a total of 4 'Mas' statements, and thus 4 'Address' statements for the whole application
You can see why i need to learn how to use objects.
Here is the code:
<br />
#include <cstdlib><br />
#include <iostream><br />
#include <cmath><br />
<br />
using namespace std;<br />
<br />
char masc1;
char masc2;<br />
char masc3;<br />
<br />
int masn1;
int masn2;<br />
<br />
int idx1;
int idx2;<br />
<br />
int idrt1;
int idrt2;<br />
int idrt3;<br />
<br />
char alpha[26] = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
int pre;
const int alphn = 26;
const int num = 10;
bool err = false;
<br />
void masgen()<br />
{<br />
srand( rand()*(unsigned)time( NULL ) );<br />
pre = (rand() % alphn + 2) % -alphn ;
masc1 = alpha[pre];<br />
idrt1 = pre;<br />
pre = (rand() % alphn + 2) % -alphn;
masc2 = alpha[pre];<br />
idrt2 = pre;<br />
pre = (rand() % alphn + 2) % -alphn;
masc3 = alpha[pre];<br />
idrt3 = pre;<br />
pre = (rand() % num + 2) % -num;
masn1 = pre;<br />
idx1 = pre;<br />
pre = (rand() % num + 2) % -num;
masn2 = pre;<br />
idx2 = pre;<br />
}<br />
<br />
void cker()<br />
{<br />
if( pre > alphn )
{<br />
cout << "Error. Pre > Alphn \n"; <br />
err = true;
system("PAUSE");<br />
} <br />
}<br />
<br />
int main(int argc, char *argv[])<br />
{<br />
while( err != true )
{<br />
masgen();
cker();
cout << "Mas: " << masc1 << masn1 << masc2 << masn2 << masc3 << '\n';
cout << "Address: " << "E" << idx1 << idx2 << "X" << idrt1 << idrt2 << idrt3 << '\n';
system("PAUSE");<br />
}<br />
system("PAUSE");<br />
return EXIT_SUCCESS;<br />
}<br />
|
|
|
|
|
But what is your question ?
|
|
|
|
|
How would i go about making the vars into an object?
|
|
|
|
|
|
Is it at all possible to link a resource as defined by a Resource Template (e.g. a Dialog, Menu, etc)item on it's own into a project, either as an independent resource script fragment, or, at linker level, as a PE linkable object file.
Regards,
Bram van Kampen
|
|
|
|
|
You can add any number of .rc files into a project. Put the code that you want to reuse into a .rc file and add it to the project.
|
|
|
|
|
Thanks, that's helpfull,
I have to declare the resource identifiers somewhere though, in such a manner that the classwizard does not clobber them.
It does not solve the above problem, but currently I tried to add the CPP Code in as an obj file, and let the linker sort the rest.That works quite well for the CPP Files. But what does the resource compiler do with the .rc file, so that the linker can pick it up. (and, in case someone remarks the obvious, I DO include header files for the obj files).
Bram van Kampen
|
|
|
|
|
You can create resource only dll's:
http://msdn.microsoft.com/en-us/library/24b2tcy0(VS.80).aspx[^]
...cmk
The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.
- John Carmack
|
|
|
|
|
as the subject.
Why do the HBITMAP be changed to black?I dont think my code have problems.
my code is as below:
app start,laod the HBITMAP from resource and store to a global HBITMAP.
then paint it on sever windows in the same process.
I found sometimes the HBITMAP was changed to black.
Could anybody meet the same issue?
|
|
|
|
|
Did you use of WM_ERASEBKGND and can you show your code?
|
|
|
|
|
BEGIN_MSG_MAP(CMyButton)
MESSAGE_HANDLER(WM_CREATE,OnCreate)
MESSAGE_HANDLER(WM_PAINT,OnPaint)
MESSAGE_HANDLER(WM_LBUTTONDOWN,OnLButtonDown)
MESSAGE_HANDLER(WM_LBUTTONUP,OnLButtonUp)
MESSAGE_HANDLER(WM_MOUSEMOVE ,OnMouseMove)
MESSAGE_HANDLER(WM_MOUSELEAVE ,OnMouseLeave)
MESSAGE_HANDLER(WM_KILLFOCUS, OnRefresh)
MESSAGE_HANDLER(WM_SETFOCUS, OnRefresh)
MESSAGE_HANDLER(BM_SETCHECK, OnStateChange)
MESSAGE_HANDLER(BM_SETSTATE, OnStateChange)
MESSAGE_HANDLER(WM_ENABLE, OnRefresh)
MESSAGE_HANDLER(WM_UPDATEUISTATE,OnRefresh)
END_MSG_MAP()
I did not use the WM_ERASEBKGND,and the system will do the default?
Need I to disable this msg?such as :
in handle WM_ERASEBKGND msg,return TRUE.
Great & Free windows software for you
http://www.aisnote.com
|
|
|
|
|