Delphi-PRAXiS
Seite 2 von 6     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Parameter SCHNELL an Hauptprog weiterleiten (https://www.delphipraxis.net/35710-parameter-schnell-hauptprog-weiterleiten.html)

MedanoCC 12. Dez 2004 13:03

Re: Parameter SCHNELL an Hauptprog weiterleiten
 
Ich bin mir da nicht hundertpro sicher, aber ich bezweifle, dass der Explorer, wenn mehrere Dateien markiert sind, nicht die Möglichkeit besitzt, diese nicht einzeln sondern als "Paket" an ein Programm zu übergeben, sprich so eine Art "Filelist" zu übergeben.

Solltest Dich mal in der MSDN umschauen. Bei 100 einzelnen Files wäre das in der Tat immer extrem langsam. Wie macht das WinAmp oder der Realplayer bzw. der Mediaplayer? Dort gibts doch den Eintrag im Explorer "Zur Wiedergabeliste hinzufügen". Welche Werte werden hier in der Registry gesetzt?

nailor 12. Dez 2004 13:07

Re: Parameter SCHNELL an Hauptprog weiterleiten
 
Zitat:

Zitat von MedanoCC
Ich bin mir da nicht hundertpro sicher, aber ich bezweifle, dass der Explorer, wenn mehrere Dateien markiert sind, nicht die Möglichkeit besitzt, diese nicht einzeln sondern als "Paket" an ein Programm zu übergeben, sprich so eine Art "Filelist" zu übergeben.

das ist normal so, dass die dateinamen in ParamStr(1) bis ParamStr(ParamCount) ankommen.

fkerber 12. Dez 2004 13:08

Re: Parameter SCHNELL an Hauptprog weiterleiten
 
Hi!

Bei Winamp steht in beiden Fällen nur ein %1 dahinter. Allerdings wird beim hinzufügen zur Liste noch ein anderer Parameter übergeben (aber kein Platzhalter sondern /ADD)


Ciao Frederic

Nogge 12. Dez 2004 13:23

Re: Parameter SCHNELL an Hauptprog weiterleiten
 
ich war mal auf der MSDN seite, aber das ist mir alles viel zu unübersichtlich. ich habe keine ahnung, unter welcher kategorie ich dort suchen muss ;_;
kann mir hier niemand z.B. nen beispiel sourcecode posten oder einen direkten link geben? wenn das mit solch einem paket wirklich geht, dann wäre das wohl DIE lösung, nur wie soll das funktionieren?^^
btw. bitte postet keine neuen fragen, sondern eröffnet selber nen thread. Erklärungen für ParamStr(0) bzw. ParamStr(1) sowie ParamCount findet ihr alle in Delphi-Praxis-Forum.

stoxx 12. Dez 2004 15:42

Re: Parameter SCHNELL an Hauptprog weiterleiten
 
sorry Nogge, hab wahrscheinlich Deine Frage zu ungenau gelesen, dachte es ging um DDE oder Datenübertragung, Du willst ja mit dem Explorer kommunizieren .. :coder2:

Luckie 12. Dez 2004 22:40

Re: Parameter SCHNELL an Hauptprog weiterleiten
 
Mal eine andere Frage: Werden die dateien nur in einer Liste hinzugef+gt oder machst du noch was anderes mit denen (ID3 Tags auslesen, ...)?

Ansonsten probier mal: oneinst von Nico http://www.luckie-online.de/Delphi/Importe/Nico/

Nogge 13. Dez 2004 13:36

Re: Parameter SCHNELL an Hauptprog weiterleiten
 
hab mir das project mal angesehen, jedoch funktioniert die exe nicht so, wie ich möchte (s. erläuterung) und zweitens verstehe ich die .pas nicht so wirklich...
erläuterung:
als ich z.B. 40 mp3s markiert hatte und diese mit der project1.exe von OneInst öffnen wollte, wurde nur EINE mp3 hinzugefügt...ich möchte ja alle markierten dateinamen in meine liste habe und das schneller, als bisher (z.B. wie bei winamp). vllt kann man ja mehrere dateinamen mit dieser variante (OneInst) hinzufügen, nur fehlt mir dafür das nötige wissen ;_;
um deine frage zu beantworten: ja, ich möchte natürlich auch id3 tags usw. auslesen.

jim_raynor 13. Dez 2004 13:46

Re: Parameter SCHNELL an Hauptprog weiterleiten
 
So wie ich dich verstanden habe zu du jetzt die MP3 Dateien auf eine Exe? Wenn ja, wird für jede Datei ne neue Instanz gestartet. Dein Programm würde also 40 mal gestartet dann jeweils eine Nachricht abgeschickt. Das dauert natürlich. Winamp löst es doch anders, wenn ich mich Recht erinnere. Dort werden die Dateien doch direkt auf das Fenster der Anwendung gezogen, oder?

DragAcceptFiles sollte deine Lösung sein. Dann können die Dateien auch direkt in die Anwendung gezogen werden. Also Beispiel habe ich das hier gefunden:

http://www.chami.com/tips/delphi/111196D.html

Ob es funktioniert, keine Ahnung. Aber der Ansatz sollte hoffentlich klar werden.

Nogge 13. Dez 2004 14:11

Re: Parameter SCHNELL an Hauptprog weiterleiten
 
jim_raynor, du verstehst mich ;-) du hast exakt mein problem beschrieben. es dauert mir einfach zu lange bis meine wie im beispiel 40 instanzen geöffnet und wieder geschlossen werden. der ansatz ist klar und wirklich gut, nur weiß ich nicht, wie ich das umsetzen kann. bei windows macht das die maus ja ganz simpel, ohne man das selbst etwas machen muss (außer "procedure DragAcceptFiles( var msg : TMessage ); message WM_DROPFILES;"). das empfangen ist einfach mit dieser procedure, nur muss ich jetzt ja irgendwie senden können (was die maus automatisch macht).

jim_raynor 13. Dez 2004 15:15

Re: Parameter SCHNELL an Hauptprog weiterleiten
 
Das mit DragAccecptFiles musst du in deine laufende Anwendung einbauen. Ein Extra-Programm brauchst du nicht mehr. In der Prozedur in der die WM_DROPFILES Messages (in dem Beispiel AcceptFiles) abgefangen wird, wird dann einfach, statt der Ausgabe mit MessageBox die Dateien deiner Liste hinzugefügt.

Du darfst also nicht mehr die Dateien auf die Exe ziehen, sondern musst diese direkt auf das Formular der Anwendung ziehen.

Wie man das Drag'n'Drop auf die Exe beschleunigen kann, weiss ich leider nicht. Auch hat dieses DragAcceptFiles nichts damit zu tuen. Aber zumindestens kannst du dann die Dateien in die laufende Anwendung ziehen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:33 Uhr.
Seite 2 von 6     12 34     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz