Danke für Deine Antwort und den Source-Code.
Funktioniert unter W98 einwandfrei. Unter W2000 wird allerdings vor den Dateinamen kein Icon oder nur ein nicht dazupassendes angezeigt.
So lese ich die einzelnen Dateien ein:
Code:
procedure VerzeichnisEinlesen(VerzName, filter:string);
var NewItem : TListItem;
Info : TSHFileInfo;
SR : TSearchRec;
dgroesse: String; // Dateigröße-Text
dsize : Integer; // Dateigröße
begin
if VerzName[length(VerzName)]<>'\' then
VerzName:=VerzName+'\';
if filter='' then filter:='*.*';
with FormShredExplor do begin
ListView.Items.Clear;
if FindFirst(VerzName+filter,faAnyFile-faDirectory ,SR)=0 then begin
repeat
if (length(SR.Name)>0) and (SR.Name[1]<>'.') then begin
NewItem:=ListView.Items.Add;
NewItem.Caption:=SR.Name;
SHGetFileInfo(PChar(VerzName+SR.Name),0,Info,SizeOf(TSHFileInfo),SHGFI_SYSIconIndex or SHGFI_TYPENAME);
NewItem.ImageIndex:=Info.IIcon+2;
dSize:=Round((SR.Size/1024)+0.5);
dGroesse:=IntToStr(dSize);
if Length(dgroesse)>3 then Insert('.',dGroesse,Length(dgroesse)-2);
if Length(dgroesse)>7 then Insert('.',dGroesse,Length(dgroesse)-6);
NewItem.SubItems.Add(dGroesse+ ' KB');
NewItem.SubItems.Add(Info.szTypeName);
end;
until FindNext(SR)<>0;
FindClose(SR);
end;
end;
end;
Was mach ich falsch????
Gruß
Thomas