|
If you read the HTML output directly then there will be a load of stuff that you are perhaps not interested in. The answer is to find some classes that help you find specific parts quickly, and C++/MFC does not offer the facilities that are available in .NET. Most web scrapers are written in the latter framework using C# or VB.NET. As to what information to send to the website, that depends on the website itself as each one has its own structure.
|
|
|
|
|
Bryan Anslow wrote: Go to the webpage, wait while the page loads, "select" the data in the webpage by dragging my mouse over it, Copy to clipboard, call up my text editor, Paste the data into the editor, save the output, analyze the data using my C++/MFC Analyzer. I think you can replace all but the last of these steps with URLDownloadToFile().
"One man's wage rise is another man's price increase." - Harold Wilson
"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
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|
|
Hey, that works well, thanks for pointing me at that function.
My minor hurdle right now is that I need to login with my userid and password to access one of the pages.
Don't suppose that there is some way of getting my credentials in there somehow?
Thanks,
Bryan.
|
|
|
|
|
See if NetUseAdd() helps.
"One man's wage rise is another man's price increase." - Harold Wilson
"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
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|
|
I got the word that I am supposed to be ready to take on some MFC work
I'm starting here with this link...
Tutorial by Sung of the University Of Washington / Bothell[^]
I found THIS PAGE[^] on Microsoft's website, but my impression is that that page is for experts who already know everything about it.
I welcome helpful suggestions on where to look, read, practice, etc.
modified 2-Jun-14 6:53am.
|
|
|
|
|
|
Books by Jeff Prosise have been helpful to me and many others.
|
|
|
|
|
hello my friends. how i can pause a timer in qelapsedclass in qt?
i looked for but i couldnt find any function . can anyone help me?
thanks
|
|
|
|
|
|
Hi world. how i can convert a QString to char* in QT?
is there any function?
thanks
|
|
|
|
|
|
|
hi world. I am looking a function or attributes in class qtimer in qt that holds the time passed. can anyone say me is there any function or attributes that hold or return the time passed?
thanks
|
|
|
|
|
|
|
thank you very much my friend. you help me very much
|
|
|
|
|
hi every body , i have a project using c++(QT) , i want to detect any file change(remove, create..) in a directory , i found The Ultimate Toolbox file watcher Demo , and it's works fine and it will help me a lot if i find the source code , but when it try to download the source code it show me this message :
Ticket: (No ticket provided - possibly an error in the error-system)
Error: An error occurred in this page. The error has been recorded and the site administrator informed.
Abort, Retry, Fail?
so please if any one have the source code give it to me (my e-mail if you want : aminescm3@gmail.com) or juste put the link here.
|
|
|
|
|
|
Read about ReadDirectoryChangesW() and FindFirstChangeNotification().
"One man's wage rise is another man's price increase." - Harold Wilson
"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
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|
|
I'm using Visual Studio 2013.
I don't konw why get crash in these following scenarios. What am I missing?
Crash in this function:
extern "C" _CRTIMP int __cdecl _CrtIsValidHeapPointer(
const void * pUserData
)
{
if (!pUserData)
return FALSE;
if (!_CrtIsValidPointer(pHdr(pUserData), sizeof(_CrtMemBlockHeader), FALSE))
return FALSE;
return HeapValidate( _crtheap, 0, pHdr(pUserData) );
}
Scenario 1:
std::shared_ptr<int> foo()
{
std::shared_ptr<int> p(new int(10));
size_t cnt = 10;
while (cnt--)
p.get()[cnt] = roll_die();
return p;
}
void func(int* ptr, size_t cnt)
{
while (cnt--)
{
cout << ptr[cnt] << endl;
}
}
void main()
{
std::shared_ptr<int> u_ptr = nullptr;
u_ptr = foo();
func(u_ptr.get(), 10);
}
Scenario 2:
std::unique_ptr<int> foo()
{
std::unique_ptr<int> p(new int(10));
size_t cnt = 10;
while (cnt--)
p.get()[cnt] = roll_die();
return p;
}
void func(int* ptr, size_t cnt)
{
while (cnt--)
{
cout << ptr[cnt] << endl;
}
}
void main()
{
std::unique_ptr<int> u_ptr = nullptr;
u_ptr = foo();
func(u_ptr.get(), 10);
}
modified 29-May-14 4:52am.
|
|
|
|
|
|
CPallini wrote: Scenario 1 doesn't 'crash' on my system.
I'm using Visual Studio 2013.
|
|
|
|
|
Please, see my updated answer.
Veni, vidi, vici.
|
|
|
|
|
It took a while, but I just figured that out too.
|
|
|
|
|
Richard MacCutchan wrote: t took a while, but I just figured that out too.
Yes, sometimes it takes a while to figure out we need more and more caffeine.
Veni, vidi, vici.
|
|
|
|