Software

Software

Als je allebei in de software-wereld werkt, dan kunnen er in de vrije tijd ook wel eens nuttige programmaatjes gemaakt worden. Ze vallen eigenlijk in twee categoriën uiteen: kleine programmaatjes gebaseerd op Delphi en uitgebreide database functionaliteit gebouwd op Access. Ze zijn duidelijk gemaakt voor eigen gebruik en meestal nog midden in de ontwikkelingsfase. Maar mocht het een probleem voor je oplossen, of wil je meer informatie hebben, dan kun je ons altijd mailen.

Dankzij onze werkkring worden wij regelmatig door ondeskundigen als deskundig beschouwd. Zo heeft Marjan voor het clubblad van Bridgeclub de Tempel een stukje geschreven over internet, beveiliging en privacy.

Yahtzee

Ken je dit dobbelspel? Marjan heeft het een keer gemaakt naar aanleiding van een Sinterklaassurprise. Er zijn twee spelvormen mogelijk: gewoon met één rijtje werken, of met drie rijtjes, waarbij het eerste vrij ingevuld mag worden, het tweede van boven naar beneden en het derde van beneden naar boven. Nog een heel gedoe om voor die laatste vorm een goede speltaktiek te vinden! Er moet eigenlijk ook nog een topskorelijst bij.

Hypotheek doorrekenen

Toen Marjan wat meer verstand kreeg van hypotheken, heeft ze een programmaatje gemaakt wat onze spaarhypotheek doorrekent. Wat gebeurt er als we de rente voor zoveel jaar vastzetten en de echte rente schiet omhoog of omlaag? Hoeveel kost het me om met behulp van een aflossingsvrije hypotheek zelf een eigen spaarhypotheek te construeren, en wat moet ik dan maandelijks betalen? En meer van dat soort vragen die bij je opkomen als je een hypotheek gaat afsluiten.

Mah-jongg skore

Een prachtig oud Chinees spel, een ingewikkelde vorm van jokeren. Hartstikke leuk, maar o wee als er een ronde afgelopen is. Dan moet je de geskoorde punten tellen en verwerken. Voor dat laatste heeft Marjan een programmaatje geschreven, dat rekening houdt met oostenwinden, heersende winden en draaiende winden. Moet je wel de computer hebben aanstaan als je aan het spelen bent.

Bridgeskore

Gezellig met zijn vieren een avondje bridge? Marjan heeft iets gemaakt om de skore op een avond bij te houden. Moet verdorie weer de computer de hele avond aanstaan.

Educatief

Tja, dat krijg je als de kleine naar school gaat. Daar hebben ze best leuke programmaatjes op de computer, maar die mag je niet mee naar huis nemen. Voor een software-ontwikkelaar is dat geen probleem, dan maken we ze toch gewoon zelf? Marjan heeft een spelletje gemaakt voor rekenen, met optellen, aftrekken, vermenigvuldigen en delen. En eentje voor spelling, met aandacht voor speciale thema´s als ei/ij en ou/au. Bij ons hielp het, en we hebben er nog een paar andere ouders blij mee gemaakt ook.

Tafeltennis-competitie database

In samenwerking met de voormalig wedstrijdleider van de Tafeltennis Liga Eindhoven, Huub van de Wiel, heb ik een Access-database gemaakt waarmee de competitie gedraaid kan worden. Verenigingen, teams, spelers, klasses, wedstrijdschema's, standenlijsten, individuele resultaten, licenties, invallers, de hele boel zit erin. Alleen de bekercompetitie valt erbuiten. Naast de normale Access-rapporten zijn er ook rapporten die HTML-pagina's genereren voor publicatie op het internet.

Muziek database

Tegenwoordig een uitgebreide Access-database om muziek-informatie (Artiesten-Albums-Tracks) op te slaan. De database heeft al een hele lange historie, want ik gebruik hem altijd om ontwikkel-gereedschappen te testen. Het is als een heuse kaartenbak begonnen, en werd lange tijd in de tekstverwerker WordPerfect bijgehouden. Dbase III, Unify en Turbo Pascal (wie kent dat nog allemaal?) faalden hopeloos. De eerste goed werkende versie werd geschreven in C++ op MFC 1.0. Nou ja, goed werkend, heel erg zuinig met zijn resources was hij niet. Op Windows 95 was het dan ook een stuk stabieler dan Windows 3.1. Access 1 en 2 konden het ook niet behappen, maar Access 97 bevatte genoeg middelen om de oversteek te wagen.

Het is een vrij complex datamodel, zodat er veel flexibiliteit mogelijk is. Het probleem is dan ook om de bediening simpel te houden. Een kort overzicht: uitgebreide artiesteninformatie (foto, biografie, website, bezetting, groeperen van artiesten), labelinformatie (logo, geschiedenis, website), albuminformatie (titel, hoes, beschrijving, bezetting, studio's, artiest(en), label, bestelnummer, jaar, tijdsduur, medium, website, splitsen van albums), trackinformatie (titel, tijdsduur, tekst, tekst- en muziekschrijver, gastmuzikanten, jaar, splitsen van tracks), bandinformatie (type, tracks), persoonsinformatie (foto, biografie), en studioinformatie (plaats, foto). Ik heb een apart import/export formaat ontwikkelt, maar er is ook een XML import/export module. De artiesten- en albuminformatie kan in een HTML-pagina's gegenereerd worden, dit gebruik ik ook om de muziekpagina's op deze website te produceren. Verder zitten er nog kleine snufjes in als het bijhouden van totalen (en historie ervan) en hiaten in de kennis.

Bier database

Dit is een Access database waarin bierflesjes en bierglazen per brouwerij en per land worden bijgehouden. Voorzien van uitgebreide rapportage mogelijkheden, waaronder in HTML. Weet je wat veel erger is dan die dingen in een database stoppen? Ze afstoffen... Nee, bier is toch het leukste als je het drinkt.

Boeken database

Recht toe recht aan database waarin boeken kunnen worden opgeslagen. Schrijver, uitgever en ISBN-nummer is geen probleem, er zit zelfs een primitieve uitleenadministratie bij. Ook hier kunnen HTML pagina's mee worden gegenereerd.

Verwijzingen

Naam Opmerking
Bestandsformaten Op ieder bestandje past wel een sleuteltje
Codeguru Alles wat je altijd al had willen weten, maar te bang was om te vragen
Codeproject En als je het dan nog niet weet...
CSS play Cascading Style Sheets example site
Graphic gems Grafische hulpfuncties
Don Knuth's homepage Schijnt ook heel aardig te kunnen programmeren...
Koders Zoeken in open source software
Math World Als je iets van wiskunde wilt weten en het schiet even niet te binnen...
Paintlib Conversie van grafische formaten
Sourceforge Open source software in alle soorten en maten