Einzelnen Beitrag anzeigen

Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#11

Re: Alle Controls mit FOR-IN durchlaufen?

  Alt 5. Jun 2005, 11:07
Hallo marabu,

der Grund ist wahrscheinlich der fehlende Enumerator. sakura hat mal ein gutes Beispiel gepostet, wie man diese Funktionalitaet nachtraeglich noch einbauen kann: zum Beitrag
In Delphi 7 gibt es das for-in-do-Konstrukt leider nicht, also wirst du dort immer noch auf die "alte" Variante mit Laufvariablen zurueckgreifen muessen, ausser du baust dir irgendwie einen Enumerator rein, und machst manuell das, was der Delphi-Compiler fuer dich reinschreibt:
Delphi-Quellcode:
with SomeCollection.GetIEnumerator() do
begin
  while MoveNext() do
  begin
    Current.SomeProperty := SomeValue;
  end;
end;
Am Ende ist es das, was der Compiler aus deiner for-in-do-Schleife macht. Der einzige Unterschied ist hier die Verwendung von GetIEnumerator anstatt GetEnumerator in Delphi 2005. Warum das so ist, weiss ich im Moment auch nicht

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat