|
my application is dialog based MFC appln. VC 6.0
please help me ASAP.
Thanks
RAM
|
|
|
|
|
Have you considered CDC::SetBkColor() ?
"Love people and use things, not love things and use people." - Unknown
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Hi
I am looking for C program source code. Could you please help me in finding the source code of the required mentioned below.
Task that I need to complete:
Write a program to create multiple threads (one master thread and rest worker threads) and using the threads write into and read from shared memory.
Restrictions:
Only one thread should be able to read at any instant of time into shared memory region.
Only one thread should be able to write at any instant of time into shared memory region.
Worker threads should inform the master thread after every read and write operation.
Master thread inform the worker thread (which is waiting to acquire shared memory region) that read or write operation is successful and it can acquire the memory for either reading and writing operations.
|
|
|
|
|
You can use a mutex to limit access to shared memory to only one thread. You'll have to write the code yourself; that's the point of taking a class.
|
|
|
|
|
Subhankar wrote: Could you please help me in finding the source code...
Isn't the main purpose of your class to create the code rather than find it?
"Love people and use things, not love things and use people." - Unknown
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
What an excellent question! This is a LOT more clearerer than Globule Beats Brick! Here you go, you can write the void main() function:
char data[360];
class rthread {
char* myDataPtr;
rthread(char* ptr){
myDataPtr=ptr;
}
bool write(char* d,int size){
return memcpy(d,myDataPtr,(size>360?359:size));
}
}
class wthread {
char* myDataPtr;
wthread(char* ptr){
myDataPtr=ptr;
}
bool read(char* d, int size){
return memcpy(myDataPtr,d,(size>360?359:size));
}
}
class mthread {
char* myDataPtr;
wthread* myWriter;
rthread* myReader;
mthread(char* ptr){
myDataPtr = ptr;
wthread = new wthread(myDataPtr);
rthread = new rthread(myDataPtr);
}
~mthread(){
delete wthread;
delete rthread;
}
bool read(char* c,int size){
return myReader->read(c,size);
}
bool write(char* c,int size){
return myWriter->write(c,size);
}
}
|
|
|
|
|
I am a beginner and I really don't have any idea about C++. I really in need of C code.
|
|
|
|
|
Hi all,
So, I have an MFC app to encode files in base64 to be sent through email. Here's the code I'm using now :
filename=filename.Right(filename.GetLength()-filename.ReverseFind('\\')-1);
inputfile.Read(filedata.GetBuffer(0),inputfile.GetLength());
filedata.SetAt(inputfile.GetLength(),'\0');
emailbody+="--0000000002230291k492__V\r\nContent-type: "+fileExt+"\r\n";
emailbody+="Content-Transfer-Encoding: base64\r\nContent-Disposition: attachment; ";
emailbody+="filename=\""+filename+"\"\r\n\r\n";
emailbody+=base64_encode(filedata.GetBuffer(0)).c_str();
emailbody+="\r\n\r\n";
inputfile.Close();
I've got no clue of why this code doesn't work properly. It works fine for .txt files and other files that only contain alphanumeric chars, ONLY WHEN the files are smaller than around 5kb. Other files do not work at all, regardless of the size.
here's the base64 encode function I'm using:
inline std::string base64_encode(const std::string &sString) {
static const std::string sBase64Table(
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
);
static const char cFillChar = '=';
std::string::size_type nLength = sString.length();
std::string sResult;
sResult.reserve(nLength * 8 / 6 + 1);
for(std::string::size_type nPos = 0; nPos < nLength; nPos++) {
char cCode;
cCode = (sString[nPos] >> 2) & 0x3f;
sResult.append(1, sBase64Table[cCode]);
cCode = (sString[nPos] << 4) & 0x3f;
if(++nPos < nLength)
cCode |= (sString[nPos] >> 4) & 0x0f;
sResult.append(1, sBase64Table[cCode]);
if(nPos < nLength) {
cCode = (sString[nPos] << 2) & 0x3f;
if(++nPos < nLength)
cCode |= (sString[nPos] >> 6) & 0x03;
sResult.append(1, sBase64Table[cCode]);
} else {
++nPos;
sResult.append(1, cFillChar);
}
if(nPos < nLength) {
cCode = sString[nPos] & 0x3f;
sResult.append(1, sBase64Table[cCode]);
} else {
sResult.append(1, cFillChar);
}
}
return sResult;
}
This function seems to be encoding correctly, while other ones I've found or created don't encode right.
Does anyone have any advice for me? I'm about to give up on this function.
|
|
|
|
|
If you can accept being limited to XP and later, use CryptBinaryToString() .
|
|
|
|
|
How do I change the shadow color in ShadowVolume(DirectX Sample Browser November 2007,July 2004)?
I want to change the color of shadow to be float4(0.7f,0.7f,0.7f,1.0f).
I mean the shadow color is not the g_vShadowColor for debug.
|
|
|
|
|
For example:
In CMyDocument:
std::vector<pair><float,float> m_vec;</pair>
CMyDocument::Serialize(CArchive &ar)
{
if (ar.IsStoring())
{
}
else
{
}
}
modified on Tuesday, June 17, 2008 11:40 AM
|
|
|
|
|
On storing : first store vector size and then each (scalar) element of the vector.
On reading: read the size of the vector, then its size elements.
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
|
|
|
|
|
I tried following code but it working for Progess bar not for Static text.
GetDlgItem(IDC_PROGRESS1)->ShowWindow(SW_SHOW); // Working
GetDlgItem(IDC_STATIC)->ShowWindow(SW_SHOW); // Not working
Kindly provide me solution...
|
|
|
|
|
IDC_STATIC as is won't work. you have to chage it to another name, like IDC_STATIC1 ...
|
|
|
|
|
The IDC_STATIC is default resource id provided for controls which are usually not accessed and manipulated. For instance, static texts, GroupBox etc. If you check the value of IDC_STATIC , you can see its -1 .
So, if you want to manipulate that text control, as toxcct said, change the IDC_STATIC to some other name and access it. Or else GetDlgItem() will fail.
Regards,
Jijo.
_____________________________________________________
http://weseetips.com[ ^] Visual C++ tips and tricks. Updated daily.
|
|
|
|
|
can you tell me how to change the bback ground of label.
Please reply me.
Thanks
Ram
|
|
|
|
|
Are you referring to the background color?
"Love people and use things, not love things and use people." - Unknown
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
ramnathrn wrote: can you tell me how to change the bback ground of label.
I guess you've asked "how to change the background color of label".
Well, override the CWnd::OnCtlColor() in your dialog class. This function will be called for getting the control color of each child control. See here for more detailed description and code sample - http://msdn.microsoft.com/en-us/library/0wwk06hc(VS.80).aspx[^]
Regards,
Jijo.
_____________________________________________________
http://weseetips.com[ ^] Visual C++ tips and tricks. Updated daily.
|
|
|
|
|
Hello,
I have application which makes a call to CreateFile and return handle FILE*, I can write to the file using this handle on XP, but on vista it does not work, it creates the file, but fprintf calls returns -1.
Is there any difference of C Run time library on XP and VISTA ?
Looking forward to hear from you soon.
Many Thanks.
Kamlesh Patel
|
|
|
|
|
krolta wrote: I have application which makes a call to CreateFile and return handle FILE*...
CreateFile() returns a HANDLE , not a FILE pointer.
krolta wrote: ...but fprintf calls returns -1.
Since you opened the file with CreateFile() , you should be using WriteFile() . Otherwise, you'll need to open the file with fopen() .
"Love people and use things, not love things and use people." - Unknown
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Can you use of CFile class?
|
|
|
|
|
i get an error often while i run my project and error is in dlgdata.cpp and saying some-- ASSERT(FALSE);in line 42...what might be the reason for such errors???
Raja
|
|
|
|
|
What does your dialog's DoDataExchange() method look like?
"Love people and use things, not love things and use people." - Unknown
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Did you use of debugger and breakpoints for see more info about error?
|
|
|
|
|
yes.the error occurs when the buttonclick does the domodal() function to show another dialog..there is nothing wrong in my coding..but doesn't know why it occurs!!
Raja
|
|
|
|