genau passiert folgendes:
- Du legst eine lokale Variable an namens key vom Typ char
- Du fragst ab ob deine lokale Variable entweder 8 ist oder einen Wert von 48 bis 57 hat obwohl du deiner Variablen nie einen Wert zugweiesen hast. Entsprechend ist der Wert der Variablen unbestimmt.
- Wenn deine lokale Variable zufällig den gewünschten Wert hast setzt du sie auf 0. Allerdings wird dieser Wert nirgends mehr verwendet.
Mich wundert es das du keine Warnungen bekommst. Oder hast du diese einfach nur ignoriert?
Ich würde dir empfehlen einige Tutorals anzuschauen. Zum Beispiel die auf
http://www.delphi-treff.de/