So geht's richtig (so wie es mkinzler schon angedeutet hat
und natürlich auch DeddyH):
akt. Datum und Geburtstag nach Jahr,Monat und Tag zerlegen. (
DecodeDate()-Funktion)
Alter = AktJahr-GebJahr;
Jetzt muss man noch prüfen, ob man dieses Jahr schon Geburtstag hatte.
Falls nicht, muss ein Jahr vom Alter abgezogen werden.
Delphi-Quellcode:
if (GebMonat*100+GebTag) > (AktMonat*100 + AktTag)
then
Dec(Alter);
// anstelle der Zahl 100 hätte man jede Zahl >= 31 nehmen können
// Hardcode Programmierer würden hier 32 nehmen und als "shl 5" einbauen