|
Try this Ravi:
CString str = "-123";
int i = atoi((LPCSTR)str);
If it didn't work, simply remove '(LPCSTR)'
|
|
|
|
|
LPCSTR is not necessary. CString has a built-in operator that returns a LPCTSTR.
|
|
|
|
|
Hi Ravi,
We have ready made function for data conversion. You can use the following function to convert CString to int.
CString str = "-123";
int i = atoi(str);
This may be helpful you.
Regards,
Venkat
|
|
|
|
|
we can use that CString class method
such as string Format
CString str = " ";
int i;
i = str.Format("%d",str);
|
|
|
|
|
maheswara wrote:
i = str.Format("%d",str);
CString::Format() dosen't return any value.
suhredayan There is no spoon.
|
|
|
|
|
yeh
it does not any return any value
|
|
|
|
|
maheswara wrote:
yeh
it does not any return any value
So your following suggestion :
i = str.Format("%d",str);
is not correct and CString::Format function is not for converting a string to integer, though you can use it for the reverse purpose.
|
|
|
|
|
no,
CString::Format() only formats a string with some parameters to put into the CString object...
there's no function into the CString class to make the opposite operation.
moreover, here is what MSDN tells us :
void __cdecl Format(
UINT nFormatID,
[, argument]...
);
void __cdecl Format(
PCXSTR pszFormat,
[, argument]...
);
CString::Format() don't return anything !!
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
Venkat Bodapati wrote:
We have ready made function for data conversion. [...]
int i = atoi(str);
you wrote atoi() ??? wow, great... i'd be very curious to see the source (YOUR source) ... !
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
Hello Programmers,
I am having a program that aquires live video signals and displays them on a picture holder. I am trying to identify the pixel color as the user clicks on the video screen. The program gave me an RGB number but obviously not correct. The following is the program on an MFC dialog based application.
void CIdsSimpleLiveDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CString hi;
int ali;
CWnd *pDesktop = GetDlgItem(IDC_DISPLAY);
CDC *pDC = pDesktop->GetWindowDC();
COLORREF clr = pDC->GetPixel(point.x,point.y);
ali = (GetRValue(clr)+GetGValue(clr)+GetBValue(clr))/3;
hi.Format("%d",ali);
AfxMessageBox(hi);
pDesktop->ReleaseDC(pDC);
CDialog::OnLButtonDown(nFlags, point);
}
Note that the notation 'IDC_DISPLAY' represents the ID of the picture holder.
Thanks in advance
|
|
|
|
|
|
yes I am displaying the video and at the same time trying to process the pixels. The problem is that the program doesn't seem to be responding as it does with still images.
|
|
|
|
|
hiho@ll
i just need to sniffer what the user enters and the exact mouse events the user makes (mouse click (which button), mouse moves)
and i need to send such events to the OS (windows)
the problem: 1. i really have no idea how this could work
2. how can i send such events to the OS on an independent way
this means, i just don't know which window is focused (which application gets the events) and that's also what i want! i want to send these events to the OS which processes it for the right application! i don't want to know which app is focused because it's not necessary for what i need to do! (well, later maybe it will be necessary but that's another topic/post)
thx@ll
|
|
|
|
|
Hi,
to log the users keyboard and mouse activity you'll have to take a look
at the 'SetWindowsHookEx' function. This allows you to set system-wide keyboard and mouse
hooks which will receive all keyboard and mouse activity.
Once you have captured the events you can make use of the 'SendInput' function
to send the events to the OS which will handle them as if you were really
typing or moving the mouse...
Don't think you are, know you are...
|
|
|
|
|
Global hook is the solution to your problem, but hooks are not stable and are specifically used for debugging purposes.
While implementing the global hooks be curious O.W it would screw entire system.
Have a look at the API's
SetWindowsHookEx, UnhookWindowsHookEx etc...
You can get tons of information about hooks on codeproject and online MSDN.
All the best !
Cheers,
Vishal
|
|
|
|
|
|
Hi,
I want to disable some functions in the release build.
This is the fucntion:
void func1(...)
{
#ifdef _DEBUG
func2();
#endif //_DEBUG
}
I still see the outputs of func2() in the release build.
My preprocessor definitions for the
release build: WIN32;_CONSOLE;NDEBUG
debug build: WIN32;_CONSOLE;_DEBUG
I don't understand what is wrong. How can i solve the problem? Any help appreciated.
Thanks in advance
|
|
|
|
|
caykahve wrote:
I still see the outputs of func2() in the release build.
i don't understand well.
does func2() execute ?
what happens when you explicitely write a #undef _DEBUG (at the begining of stdafx.h for example) ?
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
Yes func2() executes. I wrote #undef _DEBUG in stdafx.h and it still executes.
|
|
|
|
|
did you try rebuilding the whole project ?
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
I always choose "Rebuild Solution" from build menu. i am using Visual Studio .net 2003 BTW.
|
|
|
|
|
|
|
Use the /P compiler switch on this file. It will preprocess the file into a file with a .i extension. Open that file and look for func1() . That will let you know if _DEBUG is being seen by the preprocessor or not.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
It's hard to believe that your function gets executed. Maybe you call func2 somewhere else?
Try using the debugger and set a breakpoint in func2. Then see the callstack for the caller.
Behind every great black man...
... is the police. - Conspiracy brother
Blog[^]
|
|
|
|