Einzelnen Beitrag anzeigen

xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#9

Re: drag and drop filter funktioniert nicht

  Alt 18. Jan 2007, 18: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)) = '.mp3then
        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
  Mit Zitat antworten Zitat