This week our
trainee software engineer Joe has made/developed his first tool that will be used by
Objektum at a customer site. He tells us about his experience.
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 sub-directories 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 Problem
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 sub-directories. 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.
The thought that I would have made a tool that will be
used by a customer within the first year of starting my programming experience
was something that hadn’t even come to mind. It made me realise that I am
making good progress and I just need to keep practising and learning and it
will not be long till I can contribute a lot more than just a simple tool to
the company.