INTRODUCTION |
This is the second review out of seven along my 15 week-placement in British Steel.
During the past two weeks, I concentrated myself on the task of learning advanced usage of Visual Basic. To do so, I planned three small projects that will be very useful for the final program.
The Neural Network (NN) that will be used to try to decide if a particular case is a potential breakout has to be trained from the archives from British Steel Database which contains a record of every alarm that occurred in the few last past years. In fact, each alarm is stored in one compressed file and several programs are used to visualise/convert the data.
|
THE PROJECTS |
All of the three small projects I planned deal with the Input Data File that will be used to train the NNs. The aim of these project is to convert the files from British Steel own format to an easy-to-use file that will let the user browse the data quickly and efficiently.
The problem is that each file has to be converted one by one with a DOS program. It is easy but for now there are nearly 8000 files and that is not everything yet, so it would be impossible to do everything manually.
The screenshots page gives some more details about them.
|
MORE PROGRAMS |
I have also made a few programs to learn more about Visual Basic and the standard Windows functions. These programs are not really of great interest, but it allowed me to understand how VB is interacting with Windows through the API. It allowed me as well to comprehend how the windows and the different controls are managed by the Operating System.
The very first one is a windows displaying some information about the memory usage. How much physical memory is used, how much virtual memory is stored on the hard disk, for how long the system has been running since the last reboot are some of the features I included. In fact this program is really useful for me since I use it to control the memory usage of my other programs and it allowed me to correct several bugs I wouldn't have detect otherwise.
The other programs I made include a list of all open windows and all running processes, a screen capture and direct access to video memory to draw out of a window or in a window from another program and more.
|
INTERESTING ASPECTS |
Through this programs, I have been able to have an overview of what Windows 32 API functions can offer. I have become aware that any application will need the usage of those functions to be fully a Windows standard.
|
DIFFICULTIES ENCOUNTERED |
The main difficulties I encountered in the last two weeks came from the fact that some interesting functions that are included in Delphi are missing in Visual Basic 5. Some examples are :
- the automatic resizing of the control in a form when the form is resized,
- the lack of layout managers, splitter bars and other components that allows to give a look to your application that wouldn't change when it's resized,
- there is no easy way to have an access to Win 32 API functions, each function has to be declared in the Visual Basic way. An API viewer is included in the VB package but it includes no help about the functions and is not really efficient.
Yet, there is a lot of solutions on the internet to get rid of this problems, which implies that this are known problems, but most of the solutions are home-made by particular developers for their own usage and they're not all well made and are often a source of new problems.
I have also still some problems to compile my projects. I can create an application without any problem with all the computers except mine. I think it should be a configuration but I found no way to correct this problem. When I try to create my application it only pops up an error message "Internal compiler error".
|
ENHANCED SKILLS |
In the last two weeks I have been able to study a lot of Windows functions and understand how it was working basically. I really liked looking for everything I could find on the Internet dealing with Windows programming which was something I had never done before. It has not been easy in the beginning because I was always looking for functions that would resemble those from Linux but everything is so different.
I have also been able to control the lists and the files with Visual Basic which is really important for the project since I have a lot of files to process.
|
SCREENSHOTS |
 |

The first program I wrote launches the DOS program for each file to convert them from the compressed format to an easy-to-read format.
The left column is a list of files to convert and the right column is a list of files already converted.
As it takes a long time to process, it is possible to do it in several times without doing again the same files.
|
 |
The second program takes the readable files, extracts the interesting fields and compiles them in one single file.
Again, it takes a long time to do, although the estimated remaining time shown here is a bit pessimistic.
|
 |
The third program, which is not yet finished, is a front-end interface that let the user give the information that will be needed by the Network to be trained.
It will be the longest part of the input file generation because the user needs to specify for each alarm if it is a real one or not.
|
|