Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Ordner einer Datei öffnen (https://www.delphipraxis.net/72782-ordner-einer-datei-oeffnen.html)

xZise 6. Jul 2006 16:58


Ordner einer Datei öffnen
 
Ich möchte den Ordner einer Datei öffnen. Wenn folgendes
Delphi-Quellcode:
ExtractFilePath(Speichern.Filename)
'C:\'
ist, dann möchte ich den Ordner öffnen:
Zitat:

explorer C:\
Das mache ich auch:
Delphi-Quellcode:
ShellExecute(Application.Handle, 'open', PChar('"explorer ' + ExtractFilePath(Speichern.FileName) + '"'), nil, nil, SW_SHOWNORMAL);
Leider geht das nicht :(

DGL-luke 6. Jul 2006 17:03

Re: Ordner einer Datei öffnen
 
lass doch den explorer einfach mal weg, über 'open' sollte der aufruf schon wissen, dass der explorer gebraucht wird.

du solltest außerdem den string, den du übergibst, vorher mal per showmessage anzeigen lassen - evtl. steckt da irgendwo der hund drin.

Christian Seehase 6. Jul 2006 17:04

Re: Ordner einer Datei öffnen
 
Moin Fabian,

schau Dir doch mal genau die Parameter von ShellExecute an, und vergleiche sie mit dem was Du da angeben willst.

3_of_8 6. Jul 2006 17:04

Re: Ordner einer Datei öffnen
 
Delphi-Quellcode:
ShellExecute(Application.Handle, 'open', PChar('explorer'), PChar(ExtractFilePath(Speichern.FileName)), nil, SW_SHOWNORMAL);
So könnts funktionieren.
Schließlich werden bei ShellExecute Parameter extra übergeben, nicht im Dateinamen.

DGL-luke 6. Jul 2006 17:06

Re: Ordner einer Datei öffnen
 
erstens das, und zweiten mag cmd die zeichenfolge '"explorer.exe C:\"' (inkl. double quotes) überhaupt nicht, wie ich gerade ausprobiert habe.

Daniel G 6. Jul 2006 17:06

Re: Ordner einer Datei öffnen
 
So geht's:

Delphi-Quellcode:
ShellExecute(Application.Handle, 'open', PChar(ExtractFilePath(Speichern.FileName)), nil, nil, SW_SHOWNORMAL);

BlueStarHH 6. Jul 2006 17:17

Re: Ordner einer Datei öffnen
 
Statt 'open' (Dateien ausführen/öffnen) würde ich 'explore' (Ordner anzeigen) nehmen, so wie von Microsoft vorgesehen:

Delphi-Quellcode:
ShellExecute(Application.Handle, 'explore', PChar(ExtractFilePath(Speichern.FileName)), nil, nil, SW_SHOWNORMAL);

xZise 6. Jul 2006 17:18

Re: Ordner einer Datei öffnen
 
Zitat:

Zitat von DGL-luke
lass doch den explorer einfach mal weg, über 'open' sollte der aufruf schon wissen, dass der explorer gebraucht wird.

Hmmm vielleicht ;)

Zitat:

Zitat von Christian Seehase
und vergleiche sie mit dem was Du da angeben willst.

Zitat:

Zitat von 3_of_8
Schließlich werden bei ShellExecute Parameter extra übergeben, nicht im Dateinamen.

Ist (leider) ein bisschen verwirrend. Ich habe auf Start >>> Ausführen geklickt. Dann musste ich explorer... eingeben ;) Deshlab dachte ich, ich könnte es übernehmen ^^

Zitat:

Zitat von DGL-luke
zweiten mag cmd die zeichenfolge '"explorer.exe C:\"' (inkl. double quotes) überhaupt nicht

Ja ;) Eigentlich sollten sie nur um den Dateinamen, weil im Parameter, die Leerzeichen ohne Locker, Flockig verloren gehen ^^ ;) Aber ohne und auch mit "" um den Pfad funzt es nicht ^^ Aber ich werds mit Parameter machen.

DGL-luke 6. Jul 2006 17:48

Re: Ordner einer Datei öffnen
 
Delphi-Referenz durchsuchenShellExecute ;)

(evtl. MSDN-Library durchsuchenShellExecute )

3_of_8 6. Jul 2006 18:08

Re: Ordner einer Datei öffnen
 
Tja, ShellExecute ist nunmal was total anderes als Ausführen.

copyfile ist ja schließlich auch was komplett anderes, als Bearbeiten->Kopieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:28 Uhr.
Seite 1 von 2  1 2      

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