|
Hi ,
I am using this RasSetEntryProperties() function to write entries in phone book.
In Windows Xp machine i got all the properties properly.
But in Vista machine these following etries are not been created.
PhoneNumber=
AreaCode=
CountryCode=1
CountryID=1
UseDialingRules=0
Comment=
Can you please let me know what is the difference in vista in this context?
Thanks in advance...................
Birajendu
SonicWALL
Bangalore
India
|
|
|
|
|
Anyone know a C++ function or library that can be used for percent decoding? I need a function that can take urls of the type "http%3A%2F%2Fwhatever.com" and turn it into "http://whatever.com". I searched on google but couldn't find anything.
I hope there is a standard function in some library (may be boost, I've heard it has nearly everything in it). But since URL decoding is a common problem there has to be some pre-cooked solution for it.
Write now I use code that I've written myself but it only works for 5-6 of the most common symbols, and it's definately not optimized!
std::string s2;
s2.reserve(m_RealUrl.size());
for (size_t i = 0; i < m_RealUrl.size(); i++)
{
if (m_RealUrl[i] == '%')
{
if (!strncmp(&m_RealUrl[i], "%3A", 3))
s2 += ':';
else if (!strncmp(&m_RealUrl[i], "%2F", 3))
s2 += '/';
else if (!strncmp(&m_RealUrl[i], "%3F", 3))
s2 += '?';
else if (!strncmp(&m_RealUrl[i], "%3D", 3))
s2 += '=';
else if (!strncmp(&m_RealUrl[i], "%26", 3))
s2 += '&';
else if (!strncmp(&m_RealUrl[i], "%25", 3))
s2 += '%';
i += 2;
}
else
s2 += m_RealUrl[i];
}
There is sufficient light for those who desire to see, and there is sufficient darkness for those of a contrary disposition.
Blaise Pascal
|
|
|
|
|
Try the Wininet[^] api, it has methods to canonize an URL, maybe it has something to do the job the other way too...
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> Life: great graphics, but the gameplay sux. <
|
|
|
|
|
|
Thanks, that was just what I needed!
There is sufficient light for those who desire to see, and there is sufficient darkness for those of a contrary disposition.
Blaise Pascal
|
|
|
|
|
|
And if you're using MFC, there is AfxParseURLEx[^] function.
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
I wrote this code
std::string url = "http%3A%2F%2Fsomething.com/index.php";
CString server, object, username, password;
DWORD service_type;
INTERNET_PORT internet_port;
AfxParseURLEx(url.c_str(), service_type, server, object, internet_port, username, password, ICU_DECODE);
But after the call to AfxParseURLEx both server and object are "". Is this the correct usage of AfxParseURLEx?
There is sufficient light for those who desire to see, and there is sufficient darkness for those of a contrary disposition.
Blaise Pascal
|
|
|
|
|
|
Is it really conceivable that the :// characters would be escaped? I just tried your code snippet with escaped characters in other parts of the URL and it worked fine.
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
DavidCrow wrote: Is it really conceivable that the :// characters would be escaped?
Right click on this page and select View Source and scroll to the bottom. You may find an escaped URL hiding in there. Escaped URLs are very common in browser ads and malware for evading spam/ad-blocking technologies.
I'm not implying the purpose of the escaped URL on codeproject is for nefarious deeds!
Best Wishes,
-David Delaune
|
|
|
|
|
Actually the URL that broke my code and made me start searching for a generic unescape function had :// escaped.
There is sufficient light for those who desire to see, and there is sufficient darkness for those of a contrary disposition.
Blaise Pascal
|
|
|
|
|
Fair enough. I just had never seen one.
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
// I suggest the following:
std::string s2 = m_RealUrl;
std::replace(s2.begin(),s2.end(),'+',' '); // ascii 32 decodding
s2 = decode_percents( s2 );
// I found decode_percents function in Boost 1.41.0 Inspect Tool library
std::string decode_percents(std::string const& url_path)
{
std::string::size_type pos = 0, next;
std::string result;
result.reserve(url_path.length());
while((next = url_path.find('%', pos)) != std::string::npos)
{
result.append(url_path, pos, next - pos);
pos = next;
switch(url_path[pos]) {
case '%': {
if(url_path.length() - next < 3) return "";
char hex[3] = { url_path[next + 1], url_path[next + 2], '\0' };
char* end_ptr;
result += (char) std::strtol(hex, &end_ptr, 16);
if(*end_ptr) return "";
pos = next + 3;
break;
}
}
}
result.append(url_path, pos, url_path.length());
return result;
}
http://www.boost.org/doc/libs/1_41_0/tools/inspect/link_check.cpp[^]
Regards,
Djalma R. Santos Filho
|
|
|
|
|
Hi,
I'm back again with another question. I have a dialog which holds a tab control only. For each tab I created a dialog where I set the settings to border: no, style: child and control: on (Perhaps I used other words than the ones in Visual Studio because I use the german version)
So far this works just fine. I can open the different dialogs by selecting the adequate tab. Now I try to make a dialog on one of the tabs (let's call it dialog 1) which contains child dialogs (dialog 2) itself. I did everything like with the other dialogs, but I only see the controls which are directly on dialog 1, the dialog 2 is not there. My supposition is that it is either somehow hidden or behind dialog 1.
Anyone has an idea? Thank you.
|
|
|
|
|
if d2 is child of d1 it is in d1 and the controls of d1 will overlap d2. hide d1 (or the controls= and bring d2 to top.
If you use MFC you can build a propertysheet.
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
Hi KarstenK,
in dialog1 I have space reserved where I want to insert dialog2.
Dialog1 only contains two static texts and one GroupBox, I also tried both settings for the visibility but it didn't change anything.
I'm using MFC, but never came across those property sheets. Perhaps I can find the solution there.
Thank you so far.
|
|
|
|
|
Propertysheets are one of the best features of the MFC and really simple: http://msdn.microsoft.com/de-de/library/d3fkt014(VS.80).aspx
At the end of the site are links to samples.
You make dialog-resource and create a CPropertyPage class with the wizard and call AddPage to a sheet...
If you have WTL -> http://www.codeproject.com/KB/wtl/WTL4MFC8.aspx
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
You're right! Property sheets really are quite useful once you know how to deal with them.
But: I still don't know how to add another subdialog to the dialog, respectivly how to include a property page within another property page.
|
|
|
|
|
I am confused! what is your primary aim in this task?
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
I'll try it graphically:
|---------------------------- - -
| Tab 1 | Tab 2 | Tab 3 |
|---------------------------- - -
|
| static text: dynamic text
|
| |-----------| |-----------|
| | . . . . . . .| | . . . . . . |
| | dialog2 | | dialog2 |
The static text and the dynamic text are there everytime, that's why they are in dialog1. Depending on the settings below these texts there can be one to three columns which are identical except they have different values. So I try to dynamically add this dialog as often as it is needed.
Was this comprehensible enough?
|
|
|
|
|
in this case i would create all controls of the dialog2 in dialog1 with different IDs and use showwinow() to show the needed controls.
Is that too easy?
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
Well, that's how I would have done it normally as well but I thought there must be an easier way. I'm aware that in the time it took me searching for another solution I could have done all the writing as well but it would be easier to administrate the way I imagined it because I could easily add all the controls which are needed at once.
Mh, but it looks like I must go the normal way.
Thank you very much for your help.
|
|
|
|
|
SutterA wrote: I'm using MFC, but never came across those property sheets. Perhaps I can find the solution there.
They are far easier to use than a tabbed control.
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
Do these "invisible child dialogs" have the style "Visible" set to "True" in dialog editor?
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> Life: great graphics, but the gameplay sux. <
|
|
|
|