Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
Delphi 2006 Architect
|
Re: Mehrere Dateien vom Explorer per Drag & Drop in List
9. Okt 2004, 20:04
mein Quelltext
Delphi-Quellcode:
procedure FindAllFiles(var FileList: TStrings; RootFolder: string; Mask: string =
'*.*'; Recurse: Boolean = True);
var
SR: TSearchRec;
begin
if AnsiLastChar(RootFolder)^ <> '\' then
RootFolder := RootFolder + '\';
if Recurse then
if FindFirst(RootFolder + '*.*', faAnyFile, SR) = 0 then
try
repeat
if SR.Attr and faDirectory = faDirectory then
// --> ein Verzeichnis wurde gefunden
// der Verzeichnisname steht in SR.Name
// der vollständige Verzeichnisname (inkl. darüberliegender Pfade) ist
// RootFolder + SR.Name
if (SR.Name <> '.') and (SR.Name <> '..') then
FindAllFiles(FileList, RootFolder + SR.Name, Mask, Recurse);
until FindNext(SR) <> 0;
finally
FindClose(SR);
end;
if FindFirst(RootFolder + Mask, faAnyFile, SR) = 0 then
try
repeat
if SR.Attr and faDirectory <> faDirectory then
begin
// --> eine Datei wurde gefunden
// der Dateiname steht in SR.Name
// der vollständige Dateiname (inkl. Pfadangabe) ist
// RootFolder + SR.Name
FileList.Add(RootFolder + SR.Name);
end;
until FindNext(SR) <> 0;
finally
FindClose(SR);
end;
end;
Delphi-Quellcode:
procedure TForm1.WMDROPFILE(var msg: TMessage);
var LCount, Lanzahl, Lsize: integer;
LDateiname: PChar;
begin
LDateiname := '';
Lanzahl := DragQueryFile(Msg.WParam, $FFFFFFFF, LDateiname, 255);
for LCount := 0 to (Lanzahl - 1) do
begin
Lsize := DragQueryFile(Msg.WParam, LCount, nil, 0) + 1;
LDateiname := StrAlloc(Lsize);
DragQueryFile(Msg.WParam, LCount, LDateiname, Lsize);
If (ExtractFileExt(lowercase(String(Ldateiname))) = '.ico') or
(ExtractFileExt(lowercase(String(Ldateiname))) = '.bmp') or
(ExtractFileExt(lowercase(String(Ldateiname))) = '.jpg') or
(ExtractFileExt(lowercase(String(Ldateiname))) = '.jpeg') then
Listbox1.Items.add(String(Ldateiname));
// do Something with "LDateiname"
StrDispose(LDateiname);
end;
// FDropProc(LFileList);
DragFinish(Msg.WParam);
end;
und wo muss jetzt was rein? ich hasse meinen Stil
Nico Müller
|
|
Zitat
|