Du machst
inttostr(strtoint(label11.caption)+strtoint(RadioG roup1.Items.Strings[i]))
Doppelte Konvertierung -> das kannst Du Dir schenken -> macht es wieder ein Stück übersichtlicher.
Dann schreibst Du
RadioGroup1.Items.Delete(i);
Das kannst Du ersetzen durch
RadioGroup1.Items.Ckear;
und diesen Befehl vor die for-Schleife.
aus
if a=0 then label1.Caption:='zwei';
if a=1 then label1.Caption:='drei';
...
kannst Du ein case machen. Das geht schneller und ist besser lesbar.
Dann kannst Du alle gleichen
if a= in den gleichen case-Fall stecken.
Dann solltest Du Dir mal den Borland StyleGuide reinziehen.
Da wird z.B. festgelegt, was man wann gross oder klein schreibt; wie man Variablen und Komponenten benennt; wie man die Einrückung macht; usw.
Soweit nur mal zur Programmierung.
Zu der Logik schreibe ich vielleicht später noch etwas, wenn Du meine obigen Anmerkungen umgesetzt hast.
Durch diesen Wust an Quellcode wühle ich mich nicht weiter durch.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.