Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Markierte Dateien öffnen (https://www.delphipraxis.net/50474-markierte-dateien-oeffnen.html)

steppo 26. Jul 2005 11:31


Markierte Dateien öffnen
 
Hi Leute,

unter Windows kann mann mehrere Dateien des gleichen Typs (z.B. *.tif) markieren und dann öffnen!

Wie funktioniert das?

Wird diese Selektion in den Zwischenspeicher geladen und dann als Parameter an die Anwendung übergeben?

Wenn ja, wie lese ich den Zwischenspeicher aus?

Gruß Steppo

jaenicke 26. Jul 2005 14:39

Re: Markierte Dateien öffnen
 
Also entweder programmierst du eine DLL, die dann die gesamte Selektion auf einmal bekommen kann und auch im Kontextmenü Feedback zur Auswahl anbieten kann (Beispiel: Menü-Befehl mit "Alle 43 Dateien mit xxx öffnen" beschriften).

Oder aber (und deutlich einfacher) du reagierst einfach auf Parameter (ParamStr), die an die Exe übergeben werden. Gegebenenfalls musst du diese Parameter dann an eine bereits laufende Instanz übergeben, damit alle Dateien in derselben Instanz geöffnet werden.

Wie man das in der Registry einträgt? Da gibts viele Komponenten, einfach mal bei Google suchen.
Und ne Beschreibung des Teils der Registry steht hier:
Beschreibung gibts hier

leddl 26. Jul 2005 14:46

Re: Markierte Dateien öffnen
 
Mit jeder Datei wird eine neue Instanz deines Programmes aufgerufen. Das heißt, du mußt erstmal verhindern, daß dein Programm mehrmals gestartet werden kann (zB über eine Mutex). Dann mußt du - falls bereits eine Instanz läuft - die übergebenen Parameter (also in deinem Fall den Dateinamen) per Message an das bereits laufende Programm schicken und dort auswerten.
:gruebel: Ich meine, hier oder im DF mal was dazu gesehen zu haben. Könnte aber auch bei den Schweizern gewesen sein. Ansonsten Google bemühen, da findet sich garantiert ein Beispiel dazu.

steppo 27. Jul 2005 08:33

Re: Markierte Dateien öffnen
 
Wenn ich Paramstr verwende, kann ich die Werte doch auch statisch abfragen, oder?
Ich brauche nicht mit Paramcount zu arbeiten, richtig!

Also:
Paramstr[0],Paramstr[1], u.s.w

Gruß Steppo

leddl 27. Jul 2005 08:40

Re: Markierte Dateien öffnen
 
Aber genau das "usw" ist ja das Problem! ;) Du mußt ja damit rechnen, daß der User ein absoluter DAU ist. Dann weißt du nicht, wie viele Parameter er übergibt. Das können 3 mehr als gewollt sein, aber eben auch 2 weniger. Dann kommst du mit dem statischen Auslesen nicht weit. Daher solltest du mit ParamCount zuerst prüfen, ob überhaupt genug Parameter dabei sind.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:37 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