AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Drag&Drop aus Explorer und Verzeichnisse
Thema durchsuchen
Ansicht
Themen-Optionen

Drag&Drop aus Explorer und Verzeichnisse

Ein Thema von Nils_13 · begonnen am 4. Mai 2007 · letzter Beitrag vom 5. Mai 2007
Antwort Antwort
Seite 1 von 2  1 2      
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#1

Drag&Drop aus Explorer und Verzeichnisse

  Alt 4. Mai 2007, 21:14
Hoi,

ich habe folgenden Code für das reinziehen von Dateien ins Programm aus dem Explorer heraus gefunden, aber möchte ihn nun so ausbauen, dass er auch Verzeichnisse kann. Wie wäre es möglich, eine Liste aller Dateien im Verzeichniss zu bekommen und wie bekommt man überhaupt mit, ob es ein Verzeichniss ist ?
Delphi-Quellcode:
procedure TfrmMain.WMDROPFILES(var Msg: TMessage);
var i, anzahl, size : Integer;
    Dateiname : PChar;
begin
  inherited;
  anzahl := DragQueryFile(Msg.WParam, $FFFFFFFF, Dateiname, 255);
  for i := 0 to (anzahl - 1) do
  begin
    size := DragQueryFile(Msg.WParam, i , nil, 0) + 1;
    Dateiname:= StrAlloc(size);
    DragQueryFile(Msg.WParam,i , Dateiname, size);
    AddSingleFile(StrPas(Dateiname));
    StrDispose(Dateiname);
  end;
  DragFinish(Msg.WParam);
end;
  Mit Zitat antworten Zitat
xaromz

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

Re: Drag&Drop aus Explorer und Verzeichnisse

  Alt 5. Mai 2007, 08:31
Hallo,

DragQueryFile macht keinen Unterschied zwischen Dateien und Ordnern. Du kannst sogar ein Laufwerk droppen. Wenn Du wissen willst, was genau da gedroppt wurde, musst Du es selbst rausfinden. Code hierfür sollte es im Forum zur Genüge geben.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
elundril

Registriert seit: 11. Feb 2007
Ort: Wien
74 Beiträge
 
#3

Re: Drag&Drop aus Explorer und Verzeichnisse

  Alt 5. Mai 2007, 08:40
einfach nachsehen obs ne extension hat.

lg ek
Michael
Bombing for peace is like fu**ing for virginity.
--------------
Tausend Lemminge können sich nicht irren.
  Mit Zitat antworten Zitat
xaromz

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

Re: Drag&Drop aus Explorer und Verzeichnisse

  Alt 5. Mai 2007, 08:59
Hallo,
Zitat von elundril:
einfach nachsehen obs ne extension hat.
Und was machst Du mit dem Verzeichnis im Anhang?

Gruß
xaromz
Miniaturansicht angehängter Grafiken
unbenannt_193.png  
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#5

Re: Drag&Drop aus Explorer und Verzeichnisse

  Alt 5. Mai 2007, 09:48
Delphi-Quellcode:
Function IsFile(Filename: String): Boolean;
Begin
    Result := FileExists(Filename) and not DirectoryExists(Filename);
end;
http://www.delphi-forum.de/viewtopic...184&highlight=
  Mit Zitat antworten Zitat
xaromz

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

Re: Drag&Drop aus Explorer und Verzeichnisse

  Alt 5. Mai 2007, 10:22
Hallo,

da es oft interessant ist, was sich hinter einem Dateinamen verbirgt, habe ich meine Komponente entsprechend erweitert. Zu finden ist die aktuelle Version in Zukunft in einem eigenen Thema: ShellDropper.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#7

Re: Drag&Drop aus Explorer und Verzeichnisse

  Alt 5. Mai 2007, 10:31
Ist die Unit WideString von ShellDrop wieder mal eine der ätzenden Units von den neueren Versionen ? Falls ja: sorg mal dafür, dass es auch abwärtskompatibel ist.
  Mit Zitat antworten Zitat
xaromz

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

Re: Drag&Drop aus Explorer und Verzeichnisse

  Alt 5. Mai 2007, 10:56
Hallo,
Zitat von Nils_13:
Ist die Unit WideString von ShellDrop wieder mal eine der ätzenden Units von den neueren Versionen ? Falls ja: sorg mal dafür, dass es auch abwärtskompatibel ist.
Da Du nicht der erste bist, der damit Probleme hat, gibt es eine neue Version mit eigener WideStringList-Implementierung. Aber Deine Forderung ("Sorg mal dafür...") ist absolut daneben . Und zum Thema ätzend: Natürlich wäre es besser, wenn in neuen Versionen keine neuen Features dazukommen würden. Eigentlich ist ein Faustkeil auch ausreichend. Manchmal fragt man sich schon...

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#9

Re: Drag&Drop aus Explorer und Verzeichnisse

  Alt 5. Mai 2007, 11:04
Ich dachte eigentlich nur, dass das eine der neuen Units wäre, die es in D7 nicht gibt, hätte ja sein können und da ich es hasse, wenn eine Komponente nicht abwärtskompatibel läuft, habe ich das so geschrieben.

Ich habe mir einfach mal deine Prozeduren zur Erkennung von Datenträgern, Ordnern und Dateien rausgenommen. Jetzt bleibt noch die Frage übrig, wie man sich eine Liste aller Dateien besorgt, falls es ein Verzeichniss ist. Das kann ich in deinem Code nicht nachvollziehen und da installieren nicht geht, bleibt mir keine Wahl, als das gerade bei mir ohne Komponente einzubauen, da das die letzte Sache vor dem Release ist und ich nicht schon wieder Wochen warten will (über 1,5 Jahre Verspätung hat das Programm immerhin.... ).
  Mit Zitat antworten Zitat
xaromz

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

Re: Drag&Drop aus Explorer und Verzeichnisse

  Alt 5. Mai 2007, 11:16
Hallo,
Zitat von Nils_13:
Jetzt bleibt noch die Frage übrig, wie man sich eine Liste aller Dateien besorgt, falls es ein Verzeichniss ist. Das kann ich in deinem Code nicht nachvollziehen...
Das Du da nichts nachvollziehen kannst, ist logisch, das ist nämlich nicht drin. Aber das ist doch ganz einfach: FindFirst/FindNext mit "Verzeichnis\*.*" als Parameter sollte Dir den Verzeichnisinhalt liefern.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz