Der komplette Artikel ist im Blog von Danny Thorpe nachzulesen (
klück).
Mithilfe der neuen Syntax kann man einfacher über Container-Klasse iterieren. Abstrakt sieht das so aus:
for <variable> in <container expression> do <statement>;
Das Schöne daran ist, dass dieses Konstrukt ein Teil der Delphi-Language werden wird, also nicht auf .NET-Anwendungen beschränkt ist, sondern auch für
Win32-Anwendungen genutzt werden kann.
Ein Beispiel mit einem Array:
Delphi-Quellcode:
type TStringArray = array of String;
procedure Demo1(const List: TStringArray);
var
S: String;
begin
for S in List do
writeln(S);
end;
Gleiches geht prinzipiell auch mit einer .NET StringCollection:
Delphi-Quellcode:
procedure Demo2(List: System.Collections.Specialized.StringCollection);
var
S: String;
begin
for S in List do
writeln(S);
end;
Zum Schluss gibt's noch einen Ausblick auf mögliche Erweiterungen:
Aus dem Blog von Danny Thorpe:
Idea: Implement the enumerator pattern or interface on a dataset class. Poof! for DataRow in SQLQuery do ...
Idea: Enumerable file/directory search class. Poof! for filename in FileSearch(*.pas) do ...
Idea: For emailAddress in OutlookAddressBook do Spam.a.Matic(...)
Daniel R. Wolf
mit Grüßen aus Hamburg