|
is there some API or method that can escape SQL strings
for example
exec AddRec 'some string's', 100, 'mike's'
must look like
exec AddRec 'some string''s', 100, 'mike''s'
|
|
|
|
|
If you need to execute the Store from Visual C++ you can do this...
CString strExec = _T("");
strExec.Format("exec AddRec \'some string\'\'s\', 100, \'mike\'\'s\'");
Cheers!!!
Carlos Antollini.
Happy Friday...
|
|
|
|
|
I need to do it automaticly
I need function like this
void escapeSQL(const char *sql, std::string& result);
|
|
|
|
|
And why don't use this:
strExec.Format("exec AddRec \"some string's\", 100, \"mike's\"");
Cheers!!!
Carlos Antollini.
Happy Friday
|
|
|
|
|
Hi,
I looking for a sample to use the ftp transfert file in binary mode.
I would like to know when I create a connection :
1/ if the connection is ok;
2/ if the ftp is finished correctly;
3/ what is the % of the file transfered;
and I would like to know how can I do for transfert packet datas of 8Mbits.
Best Regards,
youssef
|
|
|
|
|
PJ Naughter's CFTPTransferDlg might be what you're looking for.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Hello,
I have created a program that makes a machine move, that program is automatically started by the system.
My program needs a service to be running and the splash screen of that service hides my splash screen during a long time and creates an undesired effect.
My boss has told me that I have to hide that splash screen, it's very important for me to be able to do it.
Is there any way of doing it via changing the start parameters of the service, or can I do it programatically?
As always thank you very much.
|
|
|
|
|
Have you tried calling ::SetWindowPos on your window with flag HWND_TOPMOST ? If you're lucky enough that could do the job. Otherwise, the solution to your problem is going to be more convoluted.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
I'm trying to understand how the string resources ids are converted into the actual strings as i ran into MAKEINTRESOURCE. A number of Win32 API calls accept string resource id wrapped in the above macro. Does anybody know what exactly does MAKEINTRESOURCE accomplish?
Here's how it is defined in WinUser.h
#define MAKEINTRESOURCEA(i) (LPSTR)((DWORD)((WORD)(i)))
Also, while looking at AfxLoadString, i came across the following code in DLLINIT.cpp
<br />
int AFXAPI AfxLoadString(UINT nID, LPTSTR lpszBuf, UINT nMaxBuf)<br />
{<br />
ASSERT(AfxIsValidAddress(lpszBuf, nMaxBuf*sizeof(TCHAR)));<br />
<br />
LPCTSTR lpszName = MAKEINTRESOURCE((nID>>4)+1);<br />
HINSTANCE hInst;<br />
int nLen;<br />
<br />
AFX_MODULE_STATE* pModuleState = AfxGetModuleState();<br />
if (!pModuleState->m_bSystem)<br />
{<br />
hInst = AfxGetResourceHandle();<br />
if (::FindResource(hInst, lpszName, RT_STRING) != NULL &&<br />
(nLen = ::LoadString(hInst, nID, lpszBuf, nMaxBuf)) != 0)<br />
{<br />
return nLen;<br />
}<br />
}<br />
<br />
What is going on here?? The string resource id is right-shifted 4 bits & added 1 & cast as LPSTR and finally assigned to a LPCTSTR variable - this is then used by ::FindResource & ::LoadString to fetch the actual string?? I'm beginning to lose it here!!
Anybody has ideas??
Chen Venkataraman
|
|
|
|
|
|
I think,
that when you do this
LPCTSTR Str= MAKEINTRESOURCE(RES_ID);
you do this
const char *Str= MAKEINTRESOURCE(RES_ID);
which means that your recieve a pointer to where the string is stored.
(*** I don't really sure, but I think that's what happens ***)
BTW: come to #CodeProject on DalNet (mIRC)
|
|
|
|
|
Resources can be identified with either a WORD (0-65535) or a string ID. All APIs that deal with resources take an LPCTSTR parameter as the resource ID. So when you need to refer to a resource with a numerical ID, you use MAKEINTRESOURCE to convert the WORD to a string, which then gets passed to the API.
As for what AfxLoadString() is doing, strings in the string table are grouped in 16-string chunks. (That's why the string table editor in VC has horizontal lines every 16 strings). When one string in a chunk is loaded, all strings in that chunk are loaded into memory at the same time. That code is doing an additional check to make sure nID is referring to a chunk that exists. Just an additional debugging aide, I guess.
--Mike--
http://home.inreach.com/mdunn/
Ford: How would you react if I said that I'm not from Guildford after all, but from a small planet somewhere in the vicinity of Betelguese?
Arthur: I don't know. Why, do you think it's the sort of thing you're likely to say?
|
|
|
|
|
I am developing a project in VC++ regarding mathematics using VC++/MFC. I want to plot "graphs" of various algebraic and trignometric expressions. If you know any article or if you have source code for "exprssion plotting" then please let me know through this forum or e-mail me. I shall be very thankful to you. There are few articles on codeproject that deals with statistical data plotting but not a single that plots the "expressions".
Imran Farooqui
email: imran@imilabs.private.as
Imran Farooqui
|
|
|
|
|
In my application, i consider 2 pointer on 2 array.
double *Qi1=new double[ni1];
double *Qi=new double[ni];
"i" and "i1"(=i-1) are 2 dates.
So, as we could see date i-1 is before date i. In my application i need to know all the value in the array which is pointed by Qi1, to calculate new values in the second array pointed by Qi(we note that ni>=ni1).
But, my pb is that as my application is iterative i do a for loop on the "i", so that at the end of all my calculation, just before going to the next step of the loop, i want that Qi "becomes" Qi1, like that i could continue the iteration, so i think that i have to do a reallocation of my tabs, and i don't know how we could do that. So could you give me a solution?
thanks in advance
gerald
|
|
|
|
|
use vector<double> instead of built-in arrays. Check your VC++ documentation on vector for further info.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Exactly my point
I vote pro drink
|
|
|
|
|
How I cam set the scrollbar position at the middle of the list control.
Thanks
|
|
|
|
|
ListView_EnsureVisible ( hwndList, ListView_GetItemCount(hwndList)/2, FALSE );
This will scroll the list so the "middle" item is visible.
--Mike--
http://home.inreach.com/mdunn/
Ford: How would you react if I said that I'm not from Guildford after all, but from a small planet somewhere in the vicinity of Betelguese?
Arthur: I don't know. Why, do you think it's the sort of thing you're likely to say?
|
|
|
|
|
Hello everybody. I'm new here, so I apologyze if this question is inadequate or has been answered before.
I usually program in VB in my job, but I'm using my little free time to learn C++. After learning the basics (I've programmed in C for some years, so the basics are easy), I'd like to do something useful for my VB programs in my company. I'd like to create some good looking flat buttons that get colored when the mouse is on them, and grey when the mouse leaves. I'd like to do it as an ActiveX control, so I can use them in my VB programs.
So what I'm looking for is a tip, an advice, something to begin with... maybe a url with examples or the name of a good book... maybe an article here???
Anyway, thanks in advance.
José C.
José Carlos Martínez Galán. Computer analyst and programmer.
I work in software developement since 1995. Mainly under Windows.
|
|
|
|
|
I'd recommend using ATL to create your control. Beginning ATL 3 COM Programming by Richard Grimes is a good book to get started with. I also found Programming Microsoft Visual C++ by Kruglinski to be useful.
There are some good ATL/COM articles on CodeProject and there are some very cool button controls too.
Michael
|
|
|
|
|
Add a CButton in an active X control...
how can I do that
Remi Morin
Rmorin@Operamail.com
Remi.Morin@Lyrtech.com
|
|
|
|
|
When invalidating the client area the background refreshes OK but the main toolbar does not.
Any ideas?
|
|
|
|
|
something like:
((you'rMainFrame*)((You'rApp*)afxGetApp())->GetMainWnd())->m_ToolBar.Invalidate();
I'm not sure, it's an Ideas
Remi Morin
Rmorin@Operamail.com
Remi.Morin@Lyrtech.com
|
|
|
|
|
I have collected all the items on the dialog by executing
"GetNextDlgTabItem()", this function returns the pointer of CWnd. now i want to know whether this pointer points to a "CButton"Object or "CEditBox" Object.
I mean i want to know the type of control.
or any other solution in your mind..
.......
I want to get the collections of items on a dialog Box and then manipulate these items according to their type.
|
|
|
|
|
Use IsKindOf()
like this
CWnd* pWnd = GetNextDlgTabItem();
if(pWnd && pWnd->IsKindOf(RUNTIME_CLASS(CEdit)))
//edit box
else if(pWnd && pWnd->IsKindOf(RUNTIME_CLASS(CButton)))
//button
else
//whatever
|
|
|
|