Also mit deiner Methode lässt du den ersten Dateientrag immer aus, auch wenn dieser
meistens '.' ist.
Code:
var
sr: TSearchRec;
Item: TListItem;
begin
if FindFirst(s, faAnyFile, sr) = 0 then
repeat
if (sr.Name <> '.') then Continue;
Item := ListView1.Items.Add;
Item.Caption := sr.Name;
if sr.Attr and faDirectory <> 0 then
begin
if sr.Name <> '..' then ListView1.Items.Item[a].ImageIndex := 1
else ListView1.Items.Item[a].ImageIndex := 2;
end else
begin
Item.ImageIndex := 0;
end;
Item.SubItems.Add(InttoStr(sr.Size));
Item.SubItems.Add(DateTimetoStr(FileDateToDateTime(datei.time));
until FindNext(se) <> 0;
FindClose(sr);
end;
Die Dateien und Verzeichnisse sind dann aber durcheinander, was man jedoch über CustomSort regeln könnte. Es gibt natürlich auch noch andere Möglichkeiten.