Hi!
Die Abbruchbedingung der Schleife bezieht sich auf einen Wert, der sich während des Schleifendurchlaufs gar nicht ändert! D.h. hierbei:
Quelltext
1: 2: 3:
| repeat edit1.text := inttostr(random(z)); until a>0; |
bleibt a unverändert. War es am Anfang kleiner oder gleich Null, wird es dass bis in alle Ewigkeit bleiben, weil es sich während der Schleife nicht ändert und diese auch keine VEranlassung hat abzubrechen.
Aber Du brauchst die Schleifen gar nicht. Wenn die Null nicht vorkommen soll, verminderst Du das Argument, welches du momentan in der Randomfunktion hast, um eins und addierst eins zur erzeugten Zufallszahl hinzu. Damit erhälst Du immer einen Wert, der größer oder gleich eins ist.
MfG,
Peter
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".