Klammern setzten?
if not (f.name = '.') then
.
NOT hat Vorrang vor =, was dann für den Compiler
if (not f.name) = '.' then
bedeuten würde.
Ansonsten ... wozu NOT?
if f.name <> '.' then
, bzw
if (f.name <> '.') and (f.name <> '..') then
.
[edit]
zu langsam