Registriert seit: 18. Mär 2005
1.682 Beiträge
Delphi 2006 Enterprise
|
Re: drag and drop filter funktioniert nicht
18. Jan 2007, 19:50
Hallo,
Du verwendest ja auch DragQueryFile falsch. Ich habe mal den korrekten Quellcode kommentiert:
Delphi-Quellcode:
procedure TForm2.WMDROPFILES (var Msg: TMessage);
var
i, anzahl, size: integer;
Dateiname: PChar;
begin
ListA.Clear;
// Anzahl der Dateien ermitteln
anzahl := DragQueryFile(Msg.WParam, $FFFFFFFF, nil, 255);
// Alle Dateien durchlaufen
for i := 0 to Anzahl - 1 do
begin
// Länge des aktuellen Dateinamens ermitteln
Size := DragQueryFile(Msg.WParam, i, nil, 0) + 1;
// Speicher allokieren
Dateiname := StrAlloc(Size);
try
// Aktuellen Dateinamen ermitteln
DragQueryFileMsg.WParam, i, Dateiname, Size);
// Wenn MP3 -> in Liste einfügen
if LowerCase(ExtractFileExt(Dateiname)) = '.mp3' then
ListA.items.add(Dateiname);
finally
// Speicher wieder freigeben
StrDispose(FileName);
end;
end;
// Dateien in andere Liste übertragen
ListB.Clear;
for i := 0 to listA.Items.Count - 1 do
ListB.Items.Add(inttostr(i + 1)+'. ' + extractfilename(listA.Items[i]));
end;
Gruß
xaromz
I am a leaf on the wind - watch how I soar
|
|
Zitat
|