Das eine ist eine Kopf-Abfrage, das andere eine Fuß-Abfrage.
Bei einer Kopf-Abfrage wird zuerst gefragt ob der in der Schleife befindliche Code ausgeführt werden soll.
Die Fuß-Abfrage wird genommen wenn der Code in der Schleife auf jeden Fall mindestens einmal ausgeführt werden soll.
Hier ein Beispiel für Fuß-Abfrage (ungeprüft):
Delphi-Quellcode:
var
s, s2: String;
begin
s := 'erster zweiter dritter vierter letzter'; // Beispiel mit Text
//s := ''; // Beispiel für leer
repeat
s := Trim(s);
if Pos(' ', s) > 0 then
begin
s2 := Copy(s, 1, Pos(' ', s));
Delete(s, 1, Pos(' ', s))
end
else
begin
s2 := s;
Delete(s, 1, Length(s))
end;
if s2 <> '' then
ShowMessage(s2)
else
ShowMessage('String ist leer');
until Length(s) = 0;
end;
Wenn s Text enthält werden alle Wörter einzeln angezeigt. Ist s leer, bekommt man den Hinweis, das s leer ist.
Fußabfragen werden meiner Kenntnis nach seltener genommen, da der Code zumindest einmal durchlaufen werden muß, und das muß erst nötig sein. Bei Kopfschleifen weiß man vorher auf was man sich einläßt.