I have also attached the design of the program and also the old version made by me (see "Old" folder) so you can get the idea.
To get a basic idea, all it does is to login to [login to view URL], extract the items (sold, not sold and deleted) and for those that can be made second chance offers, go to the page with bidders of a specified item and extract the bidders.
This should do for a list of users. Below is an example of how this can be done.
Example:
1. frmPassword - Password
If the predefined (in the source code) password is entered then open the main form, "frmMain - Bidders Extractor". If a wrong password is entered the exit the program. If the "X" button is pressed the exit the program.
The password should be somehow encrypted, because if the program goes on someone elses hands they can't use it.
2. frmMain - Bidders Extractor
Memo1 - Users
Users are entered one per line, in this format: Username|Password|Feedback;
Memo2 - Log Viewer
Each of the following actions should be logged:
- When moving to another account: "***** Username - Password *****";
- If signed in: "Signed in...";
- If not signed in: "Invalid password...";
- If Captcha detected: "Captcha: Yes";
Memo3 - Bidders
Bidders should be written one per line, in the format specified on "Settings > Bidders" form. Also, when bidders are extracted, DO NOT add duplicate bidders. I will explain later.
You can use Lists, but the design should look the same. I prefer Memo's because are much easier to copy/paste/delete/cut.
When the "Start" button is pressed it should start and log in to the website and get the bidders. Also, it should change the caption to "Stop", so the project should also be stopped. It can only stop after the current user has been processed.
On the Status Bar, should be written on each change the following: "Processing username (current user)/(total number of users)..." if the first part of the Status Bar. In the second part should be written "(total number of bidders) offers".
I want the program to be fast and good at the same time. Don't use other DLLs or components that aren't available in Delphi.