Welche Schleife man nimmt, hängt davon ab, ob die Abbruchbedingung schon vor der Schleife feststeht, oder erst innerhalb der Schleife ermittelt werden kann.
Beim Auslesen von Ordnern z.B. wird man
while FindNext() verwenden, beim Abrufen von Datensätzen
while not Dataset.Eof usw. Repeat ist dagegen angebracht, wenn sicher zumindest ein Durchlauf erfolgen muß und dabei erst festgestellt wird, ob die Abbruchbedingung erfüllt ist.