|
JKallen wrote: Is the message you cannot sort more than 3000 items using a quick sort algorithm?
No, the message is that apparently you can't do that using this particular implimentation.
JKallen wrote: ie is there a way to manage the recursive calls dynamically?
Not that I know of. I believe you can change your stack size, but this is a poor solution IMO.
Christian Graus - Microsoft MVP - C++
Metal Musings - Rex and my new metal blog
|
|
|
|
|
|
I've not ever seen top/bottom used with quicksort. I use left/right. That aside...
The reason for the endless recursion is that top is always LT bottom . See if this helps:
void Sample::quicksort( int top, int bottom )
{
if (top < bottom)
{
int nMiddle = partition(top, bottom);
quicksort(top, nMiddle<code> - 1</code>);
quicksort(nMiddle + 1, bottom);
}
}
"Money talks. When my money starts to talk, I get a bill to shut it up." - Frank
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
|
If you are familiar with xcacls.exe (provided by Microsoft) it lets you view the NTFS access control lists for a directory. However, it only lists global (AD) security groups and doesn't know how to resolve local security groups. Example : SERVERNAME\Local_Group_01
When right clicking a folder in Windows Explorer, both local AND global groups are displayed properly.
Before I start on this and hit a potential roadblock, does anyone know if GetExplicitEntriesFromAcl ([^]will return detail about the local security groups that might be included in an ACL?
|
|
|
|
|
hopr u mentioned about cacls.exe and not xcacls.exe. cacls list both local sids and domain sids. tahts how it works. alternatively u can use GetExplicitEntriesFromAcl as well. I donno why it displays only domain sids in ur case?
cheers..Milton Kb
|
|
|
|
|
Can someone help me my problem?
How can do i compare two images?? what i need is just a simple comparison... E.g. After both images are being compared, a message will say either "correct" or "wrong" that's all....
Thanks,
Best Regards....
|
|
|
|
|
You can load them into a DC and use GetPixel, but it's much faster if you can make them a DIBSEction, and then you can access the image data as a byte array and compare it.
Christian Graus - Microsoft MVP - C++
Metal Musings - Rex and my new metal blog
|
|
|
|
|
The easiest way is to use GetDIBits() on each bitmap and do a memcmp() on the image data.
You may be right I may be crazy -- Billy Joel --
Within you lies the power for good, use it!!!
|
|
|
|
|
can you send me the code for comparing 2 images
|
|
|
|
|
I think i see an article in http://www.codeguru.com[^] for compare two images,yesterday?i want to send you address this article but i dont know its name.
|
|
|
|
|
Hi guys.
Now I'm making IE tool bar, like google tool bar, wanting to use both Japanese and English.
Anyone help me out with AtlEscapeUrl by using multibyte code.
following is my source...
============================================================================================
LRESULT CBandToolBarCtrl::OnVarableLink2(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
CString ss = "";
switch(m_nCurrentConfigInfo)
{
case ButtonInfo:
ss = (LPCSTR)m_ptConfigInfo->m_ptButtonInfo[m_nCurrentConfigIdx].URL;
break;
case MenuInfo:
ss = (LPCSTR)m_ptConfigInfo->m_ptMenuItem[m_nCurrentConfigIdx].URL;
break;
}
TCHAR cValue1[1024];
TCHAR cValue2[1024];
m_ctlBandComboBox.GetWindowText(cValue1, sizeof(cValue1));
m_ctlBandComboBox.Process(cValue1);
CString sSJIS = cValue1;
CString sEUC;
int ires;
LPWSTR wbuf;
LPSTR putf;
ires = MultiByteToWideChar(CP_ACP, 0, cValue1, -1, NULL, NULL);
wbuf = new WCHAR[ires+1];
ires = MultiByteToWideChar(CP_ACP, 0, cValue1, -1, wbuf, ires);
strcpy_s(cValue2,cValue1);
switch (m_eURLCode)
{
case ConvSJIS:
break;
case ConvEUCJP:
sEUC = SJIStoEUC(sSJIS);
strcpy_s(cValue2, sEUC);
break;
case ConvUTF8:
// checking buffer size
ires = WideCharToMultiByte(CP_UTF8, 0, wbuf, -1, NULL, 0, NULL, NULL);
if (ires > 0)
{
putf = new char[ires+1];
ires = WideCharToMultiByte(CP_UTF8, 0, wbuf, -1, putf, ires, NULL, NULL);
if (ires > 0)
{
putf[ires] = 0;
strcpy_s(cValue2, putf);
}
delete [] putf;
}
break;
}
int sz;
CHAR buf[2048];
sz = sizeof(buf);
if(AtlEscapeUrl((LPCSTR)cValue2,(LPSTR)buf,(LPDWORD)&sz,(DWORD)sz) == TRUE)
{
ss.Replace("%%%%", buf);
_variant_t varURL = ss;
_variant_t varEmpty;
m_pWebBrowser->Navigate2(&varURL, &varEmpty, &varEmpty, &varEmpty, &varEmpty);
}
return 0;
}
============================================================================================
and anymore information, or anything you need,
please send me mail or MSN messanger
here's my address
atsuki0714@hotmail.com
thank you all.
Atsuki
|
|
|
|
|
Hello everyone!
I want to make a (purpose-specific) scripting language... Similar to JavaScript, but somewhat simpler. How would I do that? I don't know ASM... How do I make a parser for the language? Something like...
; Check for response<br />
!result = mb "Hello!" $msg ??? ???<br />
<br />
; If OK was pressed,<br />
if !result = MB_PRESS_OK<br />
; Then it's OK.<br />
mb "Bye!" $msg2<br />
endif
I doubt I'll really need math at all, but... Any ideas? Thanks!
Windows Calculator told me I will die at 28.
|
|
|
|
|
There is at least one edit box designed to syntax highlight code here on CP ( I used it years ago to build a Python IDE ), I imagine it would have code that would show some good direction in how to parse a file looking for keywords for code.
Christian Graus - Microsoft MVP - C++
Metal Musings - Rex and my new metal blog
|
|
|
|
|
Can't find it... Does anyone know where it is? Thanks!
Windows Calculator told me I will die at 28.
|
|
|
|
|
For writing a parser you can use flex and bison. Both are freeware tools. As target language it is not necessary to use ASM. You could use any language for that. Since bison fully supports C code, you als can handle the input for teh parser directly to perform you calculations. This is waht an interpreter normally would do.
I hope you have a lot of spare time. Writing compilers is a lot of work
|
|
|
|
|
I am currently using the Typelib wrappers for MSXML that was generated from the MFC Typelib Class wizard. I think I am using the objects incorrectly, and this is generating unhandled exception errors.
I use wizard MFC Class from Typelib to generate wrapper classes for the MSXML5 control (CXMLDOMDocument, CXMLDOMElement, CXMLDOMNode, and CXMLNodeList). The exception occurs when I pass a CXMLDOMNode reference to a function that I want it to work on by stepping down farther in the node tree. For example:
If(m_XMLDOMroot.hasChildNodes())
{
int rootchildcount = RootNodeList.get_length();
for(int i = 0; i < rootchildcount; ++i)
{
CXMLDOMElement childnode = RootNodeList.get_item(i); <- This code sometimes user breaks
SetChildNode(childnode);
}
}
Robert
|
|
|
|
|
Is SetChildNode(...) removing nodes/elements from the NodeList? This causes the length of the NodeList to decrease as your looping which causes 2 errors.
1) If rootchildcount was originally 10, and nodes are being removed, your still comparing against a length of 10, even though there are fewer than 10 nodes in the list.
2) Incrementing i for any iteration where a node was removed from the list, will cause your code to skip over the node (in the nodelist) following the node that was just removed.
|
|
|
|
|
To answer you question, and give move clarification. I am not removing any nodes. I am just accessing them to pull the information out of the nodes.
I have notice that in some case the nodelist size if different sizes, cause sometimes there is a TEXT_Element in the list. I just do not understand this nomial yet. But this is for different files.
Robert
-- modified at 14:10 Thursday 10th August, 2006
|
|
|
|
|
I would suggest that you change your code to check the length of the node list on every iteration of the loop.
if(m_XMLDOMroot.hasChildNodes())
{
for(int i = 0; i < RootNodeList.get_length(); ++i)
{
CXMLDOMElement childnode = RootNodeList.get_item(i); <- This code sometimes user breaks
SetChildNode(childnode);
}
}
|
|
|
|
|
I did what you sugguested, and the size of the rootNodeList is not changing.
So any other sugguestions?
BTW- Thanks for all the help given so far.
Robert
|
|
|
|
|
What's the exception your getting?
|
|
|
|
|
How can I get what file handle is associated with an open file if I only know the name of the file? In VC++6 please.
|
|
|
|
|
I think that would require a device driver of some sort. Can you get by with parsing the output from Handle?
"Money talks. When my money starts to talk, I get a bill to shut it up." - Frank
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
Hi,
CDocument which handles all serialization.
Ex: if your CSampleDoc is derived from CDocument means
CSampleDoc::Serialize(CArchieve &ar)
{
ar.GetFile() //to get the file handle
}
|
|
|
|