We have a mySQL database on a Windows 2000 server that is connected to the Internet (we'll call this Site A). We need a Delphi application (DPR/EXE) written that will reside hundreds of miles away (we'll call this Site B) that will run on a Windows desktop, and which will make connection to the mySQL database at Site A. Once a connection has been made, we need the desktop app to be able to browse/navigate through all the fields in one specific table. There are 124 fields in the mySQL table. We want these fields to be place on 8 tabbed pages, with description labels prefacing the data fields. The 124 data fields will include the display of up to 6 images. The images do not reside inside the mySQL table, but the images' file names are stored in the table on the Site A server. I will need the Delphi desktop app to make an FTP connection to the Site A server, and download all of the image files to the Site B's hard disk. Only images that do not reside on Site B's hard drive need to be transferred (automatically) when a connection to the Site A server takes place. I will let you know that we already have a Delphi 7 project/source that makes the connection to the Site A server. We had this basic task written by a programmer who has unfortunately been fired very shortly after he was given the project. You can see a screen snapshot of the bare bones interface he wrote, and how far he got before he was removed.
## Deliverables
We have a mySQL database on a Windows 2000 server that is connected to the Internet (we'll call this Site A). We need a Delphi application (DPR/EXE) written that will reside hundreds of miles away (we'll call this Site B) that will run on a Windows desktop, and which will make connection to the mySQL database at Site A. Once a connection has been made, we need the desktop app to be able to browse/navigate through all the fields in one specific table. There are 124 fields in the mySQL table. We want these fields to be place on 8 tabbed pages, with description labels prefacing the data fields. The 124 data fields will include the display of up to 6 images. The images do not reside inside the mySQL table, but the images' file names are stored in the table on the Site A server. I will need the Delphi desktop app to make an FTP connection to the Site A server, and download all of the image files to the Site B's hard disk. Only images that do not reside on Site B's hard drive need to be transferred (automatically) when a connection to the Site A server takes place. Here are some additional requirements: + Store global variable parameters in an INI, such as domain, IP (if necessary), username, password, table name, server local folder path to image folder, FTP IP, FTP userid, FTP password (Note: Much of this has already been accomplished. See final comments below). + Create a form that allows NEXT / PREVIOUS browsing of the records. + Appropriate error messages are displayed should the table on the server not be reachable/connectable. + Create/force a new folder on the user's local hard drive. It should be stored in a folder in the "c:\documents and settings\%username%\MatchMaker\pics" folder. + All of the images on the server in the \pics folder need to be copied to the local PC *IF* the image(s) do not already exist on the user's hard drive. Use FTP to accomplish this. Show a progress bar in a popup window to indicate progress of download of images. + On the "images" tabbed page, you will need to display thumbnails of the images, with the titles below them. Double clicking the thumbnail will display the image in a full screen popup window. + Closing the program disconnects the app from the server and logs out the user from any connected sessions, and closes any image windows. + in addition to PREVIOUS and NEXT record buttons, we also need a DELETE (current record) button that will delete the current mySQL record on the Site A server. A "Are you sure you wish to delete this record?" confirmation window will appear first, however. + If any changes are made to the fields in the desktop app, the app must automatically post the changes back to the mySQL server at Site A. I will let you know that we already have a Delphi 7 project/source that makes the connection to the Site A server. We had this basic task written by a programmer who has unfortunately been fired very shortly after he was given the project. You can see a screen snapshot of the bare bones interface he wrote, and how far he got before he was removed: [login to view URL] The connection to the mySQL table on the server is accomplished through the [login to view URL] that accompanied mySQL 5.0. We already have a class-wrapper written in Pascal that will allow the Delphi project to access the server. See [login to view URL] (in Russian) There will be no data grid required. Just display one record at a time, with a single record's fields displayed on the 8 tabbed pages. There will be no insertions to the table on the server, but there may be EDITS to the fields, like correcting misspellings.
## Platform
Windows XP, 2000.