noch ein klitzekleines Problem:
wie bekomme ich die Einträge von Dir und Files in der Listview untereinander rein ?
Es funktioniert das mit den Directories, aber beides?
Delphi-Quellcode:
//Dateien und Ordner in die ListView eintragen
procedure ShowFiles(ShowList: TListView; Rekursive: Boolean; ShowDir: Boolean);
var
I: Integer;
begin
if ShowList.Name = 'media' then
begin
if ShowList.Selected <> nil then Path := Copy(ListMedia.Selected.SubItems.Text,0, length(ListMedia.Selected.SubItems.Text)- 2);
if FileExists(Path) then //Ist der Pfad eine Datei ?
begin
Path := GetPreviousDirectory(Path);
Path := GetPreviousDirectory(Path);
end;
DirLst := TStringList.Create; //Temponäre Listen erstellen
FileLst := TStringList.Create;
FindAllFiles(DirLst, FileLst, Path, FileMask, Rekursive, True, True); //Alle Ordner und Dateien in Liste schreiben
ShowList.Clear;
if ShowDir then //Ordner anzeigen wenn True
begin
for I := 0 to DirLst.Count-1 do //Dir-List durchzählen
begin
with ListMedia do //Neuen Ordner hizufügen
begin
Items.Count := DirLst.Count;
end;
end;
end;
for I := 0 to FileLst.Count-1 do //File-List durchzählen
begin //Die Dateien werden unter den Ordnern angezeigt
with ListMedia do
begin
//Items.Count := FileLst.Count;
end;
end;
end;
end;
procedure TForm1.ListMediaData(Sender: TObject; Item: TListItem);
begin
if (Item=nil) then Exit;
with Item do
begin
Caption:= ExtractFilename(DirLst.Strings[index]);
SubItems.Add(DirLst[index]);
ImageIndex := 0; //Ordner-Icon zuweisen
//Caption:= ExtractFilename(FileLst.Strings[index]);
//SubItems.Add(FileLst[index]);
//ImageIndex := 1; //Datei-Icon zuweisen
end; // with Item
end;
Grüße, bluescreen25