Welcome to Quinn's Programming Web Page

        I have only been programming in Pascal for 2 and half years. This year I taught myself HTML. In class this year we also spent some time working in the Delphi 2.0 programming environment. For Computer Science Interational Bacchalaureate Higher Level we were required to write a "dossier" program meeting some strict requirements. I could have done more than one program, but was able to include all the requirements in one program. I decided to program a "generic" database management program for my dossier. This entails a database that can be adapted by the user. I allow the user to define the names, types and numbers of fields; whether to automatically save or not; what fields the database will automatically starts with; and other minor details. This database automatically puts new entries into the list in the order defined by the user. The database itself is a linked list of pointers inside an object. I have plans to vastly improve this program including allowing the user to open multiple databases, to adjust the interface, to show the entries more compactly, to increase the ease to get to an entry, to cut, paste and copy, to fix minor bugs, and better intuition and safeties against user error.

        This program evolved from several end-of-unit problems. The original was a phone directory of an array of 25 records. The records each had several string fields of varying length and a couple integer fields. The fields were all set and the size of the directory was also limited because of DOS memory. It could only be sorted by the "Last Name" field. Over time errors in this were fixed and some improvements were made. Then we had an assignment to use linked lists to create a phone directory. Since I had already done the previous directory, a lot of the thought on how to do many parts was already done, but the actual list needed to be handled completely differently because I was to use pointers instead of an array. This directory would have a relatively unlimited size, but was still not customizeable, had some errors, and could only be sorted be the "Last Name" field. For my dossier I put I needed to make a customizeable, more generic, database-creating program that used an object. I chose to put the entire linked list inside the object. The object would allow me to have multiple instances of the linked list (more than one open at once) and meet my teacher's criteria. This final program contains about 2000 lines of code and comments.


Assessment Criteria of Computer Science IB Higher Level Dossier

Criterion A Criterion B Criterion C Criterion D Criterion E Criterion F
Statement of Problem
and
Method of Solution
Algorithmic Represetation
  1. Pseudocode
  2. Structure Chart
  3. Flow Chart
Program Listing - Source Code
(but don't you dare copy it as your own!)
  1. Main program.
  2. Primary unit which contains the database object. 79 KB
  3. Secondary unit contains low-level user-aiding methods.
Testing and Robustness
~50 KB (several .gif images).
User Documentation Quality of Conclusion

Download an executable version of my program(43 KB).
I take no responsibility for what it may do to your computer, but it should work well on most IBM-compatible machines.
Possible uses of my program.

      This page and my related pages are optimized for Microsoft Internet Explorer 3, but there are some advantages to using Netscape Navigator 3.


Links to other web pages I created or helped create:

  1. Computer Science Home Page
  2. Social Studies Home Page - multimedia version
  3. Social Studies Home Page II - text and colour version
  4. Ukrainian Culture Home Page - my heritage
  5. Pakistan Culture Home Page - my help