The tool that I have written is called the FileCopier; its primary functions are to take a list of file names and search a directory and all the subdirectories within for each file in the list. Once it has found the file it then copies it to an output destination, selected by the user.
The initial idea of the tool was simple, find a file within a nested directory structure and copy it to another directory. It was time to turn this idea into a tool. I started out by creating a simple form that would allow the user to select a file which contained a list of file names that were going to be searched for, select the directory that was going to be searched and then where the documents were going to be copied to.
The code behind the form
This was my first pressured programming experience, the deadline was very close and I didn't have much of an idea of where to start. Getting all the buttons on the form to work seemed like a good start, and after a few initial hiccups with trying to select a directory in VB6 that will be searched, I was able to find a working solution for all the button click events.
The next part was the one that I thought I was going to struggle with; recursively searching for the file in each directory and its subdirectories. After a couple of hours of writing pseudo code and working with the VB6 file IO libraries I finally found an elegant solution. With the help of Derek and Todd I was able to implement the code that made it possible for the files to be searched and copied to the target directory.
I thought that was the tool complete but we still had some small bugs in the code. It was then time to run through and pick through every small detail and make sure that it was functioning correctly. The first problem we found was that the tool was still continuing to search after it had found the file, because we didn't tell the program to exit and search for the next file in the list as soon as it had found the one matching the file name. Tracking down the problem was the hard part, but the fix was fairly easy once we had found it.
After a few more small changes I had created my first tool for Objektum Modernization. After tidying up the form it was ready for use.