Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Shellexecute übergeht Leerzeichen (https://www.delphipraxis.net/49365-shellexecute-uebergeht-leerzeichen.html)

MisterNiceGuy 10. Jul 2005 11:15


Shellexecute übergeht Leerzeichen
 
Hi ich öffne eine Bilddatei (*.bmp,*.jpg etc.) über Shellexecute mit Paint.

Delphi-Quellcode:
    shellexecute(Handle,'open',PChar(SysDir+'mspaint.exe'),c,nil,SW_SHOW);
Anmerkung: Sysdir ermittelt den Systemordner und c ist der Dateiname als array of char.
Lässt man sich diesen in einer Messagebox anzeigen, stimmt der Pfad der zu öffnenden Datei auch.

Problem: Sind Leerzeichen im Dateinamen enthalten, wird der Dateipfad/name "verpfuscht".

Beispiel:
Aus: C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Eigene Bilder\asd.bmp
wird: C:\Dokumente.bmp

Was kann ich bitte dagegen tun? Kann ich das Zeichen durch ein anderes Zeichen ersetzen?

Vielen Dank schonmal im Vorraus :)

jfheins 10. Jul 2005 11:16

Re: Shellexecute übergeht Leerzeichen
 
Die Argumente müssen dann in Anführungszeichen ( " ) stehen ;)

MisterNiceGuy 10. Jul 2005 11:18

Re: Shellexecute übergeht Leerzeichen
 
'Tschuldigung... Was sind Argumente? :lol:

jfheins 10. Jul 2005 11:20

Re: Shellexecute übergeht Leerzeichen
 
Sorry, meinte Parameter :oops: In deinem Fall hast du nur einen, den Dateipfad.
Du musstest also nicht C:\bla bla\bild.gif übergeben, sondern "C:\bla bla\bild.gif" ;)

MisterNiceGuy 10. Jul 2005 11:24

Re: Shellexecute übergeht Leerzeichen
 
omg, vielen Dank :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:54 Uhr.

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